算法原理(2):样本熵(SampEn)7 U$ Q. s/ I( ]0 h6 @
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
% f: `8 d) I/ U( G/ y1 ?. C4 ~ B t [, ]0 G# S5 A1 a3 q
1.物理意义
8 z* d& d2 q7 r7 n 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。 4 d) n1 _* p9 D! H' s
与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。
& Z1 F8 z4 \% D4 K! V( e 样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
0 R5 F; _8 o: v$ A# T0 I0 Y9 h# [$ h) z
2.计算方法
2 k- n% c) W2 y* H! B' r. w 样本熵的计算方法如下:
6 W0 t: U- X3 T( X" Y7 j0 P+ x6 L ( f$ S! t# q# n2 k
# u5 j5 P& D8 b" O1 ]7 [3 y3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: ! R) f, I* [( q4 Z( m- y( K
( _5 C. x0 t; ^ i b8 j3 Y
5 x c5 j( a$ V" r |