模糊熵(Fuzzy entropy)
基本原理
在样本熵的基础上引入了一种模糊隶属度函数得到了模糊熵。设有长度为 \(N\) 的时间序列 \(X = \left\{ {x\left( 1 \right),x\left( 2 \right), \cdots ,x\left( N \right)} \right\}\) ,模糊熵的计算步骤如下:
将时间序列 \(X\) 重构相空间,形成向量序列 \(\left\{ {{x_m}\left( 1 \right),{x_m}\left( 2 \right), \cdots ,{x_m}\left( {N - m + 1} \right)} \right\}\) ,嵌入维度也就是向量的维度为 \(m\) ,其中:
重要
这里的 \(x0\left( i \right)\) 为基线向量,通过去除基线进行泛化。\(x0\left( i \right)\) 定义为
定义距离 \(d_{ij}^m\) 为向量 \({x_m}\left( i \right)\) 和 \({x_m}\left( j \right)\) 对应元素差值绝对值的最大值,即切比雪夫距离:
给定模糊函数参数 \(n\) 和 \(r\) ,通过模糊函数 \(\mu \left( {d_{ij}^m,n,r} \right)\) 计算 \({x_m}\left( j \right)\) 对 \({x_m}\left( i \right)\) 的相似程度:
重要
模糊函数 \(\mu \left( {d_{ij}^m,n,r} \right)\) 为指数函数,如下:
定义函数 \({\phi ^m}\left( {n,r} \right)\) 为:
将维数 \(m\) 增加到 \(m + 1\) ,重复以上(步骤1-步骤4),得到 \({\phi ^{m + 1}}\left( {n,r} \right)\)
模糊熵可以被定义为
对于有限长度为 \(N\) 的序列,模糊熵可以被定义为
备注
模糊熵是由Chen等人 1,提出的,建议的参数选择为:
嵌入维度 \(m=2\)
容限 \(r\) 一般取 0.1~0.25 倍时间序列的标准差(SD)。
参数 \(n=2\) 。在后续的仿真验证中,我们选择 \(m=2\) , \(n=2\) , \(r = 0.15 \times {\rm{SD}}\) 。
代码实现
这里假设您已经获得本项目的的所有代码,若您此时还未获得有关程序,请移步到 安装说明
模糊熵(Fuzzy entropy)的核心程序为 MultiscaleFuzzyEntropy_pdist_paran
function MFE=MultiscaleFuzzyEntropy_pdist_paran(data,m,n,r,scale)
MFE=[];
for j=1:scale
Xs = Multi(data,j);
FE=FuzzyEntropy(Xs,m,n,r);
MFE=[MFE,FE];
end
end
重要
各输入参数的信息如下:
data:输入的时间序列,为列向量m:嵌入维度r: 容限scale:尺度比
仿真验证
模糊熵的脉冲检测结果
多尺度模糊熵的故障分类可视化结果
抗噪性分析
计算效率结果
- 1
Chen, Z. Wang, H. Xie, and W. Yu, “Characterization of Surface EMG Signal Based on Fuzzy Entropy,” IEEE Trans. Neural Syst. Rehabil. Eng., vol. 15, no. 2, pp. 266–272, Jun. 2007, doi: 10.1109/TNSRE.2007.897025.