排列熵(permutation entropy)

排列熵算法是一种动力学突变检测方法,能够方便、准确的定位系统发生突变的时刻,并且对于信号的微小变化具有放大作用1 2

排列熵的计算步骤

1、对时间序列X进行相空间重构(相空间大小记为m),得到矩阵。矩阵的每一行都是一个相空间长度的序列。
2、对矩阵的每一行按升序重新排列,排序后记录该行排序前的下标顺序得到一组符号序列。
3、统计每一行的下标顺序出现的次数/m!,作为该行的概率,计算时间序列虽有行的信息熵求和即为排列熵。

由以上计算步骤可知,当每一行的下标符号序列概率P = 1 / m!时,排列熵值,记为 HPE,达到最大值。此时时间序列的复杂度越高(在符号序列中没有重复的,或者重复的很少)。反过来,当HPE值变小的时候,表示时间序列越规则。在这里插入图片描述
图1.原始信号的rms曲线
在这里插入图片描述
图2.原始信号的rms曲线的排列熵
对照图1,图2,可知当原始信号的rms曲线出现连续出现递增情况时,排列熵值降低。即当一段时间内时间序列的rms曲线变化情况一致时,排列熵值会不断减小,即rms+排列熵可以表示一种时间序列的变化趋势的持续现象。

clear all;
clc;
load B1_1
% x = rms(outer');
x = H_data_RMS;

figure(1)
plot(x);%时基图
a=1;

for i=1:1:2753
    X= x(i:i+50-1)';
    disp(i)
    [pe hist] = pec(X, 4, 5);
    plist(a) = pe;
    a=a+1;
end
figure(3);
plot(plist);

  1. 排列熵算法的研究与展望[J]. ↩︎

  2. Detecting dynamical changes in time series using the permutation entropy[J]. ↩︎

猜你喜欢

转载自blog.csdn.net/fws920910fws/article/details/87890412