【时序分类-源自一区】12种排列熵Permutation entropy+7种分类器的状态识别/故障诊断-Matlab代码

引言

本期推出12种排列熵(排列熵Permutation entropy-加权排列熵Weighted-Permutation entropy及其多尺度)结合7种机器学习方法进行时序分类。并以时序分类种的机械设备的状态识别/故障诊断为例。

排列熵(Permutation entropy,翻译可能不准确哈,请谅解)于2002年发表在物理学顶级期刊 Physical Review Letters(简称PRL,中科院1区)。

针对排列熵的问题,加权排列熵(Weighted-Permutation entropy,翻译可能不准确哈,请谅解)被提出,于2013年发表在物理学顶级期刊 Physical Review E,简称PRE,和PRL为同一家族。

排列熵首次提出并运用于评估时间序列复杂性。那么排列熵可用于分析一切时间序列中,如:电能质量数据、振动数据、风速、功率、声音、温度、交通、水流、地震波、心率、脑电、肌电、金融等等,您能想到的时间序列皆有可能。

基于熵值理论的分析方法可以不经过数据的分解或变换,直接度量数据的复杂度,可完成不同时间序列的分类。解决时间序列分类问题主要有两步:1.利用熵的方法从信号中提取信息,即信号的熵值为特征;2.基于提取的熵值,利用机器学习方法作为分类器进行识别。

12种排列(可能没有参考文献,具有一定的首创性)。5种多尺度的理论知识在中、英文期刊都有很多,可以参考其他论文,本期不在赘述。

排列熵(Permutation Entropy)多尺度排列熵(Multiscale Permutation Entropy)层次排列熵(Hierarchical Permutation Entropy)复合多尺度排列熵(composite multiscale Permutation entropy)精细复合多尺度排列熵(refined composite multiscale Permutation entropy)时移多尺度排列熵(time-shift multiscale Permutation entropy)加权排列熵(Weighted Permutation Entropy),多尺度加权排列熵(Multiscale Weighted Permutation Entropy),层次加权排列熵(Hierarchical Weighted Permutation Entropy),复合多尺度加权排列熵(composite multiscale Weighted Permutation entropy),精细复合多尺度加权排列熵(refined composite multiscale Weighted Permutation entropy),时移多尺度加权排列熵(time-shift multiscale Weighted Permutation entropy)

7种器学习方法:

极限学习机(Extreme Learning Machine,ELM)支持向量机(Support Vector Machine, SVM)决策树(Decision Tree,DT)长短时记忆网络 LSTM双向长短时记忆网络 BiLSTM门控循环网络 GRU概率神经网络 PNN

数据集

本文使用故障识别和诊断任务中经典的凯斯西储大学CWRU数据集。随机选择了5类状态(当然可以加入更多的状态),选用DE端的振动数据,暂且命名为正常,故障1,故障2,故障3,故障4。设置每个样本长度为1024,每类状态共100个样本,总样本大小为:500*1024。即样本数*样本长度。

图片

样本分割设置了重叠个数,可以随意选择重叠个数进行样本划分。非重叠即为重叠个数为0的情况,具体的原理如下:
非重叠:

图片

重叠:

图片

特征提取

计算每个样本的熵值(以上6种熵可随意切换),形成500*n的特征空间,将特征输入到后续的分类器中。对于单个熵而言,n=1,对于多尺度熵而言,n=你设置的时间尺度

分类器

将上述特征空间以一定的比例,划分了训练集、测试集,可非常方便地输入到任何分类器中

暂时集成了7种常用的分类器(可随意切换,也可自行添加其他分类器):

多尺度排列熵MPE-决策树DT

结果展示

不同状态对比

图片

混淆矩阵及分类结果图

图片

特征值 和 多次运行结果保存在mat中。可以方便使用matlab,python调用和查看这里考虑快速验证代码和算法,仅运行了2次,可根据实际需要修改。可以看到各状态的特征类间分离明显,类内高度聚合。分类结果还是挺好的。

层次加权排列熵MWPE-支持向量机SVM

结果展示

图片

图片

