在之前的系列的文件里,我对信息熵(功率谱熵、奇异谱熵、能量熵、近似熵、样本熵、排列熵、模糊熵)进行了较为系统的讲解(文章链接见文末)。
不过时常会有同学问我:为什么求熵值画不出来图?
对于一组一维数据来说,求它的某种信息熵(比如模糊熵)得到的就是单一的数值,它描述的是这段信号的复杂度,单一的数据点自然没办法画图。
不过对于朴素的“想要有张图贴到论文中”的想法,今天要讲的“多尺度熵”就可以满足了。
一、为什么要“多尺度”
简单地说,就是为了解决之前求信息熵尺度单一的问题,也就是分析对象只针对原始信号本身,这意味着,这些方法可能忽视了信号中的重要信息,尤其是在分析具有多重时间尺度特征的复杂信号时。
许多类型的信号,例如生理信号(如心电图)和金融市场数据,显示出在不同时间尺度上具有不同复杂性的特征。例如,心电图信号在短时间尺度上可能表现出快速的波动,而在长时间尺度上显示出更缓慢的趋势。
所以Costa 等提出了另一种时间序列复杂度的衡量方法—— 多尺度熵( multiscale entropy,简称MSE),用以衡量时间序列在不同尺度上的复杂性, 极大地丰富了熵的含义。
二、“多尺度”是如何实现的
其实多尺度的实现是非常简单粗暴的。
首先这里引入了一个叫做“尺度因子”的概念。
当尺度因子等于1时,处理后的序列就等于原序列。
当尺度因子等于2时,则将序列中相邻的2个数求平均,例如原始序列为,则处理后的序列为:每两个数的平均值,即:
。此时你可以看出,此时序列长度变为以前的1/2
当尺度因子等于3时,则将序列中相邻的3个数求平均,此时序列长度变为以前的1/3,依此类推。
这个处理过程叫做“粗粒化”,可以说这个命名还是很形象的,随着尺度因子的增加,更多的细节信号在平均之后小时,序列所包含的信息变得更加平滑,动态特征减少,相应的长期趋势特征变得更为突出。
经过一系列的多尺度计算,比如尺度因此从1取到5,就可以得到5个新的数列,此时我们就可以观察信号在不同时间尺度下的行为。
拿一张图来直观展示一下这种“粗粒化”过程: