算法原理(2):样本熵(SampEn)7 U+ o# o3 \1 _( B5 H4 K8 F. B0 a
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
$ M, g% q# F$ ^! V3 T$ @) P1 P P- L3 t3 m- M8 ]$ \
1.物理意义
; C& B0 C0 p$ Q 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。
, o4 F: Y$ i/ R) O1 Q 与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。
, p. c/ E" B3 | 样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。 U P5 h% V: L, t0 ^/ x
6 R* Z; V( t( J }& _% S2.计算方法
0 H6 ?( p* k" V8 o+ k 样本熵的计算方法如下:) p4 O6 ?' e- o
8 B) I4 w3 U0 o- U" l t# H" {' [' z( T
, x; c: w n& |0 F) K9 N3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: : T+ ~- {8 W2 {
: ]. E8 g- ~, }/ U, |4 p3 D
: y$ k* t- r( `# _ q
|