算法原理(2):样本熵(SampEn)
+ {9 P' W! L: v! I本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
7 l9 {! J7 x$ z4 ~% g6 d0 o8 b% L1 J4 C& j4 w
1.物理意义
; ~% ]6 e* a; i1 U: \ 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。
- y7 b+ e4 B' y4 J! Z/ Q$ x( c 与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 , Y& l* k. {, E1 c+ i! j0 f% G% R0 e
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
O3 }' f/ L2 I/ ]1 G9 s
- p1 q( s. a, D3 {) [2 m! j2.计算方法
$ R( E/ L0 p+ l: _# i* k 样本熵的计算方法如下:
$ _ m9 @0 v5 q7 [+ y " }* R9 F. ] H& {) ^/ W, F
- Q. m# b) M3 U7 [% I
3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: ( N z8 z1 A2 s z" L" J
9 H1 @% z8 ]; W+ R8 h) [
$ E2 Z; M0 B1 a1 m S+ r& [% B |