曲线分类-特征提取

Posted wingooom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了曲线分类-特征提取相关的知识,希望对你有一定的参考价值。

频域特征

傅里叶变换

傅里叶变换(Fourier transform)是一种线性积分变换,用于信号在时域(或空域)和频域之间的变换。

FFT变换是针对一组数值进行运算的,这组数的长度N是2的整数次幂时,效果和速度会更好。

在python中可以通过numpy.fft计算离散傅里叶变换(点击查看大图)

可以取傅里叶变换后频域特征的均值、方差等聚合函数值作为特征值

参考:
傅里叶分析之掐死教程. https://zhuanlan.zhihu.com/p/19763358
A visual introduction. https://www.youtube.com/watch?v=spUNpyF58BY
频域信号处理. http://bigsec.net/b52/scipydoc/frequency_process.html

小波系数

傅里叶变换只能得到一个频谱,做小波变换却可以得到一个时频谱,进行时频分析。

  • 傅里叶变换:知道一段时间内,信号的各个频率分量有分别多少。
  • 小波变换:知道一段时间内,信号的各个频率分量有分别多少,以及他们都是什么时候出现的。

傅里叶变换局限性

对非平稳过程,傅里叶变换有局限性。

最上边的是频率始终不变的平稳信号,而下边两个则是频率随着时间改变的非平稳信号。 它们同样包含和最上边信号相同频率的四个成分。

做FFT后,可以发现这三个时域上有巨大差异的信号,频谱(幅值谱)却非常一致。尤其是下边两个个非平稳信号,我们从频域上无法区分它们,因为它们包含的四个频率的信号的成分确实是一样的,只是出现的先后顺序不同。

可见,博里叶变换处理非平稳信号有天生缺陷。它只能获取一段信号总体上包含哪些频率的成分。但是对各成分出现的时刻并无所知。因此时域相差很大的两个信号,可能频谱图一样。

小波变换原理

傅里叶变换把无限长的三角函数作为基函数:

这个基函数会伸缩、平移。缩的窄,对应高频;伸得宽,对应低频。然后这个基函数不断和信号做相乘。某一个尺度(宽窄)下乘出来的结果,就可以理解成信号缩包含的当前尺度对应频率成分有多少。

这一步其实是计算信号和三角函数的相关性。

这两种尺度能乘出一个大的值(相关度高),所以信息包含较多的这两个频率成分,在频谱上着两个频率会出现两个峰。以上,就是粗浅意义上傅里叶变换的原理

小波做的改变就在于,将无限长的三角函数基换成了有限长的会衰减的小波基。

从公式可以看出,不用于傅里叶变换,变量只有频率w,小波变换有两个变量:尺度a(scale)和平移量t(translation)。尺度a控制小波函数的伸缩,平移量t控制小波函数的平移。尺度就对应于频率(反比),平移量t就对应于时间。

当伸缩、平移到这么一种重合情况时,也会相乘得到一个大的值。这时候和傅里叶变换不同的是,这不仅可以知道信号有这样频率的成分,而且知道它在时域上存在的具体位置。

时域信号

傅里叶变换-频域信号

小波变换-时频信号

离散小波变换(Discrete Wavelet Transform)
将数据序列进行小波分解,每一层分解的结果是上次分解得到的低频信号再分解成低频和高频两个部分。

2阶离散小波变换

import pywt
a2, d2, d1 = pywt.wavedec(data, 'db4', mode='sym', level=2)

同理,4阶离散小波变换。

可取小波系数固定某阶的均值作为特征值。

参考:
傅立叶分析和小波分析之间的关系. https://www.zhihu.com/question/22864189
WaveletTutorial. http://web.iitd.ac.in/~sumeet/WaveletTutorial.pdf
小波变换教程. http://blog.jobbole.com/101976/

以上是关于曲线分类-特征提取的主要内容,如果未能解决你的问题,请参考以下文章

曲线分类-特征提取

曲线分类-特征提取

曲线分类-特征提取

曲线分类-特征提取

尺度不变特征变换(SIFT)特征提取分析

图像特征提取方法