排列熵(Permutation Entropy)
基本原理
设有长度为 \(N\) 的时间序列 \(\left\{ {{x_1},{x_2}, \cdots ,{x_N}} \right\}\) ,排列熵的计算步骤如下:
将时间序列进行相空间重构,嵌入维度为 \(m\) ,形成向量序列 \(\left\{ {{x_1}\left( m \right),{x_2}\left( m \right), \cdots ,{x_{N - m + 1}}\left( m \right)} \right\}\) ,其中:
每个向量 \({x_i}\left( m \right)\) 内元素排列的顺序模式记为 \({\pi _j}\)。嵌入维度为 \(m\),则一共有 \(m!\) 种顺序模式。统计每种顺序模式 \(\left\{ {{\pi _j}} \right\}_{j = 1}^{m!}\) 出现的概率,记为:
小技巧
例如当 \(m = 3\) 时,向量内的元素由小到大记为 \(0,1,2\) ,共有 \(m! = 6\) 种顺序模式 \((012,021,102,120,201,210)\) 。对于向量 \({x_1}\left( 3 \right) = \left( {8,12,6} \right),{x_2}\left( 3 \right) = \left( {9,3,8} \right)\),有 \({x_1}\left( 3 \right)\) 的顺序模式为 \(\pi = 120\) ,\({x_2}\left( 3 \right)\) 的顺序模式为 \(\pi = 201\) 。
排列熵定义为:
归一化处理后为:
代码实现
这里假设您已经获得本项目的的所有代码,若您此时还未获得有关程序,请移步到 安装说明
排列熵(Permutation entropy)的核心程序为 MultiscalePermutationEntropy
function MPE = MultiscalePermutationEntropy(data,m,t,scale)
MPE=[];
for j=1:scale
Xs = Multi(data,j);
PE = PermutationEntropy(Xs,m,t);
MPE=[MPE,PE];
end
end
重要
各输入参数的信息如下:
data:输入的时间序列,为列向量m:嵌入维度r: 容限scale:尺度比
仿真验证
排列熵的脉冲检测结果
多尺度排列熵的故障分类可视化结果
抗噪性分析
计算效率结果
- 1
Bandt and B. Pompe, “Permutation Entropy: A Natural Complexity Measure for Time Series,” Phys. Rev. Lett., vol. 88, no. 17, p. 174102, Apr. 2002, doi: 10.1103/PhysRevLett.88.174102.