【小笔记】时序数据分类算法最新小结

发布时间:2024年01月16日

2024.1.15
最近基于时序数据训练分类算法,对其进行了一番了解,主要围绕以下几点:

  • 时序数据算法有哪些细分类?
  • 时序数据分类算法经典模型?
  • 当下时序分类算法模型强baseline?
  • 有没有现成的工具?
    在这里插入图片描述

1.时序数据算法有哪些细分类?

时序数据(Time Series)简称TS
其包括两类算法:

  • 时间序列预测(Time Series Forecast,TSF)
    根据过去的时间序列预测未来一段时间的序列。eg:股价预测
  • 时间序列分类(Time Series Classify,TSC)
    根据一段时间序列预测其类别。eg:根据心电图预测是否有某类疾病;根据手环的传感器信号预测佩戴者当前的运动类型。

本文讨论TSC。
多说一点:时间序列根据其特征维度数量的不同,可以分为一元时间序列(TS只和一个特征相关)和多元时间序列(TS和多个特征相关)。

2.时序数据分类算法经典模型

通过我一通调研,直观总结出一下几类经典模型,具体模型细节不展开。

  • KNN+DTW
    这是比较早的一个解决方案,很长一段时间,DTW都是作为一个强baseline用来比较深度学习算法的性能
  • CNN类
    一维卷积神经网络在TSC中表现非常好,其中,2018年的TCN已经可以完全取代CNN,而后,出现了各种TCN变体。
    最新的SOTA算法也基本上有卷积神经网络。
  • RNN类
    RNN类(如LSTM,GRU)通常不适合TSC。
  • Transformer类
    这是新的研究趋势,而且效果不错

这里没有介绍具体的模型,因为很多都已经过时了,不需要过多了解,直接推荐下面的强baseline,花时间了解它们即可。

3.当下时序分类算法模型强baseline

经过我一番调研,最终荣获此殊荣的有以下几位:

InceptionTime

  • InceptionTime: Finding AlexNet for Time Series Classification Data Min. Know. Disc. 2020

在这里插入图片描述

HIVE-COTE家族

  • HIVE-COTE:Time Series Classification with HIVE-COTE: The Hierarchical Vote Collective of Transformation-based Ensembles
  • HIVE-COTE 2.0: a new meta ensemble for time series classification.

在这里插入图片描述

Rocket家族

  • ROCKET: exceptionally fast and accurate time series classification using random convolutional kernels
  • MiniRocket: A Very Fast (Almost) Deterministic Transform for Time Series Classification Angus
  • MultiRocket: Effective summary statistics for convolutional outputs in time series classification

在这里插入图片描述

SOTA大PK

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结论:

在这里插入图片描述

在这里插入图片描述

上面各个模型之间的性能比较,均来自这篇综述:
Bake off redux: a review and experimental evaluation of recent time series classification algorithms


简而言之:
从性能上看,HIVE-COTE 2.0是当下最强的模型,其次是Hydra-MultiRocket,两者都是藐视众生一版的存在。后者虽然性能比比前者的差一点点,但是它训练非常快哦,甩前者好几条街(见下图,MultiRocket项目提供),所以其实更推荐后者,而且更重要的一点:HIVE-COTE 2.0并没有开源,是的,想用也用不到。🤣

在这里插入图片描述

4.有没有现成的工具?

Rocket家族都是有开源的,可以直接用。

除此外,我还发现了一个宝藏😲,非常之哇塞——tsai
https://github.com/timeseriesAI/tsai
在这里插入图片描述

里面包含了很多模型,可用于TSF和TSC
在这里插入图片描述

这是这个库的介绍文档:
https://timeseriesai.github.io/tsai/

在这里插入图片描述

里面主推三类算法:InceptionTime、Rocket、TST
想必掌握了这三个,TS就游刃有余了

参考资料

1.知乎:时间序列分类-Rocket到MiniRocket再到MultiRocket
2.知乎:时间序列数据如何分类并进行特征提取?
3Bake off redux: a review and experimental evaluation of recent time series classification algorithms【非常值得一看】

文章来源:https://blog.csdn.net/xiangxiang613/article/details/135592664
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。