算法原理(2):样本熵(SampEn)
5 O- P4 l$ M9 n7 p本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
- l! j) [* A. [0 F3 }1 R: z" v* z! e
1.物理意义
- c& o3 m0 u8 I. x9 X& [: N 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。
0 n Y' S2 n1 c" h [" i3 Y 与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 ! O' [5 u5 f4 r" z( F) K7 q6 q& j, @
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。* C- N" V! N+ Z2 u \) y8 n5 Z+ j
& Y5 E( R/ v$ Y2 V2 o+ I7 i2.计算方法- E+ V3 S+ ?" v2 T" O l5 R
样本熵的计算方法如下:
. t! Q1 l' ^4 h, w6 _+ ]![]()
& G3 i; |' g6 A
- x, h- j# h9 C& K9 @) H' Z3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: % g* n% z. o: C4 Y' `
p8 f6 u7 J' O% s9 z
$ I# I$ z0 D" T1 L! G3 s' `
|