算法原理(2):样本熵(SampEn)- s" {/ I( Q8 {% n
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
, @! ?+ T6 M9 W4 x% u; r, L
' Y( Q$ @9 K* i4 e0 P1.物理意义4 E5 u# p3 i1 R5 U" ]# E
样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。 2 N1 R/ l1 t' F4 g2 X) R4 v
与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 * @* z5 B8 T8 s K/ I' V& i/ E
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
& T, d M) J$ s- G c/ z; n2 Z; \2 |0 j6 [" ~7 P5 d% Y- j
2.计算方法, o7 W2 e- Q6 d9 e7 y$ E& A
样本熵的计算方法如下:1 G0 k$ C2 K4 v# w2 H; v9 ~' L8 O
![]()
; H+ U4 ^% l. _1 B; B$ W3 c
- d) V+ L! ~8 ~! a' q3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下:
- W3 J c# o n+ C- i
7 T! v8 u. c' n$ r1 o% _3 i+ l$ Y, o: E- N7 M: G- w$ O
|