算法原理(2):样本熵(SampEn)0 ?- B$ K' T% H6 f4 Z# G
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
6 s$ A, i* z% e. A) V2 G" a$ A7 h- t& q! k
1.物理意义8 H* f, h' n1 \( G8 F$ `
样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。 3 h. ]" ]! `# s) u9 a' F
与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 1 e5 |. }0 s" ]% M f5 r
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。3 S a; e4 }4 r U: y5 g7 e- w
( m0 [- ?0 n# D1 x
2.计算方法
! n7 R" {: D: z7 n 样本熵的计算方法如下:
4 t- ] }; _' B" ^![]()
" M- a* j' m& H
8 p2 z5 T0 O4 H. r% h2 q3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: 8 i% _+ }; ~* g2 v
% _0 m& k0 V5 K! U' F* L
1 e, H, O$ s# @; z, X% o |