算法原理(2):样本熵(SampEn)1 v; {8 i1 o0 ~/ A
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。" ^+ A# e8 L! s- }
9 t8 C# Q. g% t1.物理意义
; w0 `' q ]% T 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。
: e7 k" T$ v* C! |8 D1 }2 ` 与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。
, w6 Q( q3 [. Y- N2 N2 R, _: C 样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
$ S2 l' ^: W" P, Y
9 U# B* ]. k5 T( F- ]( m9 z9 [$ w2.计算方法1 O( J6 X) r9 X
样本熵的计算方法如下:
* t @2 ~) X: W# y* E0 C: ?8 h![]()
* F. \2 ~) I2 W r* N F S
$ `9 @( t A+ D5 H! t& D: J3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下:
& w. O, a k* c, O9 w/ Q
% T% q0 F. H2 Y. u0 ^ _, l* N* k- }& r% d* B/ o9 @
|