时间序列分类算法_时间序列分类算法简介

本文简要介绍了时间序列分类算法,探讨了这类算法在数据预测和模式识别中的应用,适用于处理具有时间顺序特性的数据。
摘要由CSDN通过智能技术生成

时间序列分类算法

A common task for time series machine learning is classification. Given a set of time series with class labels, can we train a model to accurately predict the class of new time series?

时间序列机器学习的常见任务是分类。 给定一组带有类别标签的时间序列,我们可以训练模型来准确预测新时间序列的类别吗?

Image for post
Univariate time series classification with sktime sktime的单变量时间序列分类

There are many algorithms dedicated to time series classification! This means you don’t have wrangle your data into a scikit-learn classifier or to turn to deep learning to solve every time series classification task.

有许多专用于时间序列分类的算法! 这意味着您无需将数据纠缠到scikit-learn分类器中,也无需转向深度学习来解决每个时间序列分类任务。

In this article, I will introduce five categories of time series classification algorithms with details of specific algorithms. These specific algorithms have been shown to perform better on average than a baseline classifier (KNN) over a large number of different datasets [1].

在本文中,我将介绍五种时间序列分类算法,以及特定算法的详细信息。 在大量不同的数据集上,这些特定算法的平均表现优于基线分类器(KNN)[1]。

  1. Distance-based (KNN with dynamic time warping)

    基于距离(具有动态时间扭曲的KNN)
  2. Interval-based (TimeSeriesForest)

    基于时间间隔(TimeSeriesForest)
  3. Dictionary-based (BOSS, cBOSS)

    基于字典(BOSS,cBOSS)
  4. Frequency-based (RISE — like TimeSeriesForest but with other features)

    基于频率的(RISE-与TimeSeriesForest类似,但具有其他功能)
  5. Shapelet-based (Shapelet Transform Classifier)

    基于Shapelet(Shapelet变换分类器)

I conclude with brief guidance on selecting an appropriate algorithm.

最后,我将对选择合适的算法进行简要指导。

The algorithms described in this article have been implemented in the sktime python package.

本文介绍的算法已在sktime python软件包中实现。

为什么要使用时间序列专用算法? (Why dedicated algorithms for time series?)

Time series classification algorithms tend to perform better than tabular classifiers on time series classification problems.

在时间序列分类问题上,时间序列分类算法的性能往往优于表格分类器。

A common, but problematic solution to time series classification is to treat each time point as a separate feature and directly apply a standard learning algorithm (e.g. scikit-learn classifiers). In this approach, the algorithm ignores information contained in the time order of the data. If the feature order were scrambled, the predictions wouldn’t change.

时间序列分类的一个常见但有问题的解决方案是将每个时间点视为一个单独的功能,并直接应用标准学习算法(例如scikit-learn分类器)。 在这种方法中,算法将忽略数据时间顺序中包含的信息。 如果功能顺序被打乱,则预测不会改变。

It is also common to use deep learning to classify time series. LSTMs and CNNs are capable of mining dynamical characteristics of time series, hence their success. Yet neural networks have some challenges that make them unsuitable for many classification tasks:

使用深度学习对时间序列进行分类也是很常见的。 LSTM和CNN能够挖掘时间序列的动态特征,因此很成功。 然而,神经网络面临一些挑战,使它们不适用于许多分类任务:

  • Selecting an efficient architecture

    选择高效的架构
  • Hyper-parameter tuning

    超参数调整
  • Limited data (neural networks need many examples)

    数据有限(神经网络需要很多示例)
  • Slow to train

    训练慢

In spite of these challenges, there do exist specific neural network architectures for time series classification. These have been implemented in the sktime-dl python package.

尽管存在这些挑战,但确实存在用于时间序列分类的特定神经网络体系结构。 这些已在sktime-dl python包中实现。

时间序列分类的基本概念 (Foundational Concepts of Time Series Classification)

时间序列转换(Time Series Transformations)

Many time series specific algorithms are compositions of transformed time series and conventional classification algorithms, such as those in scikit-learn.

许多特定于时间序列的算法是变换后的时间序列和常规分类算法(例如scikit-learn中的算法)的组合

Feature extraction is very diverse and complex.

特征提取非常多样化和复杂。

Features can be extracted globally (over the entire time series) or locally (over regular intervals/bins, random intervals, sliding windows of intervals, and so on).

可以全局(在整个时间序列上)或局部(在常规间隔/区间,随机间隔,间隔的滑动窗口等)上提取要素。

Series can be transformed into primitive values (e.g. mean, standard deviation, slope) or into other series (e.g. Fourier transform, series of fitted auto-regressive coefficients).

级数可以转换为原始值(例如,均值,标准差,斜率),也可以转换为其他级数(例如,傅立

  • 20
    点赞
  • 142
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值