算法原理(2):样本熵(SampEn)1 g4 [% K$ u' q6 D/ Z# \6 L
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。! D; a$ k( P* U3 P
' y3 ]2 U% K3 ?2 a4 Z) V: x( H: i1.物理意义+ W6 k% f6 Z3 _1 O
样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。
$ O9 j6 y: Y% w" Z; U* H 与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 * ]" v$ T0 L3 V! ` j
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
9 R+ s6 e m( U9 z' k8 M3 L* b% ]8 H( x6 W) x6 T' P r) t
2.计算方法
$ |' q9 q3 _# G0 o9 w9 D 样本熵的计算方法如下:4 F# n/ N6 m7 W2 g5 D
, w4 e0 e- @! @" @2 t4 s8 V) y- B6 c
) \5 K# E0 x5 f( J. b5 i, B
3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下:
- l' D7 f, X2 Y8 I$ x5 T
- z* h0 m! M, I9 y" }" O, o4 X9 q, X
|