算法原理(2):样本熵(SampEn)9 [; a& a. C; J
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。+ t+ k6 b H9 C; e. ^$ m* G
! E: k" I0 F7 r- R8 t3 v
1.物理意义
, m2 f9 h! ~+ y" k9 ~3 K* s: h 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。 # v8 l z( O5 W& `& x
与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 / Q" S- q# g. b' T' K
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
: ^9 M$ N0 B6 _/ ~" Z4 C4 W3 j2 j8 P9 ]( k6 o. E, @) K6 `4 _
2.计算方法6 d, a8 i$ n' d4 L, c3 @
样本熵的计算方法如下:# a! A4 x3 B' }5 K" e" k1 u9 k" }
; I7 s; c8 ~. {+ o1 A( d
; A, o( p2 c [& w3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下:
+ [, x' h9 i+ Q5 Y
, S) ?; ?1 u- t& x, x" [, c" V! T0 v. F" w- ^
|