排列熵的主要原理可见链接1与链接2


针对这两天学习排列熵的疑问,根据上述理论与链接代码进行理解的基础上,将matlab代码增添了一些注释,使得能详细的说明其原理。


此外,需要说明的是。

“(3) 计算每一种符号序列出现的次数除以m!种不同的符号序列出现的总次数作为该重构分量的概率。”

  1. 针对于所构建的K行m列矩阵,若取出某一行进行排序,可获得排序后的序列。由于矩阵中任一行的列数为m,m个数进行全排,其排列后的种类应为m!种。
  2. 针对矩阵的第1行,对其进行排序,那么此时这个序列应该必定为m!种的1种。
  3. 若矩阵的所有行之间排序的索引均不相同,若按照上述总次数的理解,则每行的概率应该为1/(m!)。其实并非如此,因为分母并不是m!,而是“出现的总次数”,未出现的不计算在内。
  4. 比如,最简单的,假设矩阵的所有行之间排序的索引均不相同,那么K行矩阵就出现K种排序。总的次数应该为K个1相加。由于均不相同,其频数均为1,则每行的概率应均为1/K。
  5. 那么若存在矩阵的所有行之间排序的索引相同的情况下内,我们只需要统计种类。比如K行中的第1和第2行排序后,索引序列相同,那么我们将该索引序列的频数记为2,后续第3行至第K行均不同,则频数均分别为1。此时总的次数依然为K。但是第1种和第2种一共占有2/K。第3行至第K行均占有1/K。
  6. 由于占的比重不同,最后利用比重进行求和时,则,该公式中p即为比重。

排列熵 matlab代码

%% 主函数调用排列熵函数求时间序列的排列熵值[m,n]=size(X);  % X为时间序,一行为一个时间序列。% 相空间重构:eDim为嵌入维数,eLag为延迟时间
% 当X具有多列和多行时,每列将被视为独立的时间序列,该算法对X的每一列假设相同的时间延迟和嵌入维度,并以标量返回ESTDIM和ESTLAG。
[~,eLag,eDim] = phaseSpaceReconstruction(X);% 求排列熵:pe为排列熵
pe=zeros(1,m);
for i=1:m[pe(i),~] = pec(X(i,:),eDim,eLag);
end%% 排列熵算法
function [pe ,hist] = pec(y,m,t)%  Calculate the permutation entropy%  Input:   y: time series;
%           m: order of permuation entropy 嵌入维数
%           t: delay time of permuation entropy,延迟时间% Output:
%           pe:    permuation entropy
%           hist:  the histogram for the order distributionly = length(y);
permlist = perms(1:m);
% perms函数可将某个向量生成一个矩阵,利用该向量的内容进行排列。比如本例中的1,2,3,4,...,(m-1),m这个向量。其无序排列的结果有m!种,将m!种排到一个矩阵,为m!*m矩阵[h,l]=size(permlist);
c(1:length(permlist))=0;
%生成一个1*m!的均为0的向量。其实用zeros更好。c=zeros(1,length(permlist))for j=1:ly-t*(m-1)[~,iv]=sort(y(j:t:j+t*(m-1)));
%对构建的矩阵的每一行进行排列,获得其在原始数据中的索引值(即位置)ivfor jj=1:hif (abs(permlist(jj,:)-iv))==0
%在m!种可能性中遍历所有行,找出是否与该当前的索引值存在相同,若相同,则在0向量c中的jj列上的值+1,结束后,换矩阵的另一行继续找相同的索引值。总计K行。c(jj) = c(jj) + 1 ;endendend
hist = c;
c=c(find(c~=0));
%find为找出向量c中的所有的非0统计数的位置。c(find)为利用位置找出C中所有的非0数。即挑出所有的非0数组成向量c。p = c/sum(c);%统计向量中所有数占的比重。
pe = -sum(p .* log(p));%利用比重进行求和。
end

