样本熵
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
样本熵
熵原本是一个热力学概念,是用来描述热力学系统混乱(无序)程度的度量。
在信息论建立之后,关于上的概念和理论得到了发展。
作为衡量时间序列中新信息发生率的非线性动力学参数,熵在众多的科学领域得到了应用。
八十年代最常用的熵的算法是K-S 熵及由它发展来的E-R 熵,但这两种熵的计算即使对于维数很低的混沌系统也需要上万点的数据,而且它们对于噪声很敏感,时间序列叠加了随机噪声后这两种熵的计算可能不收敛[65]。
九十年代初,Pincus 提出的近似熵(APEN, Aproximate Entropy)主要是从衡量时间序列复杂性的角度来度量信号中产生新模式的概率大小,产生新模式的概率越大,序列的复杂性越大,相应的近似熵也越大。
近似熵已成功应用于生理性时间序列的分析,如心率信号,血压信号,男性性激素分泌曲线等时间序列的复杂性研究中,还预示了近似熵表征人的某些生理变化情况的能力[66,67]。
样本熵(Sample Entropy)是由Richman 和Moornan[12]提出的一种新的时间序列复杂性的度量方法。
样本熵在算法上相对于近似熵算法的改进:相对于近似熵而言,样本熵计算的则是和的对数。
样本熵旨在降低近似熵的误差,与已知的随机部分有更加紧密的一致性,样本熵是一种与现在的近似熵类似但精度更好的方法。
与近似熵相比,样本熵具有两大优势:第一,样本熵不包含自身数据段的比较,它是条件概率的负平均自然对数的精确值,因此样本熵的计算不依赖数据长度;第二,样本熵具有更好的一致性。
即如一时间序列比另一时间序列有较高的值的话,那对于其他m 和r 值,也具有较高的值。
样本熵的具体算法
设原始数据为长度为N 的时间序列,表示为{}N i i u ≤≤1:)(。
1)构造一组m 维空间的向量)1(),...,2(),1(+-m N X X X ,其中
{}.)(),...,1(),()(m i u i u i u i X ++=。
2)定义向量()i X 和()j X 之间的距离()()[]j X i X d ,为两向量对应元素中差值最大的一个,即:
[]0~1
(),()max ()().k m d X i X j u i k u j k =-=+-+
3)对于每一个{:11}i i N m ≤≤-+,在容许偏差为r 的情形下,统计
[]r j X X(i)d <)(,的数目,计为
)(i N m ,并计算此数目与距离总数的比值 ,计作:
()()m N (i)/N r C m m i -=
4)对所有的i 求平均值计作)(r m φ,即∑-=-=m N i m
i m r C m N r 1
)(1)(φ
5)将维数m 增加1,变成1+m 重复上述1)-4)过程得到)(1r C m i +,)(1r m +φ。
)1/()()(11+-=++m N i N r C m m i
∑+-=+-=++)1(1
1
1
)()1(1)(m N i m i m r C m N r φ
6)理论上此序列的样本熵),,(r m N SampEn
为: []{})(/)(1n l ),(1r r im r m SampEn m m N φφ+∞
→-=
实际中N 不可能取∞,当N 取有限值时,估计:
[])(/)(1n ),,(1r r r m N SampEn m m φφ+-=
),,(r m N SampEn 的值与参数N ,m ,r 的选取有关。
不同的嵌入维度m 和相似容限r 对应的样本熵值也不同。
Pincus 曾指出,r 取原始数据标准偏差的
25.0~1.0倍,
1=m 或2=m 时),,(r m N SampEn 的值对序列长度N 的依赖性最好,此时计算所得的样本熵具有较为合理的统计特性。
分析上式子可以看出,样本熵实际上是对数据长度N ,相似容限r ,m 点数据段互相相似情况下1+m 点数据段互相相似的条件概率CP 的负平均自然对数的近似值。
样本熵在算法上相对于近似熵算法的改进,具有如下性质:(1)样本熵不包含自身数据段的比较,因此它是条件概率的负平均自然对数的精确值,因此样本熵的计算不依赖数据长度;(2)样本熵具有更好的一致性。
即如一时间序列比另一时间序列有较高的值的话,那对于其他m 和r 值,也具有较高的值;(3)样本熵对于丢失数据不敏感。
即使数据丢失多达1/3,对计算值影响依然很小。
样本熵的计算可以按照上述定义去进行,但实际上,这些步骤有很多冗余计算,效率低,速度慢,不利于实时运用。
洪波,陈天祥等在定义的基础上,引入了二值距离阵的概念,提出了一种使用的快速算法,大致流程如下:
第一步:对N 点序列,先计算N N ⨯二值距离矩阵N N ij d D ⨯=][。
⎩
⎨⎧≥<=.)]),([,0]
)(),([,1r j X i X d r j X i X d d ij (
第二步,利用矩阵D 中的元素,按照行递增的顺序,每两行(当2=m 时)或每三行(当3=m 时)的矩阵元素按斜线方向的组合进行“与”运算,把每一行的
斜线“与”的结果累加后除以()1+-m N ,即可得到()r C i 2
和()r C i 3。
如图1所示。
()()()
1
111
2.N ij
i j j i d
d C r N m
-++=*=
-∑
()()()()()
()
.122i 111
1
3+-**∑=
++++-=m N d d d r C j j i N j ij i
()21C r ()22C r ()
23C r ()
24C r ()
31C r ()32C r (33C r
图1
比如,2=m 时,我们要判断()[]r X X d <4),2(是否成立,等价于判断()[]r u u d <4),2(和
()[]r u u d <5),3(是否同时成立。
即1*3524=d d 是否成立,这就是上述斜线求“与”的
过程。
实际计算过程中2=m 和3=m 可以放在同一个循环中进行,并且只有在
2=m 斜线求“与”结果不为“1”的地方才有必要进行3=m 的斜线求“与”
过程。
第三步:由()r C i 2和()r C i 3分别计算)(2r φ和)(3
r φ。
第四步:计算),,(r m N SampEn。
二、近似熵
近似熵使用一个非负数来表示一个时间序列的复杂性,越复杂的时间序列对应的近似熵越大。
其具体算法如下:
对于给定的长度为N 的时间序列()()()1,2,...,u u u N ,构造一组m 维空间的向量()()()1,2,...,X X X N ,其中()()()()(){},1,2,...,1X i u i u i u i u i m =+++-。
定义向量()X i 和()X j 之间的距离为()()[,]
d X i X j 为两对应元素中差值最大的一个,即:
()()()()()
[,]max 11, 1,2,...,1d X i X j u i k u j k k m =+--+-=-
对于每一个()11i i N m ≤≤-+,定义
()()/1m i C r n N m =-+
式中 n ——()()(),d X i X j r X i ≤⎡⎤⎣⎦的的个数。
()m i C r 表示以()X i 为中心,在窗口长度为m ,容许偏差为r 的情形下,其余向量
()X i 与()X j 的距离()()[,]d X i X j 小于r 的概率,
从而表示所有()X j 与()X i 的关联(规律性)程度()j i ≠,定义关联函数:
()()()1
1
1
1ln N m m
m i i r N m C r φ
-+-==-+∑
近似熵定义为:
()()()()1,lim m m ApEn N S m r r r φφ+→∞
=-
一般而言,此极限以概率1存在。
实际工作中N 不可能为∞。
当N 为有限值时,
算得的是ApEn S
的估计值,记为:
()()()1,,m m ApEn S m r N r r φφ+=-。