算法原理(2):样本熵(SampEn)
9 Y/ {. Q1 p5 o! R本文主要介绍样本熵的物理意义、算法以及Matlab里代码实现。: E. A6 s! _* t) u/ J
, t- H1 n5 k! s t9 c1.物理意义
5 s- A& Y0 Z( E3 f) E0 ~ 样本熵(Sample Entropy,SampEn)与近似熵的物理意义相似(近似熵参见博客【近似熵理论相关知识与代码实现】),都是通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。 " P2 K1 a. t3 O+ C
与近似熵相比,样本熵具有两个优势:样本熵的计算不依赖数据长度;样本熵具有更好的一致性,即参数m和r的变化对样本熵的影响程度是相同的。 & t; F- h8 G; o. \6 ]% [! I
样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。目前样本熵在评估生理时间序列(EEG,sEMG等)的复杂性和诊断病理状态等方面均有应用。4 g% b! `' S+ W4 c/ N
; O8 s0 _, m, X/ T$ H+ [& Q. d, |2.计算方法
& m) x' D3 {2 x5 [ 样本熵的计算方法如下:9 j7 J$ k, J- {* E* h
7 k! ]+ D1 _4 Z+ b& ?8 \) O# C
; e" p- b# e1 F. K1 s- q: s0 b3.代码实现 在Matlab里实现样本熵函数,计算一段时间序列的样本熵值,代码如下:
6 |4 a4 l; \: B$ c f2 T7 m
6 d" Q2 U/ h, _& h }2 x! N; W r. k- [9 a& H" `/ G
|