时间序列分类的特征

机器算法验证 时间序列 分类 特征选择 信号处理
2022-01-28 10:48:54

我考虑基于可变长度时间序列的(多类)分类问题,即找到一个函数 通过一组固定大小独立于的选定特征对时间序列的全局表示, 然后在这个特征集上使用标准的分类方法。 我对预测感兴趣,即预测T

f(XT)=y[1..K]for XT=(x1,,xT)with xtRd ,
viDT
ϕ(XT)=v1,,vDR ,
xT+1. 例如,我们可以分析一个人走路的方式来预测这个人的性别。

我可能会考虑哪些标准功能? 例如,我们显然可以使用序列(或更高阶矩)的均值方差,也可以查看频域,例如序列的离散傅里叶变换(或离散小波变换)的某个区间中包含的能量。

4个回答

简单的统计特征

  • 每个维度中的均值d
  • 维度标准偏差d
  • 维的偏度,峰度和高阶矩d
  • 最大值最小值_

时间序列分析相关功能

  • 每个维度之间互相关自相关d×d1 d
  • 估计ARIMA模型的自回归 (AR)、积分 (I) 和移动平均 (MA) 部分的阶数
  • AR部分的参数
  • MA部分参数

频域相关特征

有关DFT 和 DWT 上的能量保存特征的研究,请参见Morchen03

  • 趋势维的DFT中振幅个峰值的频率k d
  • k这些 DFT 的个分位数

正如其他答案所暗示的那样,有大量时间序列特征可以用作潜在特征。有简单的特征,例如平均值、时间序列相关的特征,例如 AR 模型的系数,或高度复杂的特征,例如增强的 dickey fuller 假设检验的检验统计量。

对可能的时间序列特征的全面概述

python 包tsfresh自动提取这些特征。它的文档描述了不同的计算特征。您可以在此处找到包含计算特征的页面

免责声明:我是 tsfresh 的作者之一。

埃米尔,我认为您的答案中列出的功能是很好的起点,尽管与往常一样,我认为关于您的问题的一些领域专业知识(或至少是一个很好的长期思考)同样重要。

您可能需要考虑包括根据信号的导数(或积分)计算的特征。例如,我敢打赌,快速加速/减速是事故多发驾驶的一个相当好的预测指标。该信息显然仍然存在于位置信号中,但几乎没有那么明确。

您可能还想考虑用小波或小波包表示替换傅立叶系数。小波的主要优点是它们允许您在频率和时间上定位特征,而传统的傅立叶系数仅限于时间。如果您的数据包含不规则打开/关闭的组件或具有可能对傅立叶方法造成问题的方波状脉冲,这可能特别有用。

我建议您不要使用经典方法来提取手工设计的特征,而是使用自动编码器自编码器在深度学习架构的特征提取中发挥着重要作用。

自编码器尝试学习一个函数换句话说,它试图学习一个对恒等函数的近似,从而输出与 X_T相似的f(XT)XTX^TXT

恒等函数似乎是一个特别微不足道的函数。但是通过对网络施加约束,例如通过限制隐藏单元的数量,我们可以发现有关数据的有趣结构。

特征提取器

这样将等效于深度自动编码器中最中间层的输出值ϕ(XT)=v1,,vDRD

此外,您可以使用多种自动编码器来找到问题的最佳解决方案。