算法原理(2):样本熵(SampEn)
) {7 S' N3 M% e7 d9 k本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
0 N/ T4 N3 m6 r- G" y* q' Q; ]8 ~6 {0 X1 q$ X; q$ [
1.物理意义
/ k, n" e8 z2 X3 H 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。
9 X5 q+ ?$ E K2 [/ c( J 与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。
. Z3 a$ G9 }) g' R$ j S# ?& t 样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
2 B1 w; z3 F5 j# \6 t; H' v- U
( c, r) `6 x/ n; o T2.计算方法
4 o2 s7 \7 j+ f" f5 i1 J 样本熵的计算方法如下:7 M) L8 c$ G6 T8 X) T% j
! ^; q5 H) R* A. C' c6 }
2 U/ `4 W# r" l3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: / n# e( r- V7 M0 W1 d M- ~7 r" s2 Q+ @
! |4 A) x' F" i% E, R+ ]
1 A7 R6 y' f+ Z) ~ |