算法原理(2):样本熵(SampEn)" U3 t9 G- F5 ?6 r/ k
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
# e( y, N$ b. m0 T+ E( M
& F" _* [) Q) }) ?+ h+ P1.物理意义; t6 Z1 P6 \7 X/ O1 l8 `
样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。
( \, u/ c h( ] 与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。
$ x7 t# T) O/ c0 F* J 样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。' n* E& a. c, X d( C' J8 ?
8 C0 ^; O6 K1 R1 y; y) g
2.计算方法
0 K3 ?; ]5 a6 |! d2 x% v9 j" q! i! r 样本熵的计算方法如下:
: W/ ~% E* o4 T4 r1 L) c; F4 s![]()
+ q1 s& Q% z0 Y( w X
$ Z8 g W/ I; i5 [7 L2 \; ?3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: 1 n# |* c0 }- |9 q. b& {
0 D9 j, i) A: y9 u
/ d: m1 M: M' Y6 q& L# d
|