算法原理(2):样本熵(SampEn)' D2 L9 Q/ M1 p5 I$ G6 G- V
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。 ]7 d" Q6 ]! W4 v, Y! Z" l+ i7 s
+ U- W, |1 c- L+ X1 T9 e$ ^; {1.物理意义
. L8 H# ~' a6 x; ]% `& b 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。
9 `+ k r: w- X 与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 ( M8 p& s% }$ Q" f# u
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
, z" N. `1 P( V9 x; e6 t N; F, O/ C2 y5 y5 l
2.计算方法+ U* Y3 z/ B- C! ?9 |
样本熵的计算方法如下:% _' z z7 n6 w4 A
![]()
" W; q3 w- N, q' R3 ~, I p6 ^: F7 [* e# t# E, x d; e$ D
3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: ) u5 d _: K$ [5 Y+ k. f l9 R& \
5 A, T# k, y! B n# V1 J$ d- G, Q5 Y
|