【故障诊断保姆级教程】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代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值