关于排列熵的一些理解与解释相关推荐

  1. 【熵与特征提取】从近似熵,到样本熵,到模糊熵,再到排列熵,究竟实现了什么?(第一篇)——近似熵及其MATLAB实现

    在特征提取领域,近似熵.样本熵.排列熵和模糊熵是比较经常出现的概念. 首先一句话总结一下:这几个熵值都是用来表征信号序列复杂程度的无量纲指标,熵值越大代表信号复杂度越大.信号复杂程度的表征在机械设备状 ...

  2. 排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现

    目录 一.排列熵 1.概念 2.基本原理 补充说明 3.MATLAB代码 参考文献 一.排列熵 1.概念 一种检测动力学突变和时间序列随机性的方法,能够定量评估信号序列中含有的随机噪声. 2.基本原理 ...

  3. 【熵与特征提取】从近似熵,到样本熵,到模糊熵,再到排列熵,究竟实现了什么?(第四篇)——“排列熵”及其MATLAB实现

    今天讲排列熵,之前用了三篇文章分别讲述了近似熵.样本熵和模糊熵: Mr.看海:[熵与特征提取]从近似熵,到样本熵,到模糊熵,再到排列熵,究竟实现了什么?(第一篇)--"近似熵"及其 ...

  4. 排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现之近似熵

    说明:"本博文为排列熵.模糊熵.近似熵.样本熵的原理及MATLAB实现"系列博文的最后一篇,关于排列熵.模糊熵.样本熵的内容请阅读博客: 排列熵 模糊熵 样本熵 近似熵 四.近似熵 ...

  5. 排列熵算法--用于时间序列信号的复杂度检测

    排列熵算法(Permutation Entropy PE) 出发点:用于脑电信号的信号判别,提取该排列熵特征,以区分不同的类 其它突变信号检测方法: 总结: 1.傅里叶变换在全局上提供了信号整体奇异性 ...

  6. 时间序列分析之排列熵(Permutation Entropy)

    排列熵(Permutation Entropy,PeEn) 概念 排列熵同样和前面提到的近似熵.样本熵以及模糊熵一样,都是用于衡量时间序列复杂程度而的指标.只不过,它在计算重构子序列之间的复杂程度时, ...

  7. 近似熵、样本熵、模糊熵、排列熵摘抄总结

    本文总结摘抄于多个网上链接,用于学习和整理用途 1.模糊熵.样本熵.近似熵都是什么?反映了什么? 2.近似熵理论相关知识与代码实现 3.样本熵理论相关知识与代码实现 4.模糊熵理论相关知识与代码实现 ...

  8. 排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现之模糊熵

    目录 二.模糊熵 1.概念 2.基本原理 3.MATLAB代码 4.参考文献 说明:关于排列熵的内容请阅读博客:排列熵.模糊熵.近似熵.样本熵的原理及MATLAB实现 二.模糊熵 1.概念 在样本熵的 ...

  9. 参数优化多尺度排列熵算法

    目录 一.多尺度排列熵原理 1.1 排列熵(PE) 1.2 多尺度排列熵(MPE) 1.3 参数对MPE的影响 二.参数优化方法 2.1 遗传算法(GA) 2.2 粒子群优化算法(PSO) 2.3 多 ...

最新文章

  1. html打印在一页面布局,html – CSS打印布局 – 单页打印
  2. xml命名空间只是标记区分不同的空间的作用,一般与上网无关,虽然通常都写的是URL网址
  3. Centos6.5-----nagios快速安装编译配置文档-全部虚拟环境
  4. 【百度地图API】暑假放假回老家——城市切换功能
  5. IOCP 浅析与实例
  6. 一英寸芯片大小_科普:为什么标称1英寸的CMOS成像芯片,其对角线长度不是25.4mm?...
  7. Ant学习---第二节:Ant添加文件夹和文件夹集的使用
  8. 092:QuerySet API详解-切片操作
  9. 西门子、三菱、台达PLC手机组态软件,支持modbus协议的ModbusTesla手机组态软件 只支持modbus tcp,只要下位机支持标准的modbus协议就可以
  10. 中国对数字货币的态度及政策
  11. 中国超级稻在18个亚非国家试种推广 国稻种芯百团计划行动
  12. video sematic segmentation视频语义分割方向相关论文罗列+数据集下载链接
  13. spring-boot2 + vue2+element-ui + avue + uni-app (兮家开源商城)
  14. 第5-2课:图的拓扑排序
  15. 《财务自由之路III》阅读笔记2021-03-18
  16. 2021年甘肃省安全员C证报名考试及甘肃省安全员C证考试报名
  17. 实现宏offsetof()
  18. R语言epiDisplay包的kap函数计算配对列联表的计算一致性的比例以及Kappa统计量的值(总一致性、期望一致性)、使用xtabs函数生成二维列联表、使用wttable参数设置权重表参数为w2
  19. 数字IC/FPGA设计之——学习路径
  20. 两台电脑串口传输文件及调用opencv库编程显示图片和文本

热门文章

  1. MyBatis的核心对象
  2. SpringBoot:概述,注解,搭建,部署
  3. vpwm的控制变频_变频器调速控制方式和PWM脉宽调整技术有什么不同
  4. @敏捷组织从业者,开放敏捷架构O-AA™标准考试及认证项目重磅上线!
  5. ARP与RARP协议详解 (三)
  6. 深入理解Pytorch负对数似然函数(torch.nn.NLLLoss)和交叉熵损失函数(torch.nn.CrossEntropyLoss)
  7. Leiden算法介绍
  8. swath data 是什么意思
  9. Linux 踩内存 slub,Linux SLUB 内存分配器分析
  10. php雅思老师,雅思口语话题:最喜欢的老师