在对如传感器数据等时间序列数据进行机器学习时,特征提取是非常重要的一环,本文主要介绍时序数据特征提取的几种方法。

1 时域与频域

时域和频域是信号的基本性质,这样可以用多种方式来分析信号,每种方式提供了不同的角度。解决问题的最快方式不一定是最明显的方式,用来分析信号的不同角度称为域。时域频域可清楚反应信号与互连线之间的相互影响。

时域(Time domain)是描述数学函数或物理信号对时间的关系。例如一个信号的时域波形可以表达信号随着时间的变化。是真实世界,是惟一实际存在的域。因为我们的经历都是在时域中发展和验证的,已经习惯于事件按时间的先后顺序地发生。而评估数字产品的性能时,通常在时域中进行分析,因为产品的性能最终就是在时域中测量的。

频域(frequency domain)是描述信号在频率方面特性时用到的一种坐标系。在电子学,控制系统工程和统计学中,频域图显示了在一个频率范围内每个给定频带内的信号量。频域,尤其在射频和通信系统中运用较多,在高速数字应用中也会遇到频域。频域最重要的性质是:它不是真实的,而是一个数学构造。时域是惟一客观存在的域,而频域是一个遵循特定规则的数学范畴,频域也被一些学者称为上帝视角。正弦波是频域中唯一存在的波形,这是频域中最重要的规则,即正弦波是对频域的描述,因为频域中的任何波形都可用正弦波合成。这是正弦波的一个非常重要的性质。然而,它并不是正弦波的独有特性,还有许多其他的波形也有这样的性质。

时域分析与频域分析是对模拟信号的两个观察面。时域分析是以时间轴为坐标表示动态信号的关系;频域分析是把信号变为以频率轴为坐标表示出来。一般来说,时域的表示较为形象与直观,频域分析则更为简练,剖析问题更为深刻和方便。信号分析的趋势是从时域向频域发展。然而,它们是互相联系,缺一不可,相辅相成的。

动态信号从时间域变换到频率域主要通过傅立叶级数和傅立叶变换实现。周期信号靠傅立叶级数,非周期信号靠傅立叶变换。时域越宽,频域越短。

2. 特征提取方法

2.1 基于基本统计方法

基于基本统计方法,我们可以提取均值、方差、极值、波段、功率谱等特征。时域方面,可提取均值、方差、极值、过零点、边界点、波段长短峰值等特征;频域方面,可提取功率谱,功率密度比,中值频率,平均功率频率等特征。

肌电信号(EMG):过零点数,积分肌电值,方差;EMG功率谱的平均功率频率和中值频率;
心电图(ECG): RR间隔均值、熵值、变化值、功率谱密度;
脑电信号(EEG):峰值、熵值、非线性能量、QRS波的峰值、波长等、QT间隔、ST间隔等统计特征;

2.2 基于模型

基于模型的特征提取, 是指用模型刻画时间序列数据,提取的模型系数作为特征矢量。

常用模型: ARMA、AR、MAR、ARCH、SVAR

平稳时间序列:ARMA
ECG, EMG:AR
金融时序数据:ARCH, SVAR

选择合适的模型进行特征提取, 产生的模型系数作为特征矢量. 针对这类特征矢量, 往往采用简单的判别函数即可达到理想的分类效果. 最常用的当属二次判别函数(QDF). 有时也用到最大似然的判断规则进行分类.

2.3 基于变换

2.3.1 基于时频变换

时频变换是将信号从时域变换到频域的一种手段. 时间序列数据在特征提取中常采用傅立叶变换倒谱系数等时频变换方法.

傅立叶变换:时域信号转化为频域信号。将时序数据进行傅立叶变换, 然后选择它的系数作为特征矢量, 若选择前面的系数, 则代表了信号的低频特性, 选择较大的系数, 则代表了信号的能量特性。
倒谱系数:倒谱分析又称为二次频谱分析, 它分为实倒频谱和复倒频谱. 其中实倒谱又为功率倒频谱, 它是先将时序信号进行离散傅立叶变换, 然后取自然对数,再实行离散傅立叶反变换. 复倒谱是将时序信号通过Z 变换以后取对数,再求反 Z 变换而得到的.

2.3.2 基于线性变换

线性变换中有很多特征提取方法颇为经典, 特别是PCA小波变换.
PCA:主成分分析
小波变换

2.4 基于分形理论

分形是指具有: 无限精细、非常不规则、无穷自相似结构和非整数的点集.在大自然中, 海岸线、雪花, 云雾这些不规则形体都属于分形, 即部分与整体有自相似性.

分形理论用于特征提取时, 主要是针对非线性信号, 是用它的定量分析指标分维数作来特征矢量.

3 python tsfresh

tsfresh是python中专门用于提取时序数据中的特征的包,可以提取多种特征。所提取的特征大多有具体的计算公式和参考文献。对应代码、计算公式以及参考文献请访问官方文档:
https://tsfresh.readthedocs.io/en/latest/api/tsfresh.feature_extraction.html#tsfresh.feature_extraction.feature_calculators

Reference:

[1] 时域频域 百度百科
[2] 林 珠, 邢 延. 数据挖掘中适用于分类的时序数据特征提取方法