算法原理(2):样本熵(SampEn)2 x3 k O0 j0 I
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。0 _$ |) L7 c# J7 @0 B
% e8 Y+ P. p8 C$ ~# j1.物理意义
7 q( n7 T! {3 a, g, y2 _) n. y 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。 6 j' z% M' C; L% t5 x5 m) d( D
与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 - K5 d# E$ H& J! I5 d9 }7 r6 `
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。5 l4 L( S1 B7 {
6 l$ |( G9 Z6 D8 Y1 r2.计算方法
; ^: t3 P; B* o) @& ^1 w 样本熵的计算方法如下:, M o% C$ F+ R X" T
6 t$ b. D2 U% Z! G# }1 d- C) Q! t
$ n. b3 J0 X' f* o8 ^3 v
3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下:
c; O9 T% w9 i9 v3 F
/ f6 R) ]. |" _! @$ S+ ^3 {+ R: x! D0 C! Z5 f: r( v
|