算法原理(2):样本熵(SampEn)
- S/ k5 F$ |# p本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。
9 w! x1 K z& e# T6 P3 W
1 S2 P0 h- k" M$ ~$ _) ^8 a1.物理意义
6 Y2 l! \" x; B* n$ C6 `$ U 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。 6 `+ V: z# }' L' Z: m! G* S" M5 v* m
与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 6 U$ X! S/ h# h7 Z& w6 {# y6 M. J+ ?
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。
6 @4 d; m; n1 N+ I4 D. x F% S: E! ^- n
2.计算方法
5 }: I: ?- C. z: c) m' ? 样本熵的计算方法如下:. |/ S8 S0 M9 F2 N8 T$ H8 Q) Q7 T
, o8 N# B: `8 k# r
; t/ X% J/ J7 z# m
3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下: ; `+ ]0 F& u/ {' } n, N" \
: E. d, g6 W9 J( F# y+ F' ]
# \; g3 ^2 v3 x5 ?+ K |