图片

友情提示

1.理论上,该代码可适用于所有时间序列分类数据集,仅需将数据格式转换成:样本数N x 特征个数M。因此,可以浅显的理解:多分类问题实质是一个数据格式转换过程

2.理论上,该代码可替换的部分只有:数据加载和参数设置好处是:代码修改量极少,复用率高

3.如有matlab基础语法和代码bug问题,请多看资料,百度或者GPT解决;

Matlab代码下载

微信搜索并关注-优化算法侠,或扫描下方二维码关注,以算法名字搜索历史文章即可下载。

【时序分类-源自一区】12种排列熵Permutation entropy+7种分类器的状态识别/故障诊断-Matlab代码

点击链接跳转:


matlab版的340种基础优化算法免费下载

cec2017测试函数使用教程及matlab代码免费下载

cec2018测试函使用教程及matlab代码免费下载

cec2019测试函使用教程及matlab代码免费下载

cec2020测试函使用教程及matlab代码免费下载

cec2021测试函使用教程及matlab代码免费下载

cec2022测试函使用教程及matlab代码免费下载
绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!

215种群智能优化算法python库

Amazing!Python版215种群智能优化算法icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=1&sn=6b439e55b37b6482b8d3831ca85f1d55&chksm=c12be0c8f65c69de71ad51d3b736b871ff52f8646e90624f95dd32b024dfaad369d654aaf8fc#rd

求解cec测试函数-matlab

最新最火!cec2022测试函数来了(附Matlab代码)icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247484693&idx=1&sn=ce311acb26bee2894db6fe90776288bd&chksm=c12be910f65c6006af080b1e97ad5514eee06b64d2caeeac2008b8c06fdc3ba379455e9ca709&scene=21#wechat_redirect

解决12工程设计优化问题-matlab

略微出手,工程设计问题(12)(附Matlab代码)icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247485052&idx=1&sn=80e5573c1c005ee5640e44935044ee35&chksm=c12bea79f65c636fc73758b4f4893502bd89cbd1c5d15d7db15e8b5c94eeae40450439d44944&token=681266555&lang=zh_CN#rd

求解11种cec测试函数-python

【选择自由,免费下载】215种优化算法求解11种cec测试函数-python代码icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=2&sn=eea8fb04dc507ab9119e2c97c03ca2f6&chksm=c12be0c8f65c69decd6c8109f6b997986bf58725fdbbd7ab03752cb6f61aacdb5a2dc7fec762#rd解决30种工程设计优化问题-python

【一码解决】215种优化算法求解30个现实世界的工程设计优化问题,让你的论文增色10倍(附Python代码)icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=3&sn=ea6d26ae7cb651e5c368f4c73ade228e&chksm=c12be0c8f65c69de739af72d9793838f59ab77bfee36bc2c204f96e2a9e5c6d87dfbbbae698e#rd

用于改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)

用于改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)21种混沌映射方法-混沌初始化,适用于所有优化算法icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486215&idx=2&sn=58f1a69175b0d6431a4c7cdfa114b84d&chksm=c12be702f65c6e14e6bd1ddc33b9cec74991d93303c325853049b7e4afd09039b13083fa79c5&token=25423484&lang=zh_CN#rd

沙场大点兵:24种信号分解方法(附matlab代码) 

沙场大点兵:24种信号分解方法(附matlab代码)icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486001&idx=1&sn=a87c24cb401017a78a90bd1b1439fcb0&chksm=c12be634f65c6f22368b7229a59ac5ef330b89d710c826dbfd1a1c34a02b1dd7e909c7f40d79&token=25423484&lang=zh_CN#rd

 沙场大点兵:27种一维数据转换成二维图像的方法-matlab代码沙场大点兵:27种一维数据转换成二维图像的方法-matlab代码icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486260&idx=1&sn=81b1970cb89364c0289ccdfb403e5388&chksm=c12be731f65c6e273a85456326b503b7f35d9f035405050932ff1926e0b1bfa8076b1bc2d1f2&token=25423484&lang=zh_CN#rd

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值