算法原理(2):样本熵(SampEn)
! Q6 @6 X* k, u( U0 I本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。. ] G. h1 h! [7 G- ~
4 {1 q; f" w, A
1.物理意义2 u& O* H0 V8 S2 g: N& D+ Q
样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。
6 A* N" n$ U6 B$ Q0 x9 E9 P0 y4 W 与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。
" K0 F. X' @0 U' A2 m3 {) d 样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
$ M' y$ M$ n, r# b
( n* A p) N# a. |5 d' ^) [2.计算方法
# f3 L, Y* P& X' G' P$ ^. ^5 f) j 样本熵的计算方法如下:6 H# R8 W8 H* n( L% h: H |
9 n# L9 Y7 v5 Z) i3 ^" k
3 [0 G% h* S& G5 f
3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下:
1 u5 M: l: O8 `( C. h9 A- k0 i
7 \) X+ ~9 h( U! e+ T9 T
& Q9 `+ q+ R* u3 V0 j. v( r |