算法原理(2):样本熵(SampEn)& X- m# c( r5 n n# X
本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
. n* Q( b: L; X a1 k @3 s k# Z; Y9 B1 P+ H, c! d( m
1.物理意义1 F& Q2 m3 r5 x+ b, H
样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。 9 M+ K3 V- x. z* q
与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 - U6 v% f/ x( Z% o0 W9 V6 j
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。) v; w n7 W& R
. E9 Y: t, \) g0 d, G6 k. K% P1 N
2.计算方法# i( |6 D! ?' ~1 O! n, b6 I
样本熵的计算方法如下:
" j0 H. x' Z- } O$ b4 E ( P0 Q0 z, K# \6 E" W3 v/ O
9 [, |/ d* b5 u" B- |3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: - _5 M1 P- k/ y" U: M2 u2 N2 b* i9 ?5 I
9 P. a7 M- }( T5 E! ^# v/ _# p6 w
% ]9 y3 Z# P* v. V" a: X
|