算法原理(2):样本熵(SampEn)
" J2 P( N. }* y# B+ D3 G4 Z# G; T本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
; q% j$ N: V" p) Q5 x
/ |6 P& Q4 N! I9 O' n# S' w9 g( Z1.物理意义
5 s# R: _1 h* D; q" T& M; m 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。
/ T3 M( `- J7 U) v: J! P( f2 w 与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 - a ^9 M2 R' p( y2 V% }: N
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
, Y3 F3 O2 H$ A5 U
* Z0 g" s8 m4 f0 P/ i2.计算方法" c5 I' ?3 ` p. A/ j* e: Y
样本熵的计算方法如下:
5 A1 y& K. d/ n9 g% Q: X j + i! F5 p- c8 w5 b) \( O
# {3 f" d# c* ]
3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: 0 _& S; K, N% _+ u
# U1 m$ q* T6 T8 m! O8 @5 q1 @9 d3 {. `. [3 ?& i
|