【论文研读】Permutation Entropy: A Natural Complexity Measure for Time Series

原文

原文链接

提出了什么方法

这篇论文引入了一种时间序列复杂度的测量方法–排列熵。它是一种基于相邻值比较得出的时间序列复杂度参数。

经过理解完全文后,我对排列熵的理解是:

  • 首先,它是一个值,这个值代表着前面的时间序列数据对后面数据能够进行预测的准确性高低;
  • 其次,以语音识别实验举例。
    ①为什么能计算每个时间点的PE呢?在每个非常小的时间片段里,肯定还是会有不短的一个时间序列,而计算这个时间序列的PE来近似代表这个时间点的值。
    ②值的高低代表变化为什么能反映浊音清音及间断呢?浊音清音的判定应该是通过大量实验总结出来的,间断的话我认为是因为一个音节它总是有一定相似度,而与另一个音节又有差异性,所以PE无法预测,这样PE的值就会有骤降。

主要思想

  • 香农源熵h:能够测量给定前xt个时间戳之后第xt+1个时间戳的平均条件不确定性。它的取值范围为【0,logM】,当它为0时说明这个时间序列能够很好地被预测,当它为logM时当且仅当所有时间戳相互独立分布。
  • 划区间:如果x包括无限多个值的话,一般用一个有限符号的符号序列st来代替,再计算st的源熵h。
    (其实在看这里的时候我当时是不理解的,但是看完后面我突然理解了为什么要分区及用符号序列来代替,因为如果直接用x时间序列,像是后面举例的4,7,9等都是一个时间戳xt对应的y值,这样的话y值太多太分散,不是很好观测,但如果用相邻值比较的话,它就变成了只有两个y值,这样很好计算且便于观测)
    我们通过划分值的区间为P1…Pm,如果xt在Pi区间内就定义st=i。
    本文里提倡符号序列不经过进一步模型假设,自然地来自xt里,建议采用比较相邻值xt来确定它所在的分区。
  • 采用相邻值的办法是:
    例:时间序列x=(4,7,9,10,6,11,3)
    当n=2时也就是比较xt和xt+1,如果xt<xt+1,就用01来代替这对相邻值,如果xt>xt+1,就用10来代替。(4,7)代表01,(7,9)也是01,它们属于同一个分区,而(10,6)是10.
    相似地,n=3时,(4,7,9)代表012,因为xt<xt+1<xt+2。
    (当n=2时,排列熵就是测量排列01和10发生的可能性的一种办法,也就是说这个时间序列能够通过之前的时间戳 对之后时间戳进行预测的准确性
    在这里插入图片描述因为M=2,所以logM=1,代表这个时间序列比较独立分布
    但是这里我不太能理解M到底是怎么定义的,比如说,n=3时,0,1,2三个数的排列有6中,但在这个例子里我们只需要用到3种,那么这个M是6还是3呢?

    这里为什么划掉了呢,是因为其实M是上面源熵h里的概念。
  • 而排列熵H(n)里,是这么定义的:
    这里的Π是代表某个排列,如01;p(Π)是指它出现的概率(简单用频率代替概率)
    在这里插入图片描述
    0≤H(n)≤log n!
    如果这个序列是个完全递增或递减的序列,H(n)取得下界0;当所有排列以相同概率随机出现时,H(n)为n!个 (1/n!)*log n!相加也就是取得上界log n!
    然后又定义了每个符号的排列熵为hn:
    在这里插入图片描述论文里还定义了一个sorting熵,dn=H(n)-H(n-1)
    (其实这里没太看懂,好像就是为了证明hn是个和时间序列全局表现有关的量?)
  • 论文里还假设了所有的xt值不相等(原因是xt如果是一个连续分布的话,xt相等的值非常少,所以假设合理),如果相等的值多的话就加些小的随机扰动打破这个等式
  • 对于熵的计算,推荐n=3,…,7

解决了什么问题

现有的一些时间序列复杂度参数有如熵、分形维数、李雅普诺夫指数等。但他们并不适用于现实世界里任意一个序列。并且在时间序列有噪声时,噪声消除需要对数据进行仔细的预处理的参数微调等,很可能不能复现。
而PE可以直接适用于任意真实数据。对于一些著名的混沌系统,这个参数的表现与著名的李雅普诺夫指数相似,特别是存在动力噪声和观测噪声的时候很有用,简单、鲁棒性好、计算速度快。

做了哪些实验

通过识别语音信号中的浊音来比较排列熵和以及其他复杂度参数。

  • 本论文主要说明的一个实验的原数据是一位男性说的“permutation entropy measures complexity”语音段
  • 这篇论文不仅在单时间序列上应验,还处理了几个动力系统的参数族,选取了5001个逻辑映射的参数值,像是henon映射、耗散标准映射也参与了研究。

效果怎么样

  • 这个4s的语音信号的43000个窗不到一秒就处理好了,说明排列熵的实时性强;

  • 对于归一化后的排列熵PE:H(n)/log n!: 噪声和清音的值接近于1,如果熵值减少就可以判断出浊音的存在。
    另外一个著名的短时语言分析复杂度参数ZCR:噪声和清音的值接近于0.5,如果是浊音的话ZCR接近于0。
    PE能够更好地应对干扰,有更好的鲁棒性,对于语音信号,它能更好地判别过渡和区分两个音节
    大量实验表明PE在窗长选择、样本频率和观测噪音上更具有鲁棒性,序列长度n的取值也对结果没有太多影响,而且计算代价也只是ZCR的两倍

  • 实验发现PE和正李雅普诺夫指数非常相似。
    而且和已知的所有复杂度参数相比,小噪声不会从本质上改变混沌信号的复杂度,可以计算任意现实世界的时间序列。且该方法非常快速和稳健,很适合有大量数据集的时候,因为不需要时间进行预处理和参数微调

复现代码

暂未复现,请静候更新…

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值