引言
机械设备在运行中的故障率较高,使得状态识别、故障诊断得到广泛重视。目前,常见的故障诊断方法主要包括振动信号分析,声学信号分析,温度监测,电信号分析等。传统时、频域的特征提取方法往往不能有效提取隐藏的故障特征,导致故障识别率降低。由于在不同位置发生故障时,故障冲击引起的系统响应不同,从而使得监测数据的混乱程度有所不同。基于熵值理论的分析方法可以不经过数据的分解或变换,直接度量数据的复杂度,可完成不同故障的识别。状态识别、故障诊断本质是一个分类问题,解决这类问题主要有两步:1.利用熵的方法从信号中提取信息,即信号的熵值为故障特征;2.基于提取的熵值,利用机器学习方法作为分类器进行识别。
本期推出散布熵(又称色散熵)及其5种多尺度熵共6种熵结合多种机器学习方法进行状态识别、故障诊断。
散布熵(Dispersion Entropy)
多尺度散布熵(Multiscale Dispersion Entropy)
复合多尺度散布熵(Composite Multiscale Dispersion Entropy)
精细复合多尺度散布熵(Refined Composite Multiscale Dispersion Entropy)
时移多尺度散布熵(Time-shift Multiscale Dispersion Entropy)
层次散布熵(Hierarchical Multiscale Dispersion Entropy)
基于散布熵及5种多尺度的理论知识中、英文期刊都有很多,本期不在赘述。
参考文献:
-
散布熵:M. Rostaghi and H. Azami, “Dispersion Entropy: A Measure for Time-Series Analysis,” IEEE Signal Process. Lett., vol. 23, no. 5, pp. 610–614, May 2016, doi: 10.1109/LSP.2016.2542881.
-
多尺度散布熵:Lebreton, C.; Kbidi, F.; Graillet, A.; Jegado, T.; Alicalapa, F.; Benne, M.; Damour, C. PV System Failures Diagnosis Based on Multiscale Dispersion Entropy. Entropy,2022, 24, 1311.
-
复合多尺度散布熵:郑近德,李从志,潘海洋.复合多尺度散布熵在滚动轴承故障诊断中的应用[J].噪声与振动控制,2018,38(S2):653-656.
-
精细复合多尺度散布熵:李从志,郑近德,潘海洋,等.基于精细复合多尺度散布熵与支持向量机的滚动轴承故障诊断方法[J].中国机械工程,2019,30(14):1713-1719+1726.
-
时移多尺度散布熵:王勉,刘勇.基于时移多尺度散布熵和SVM的滚动轴承故障诊断方法[J].机械设计与研究,2021,37(05):83-87.
-
层次散布熵:吴芮,张守京.基于层次散布熵的滚动轴承剩余寿命预测方法[J].电子测量技术,2023,46(05):65-71.
02. 实操
数据集
本文使用故障识别和诊断任务中经典的凯斯西储大学CWRU数据集。随机选择了5类状态(当然可以加入更多的状态),选用DE端的振动数据,暂且命名为正常,故障1,故障2,故障3,故障4。设置每个样本长度为1024,每类状态共100个样本,总样本大小为:500*1024。即样本数*样本长度。
样本分割设置了重叠个数,可以随意选择重叠个数进行样本划分。非重叠即为重叠个数为0的情况,具体的原理如下:
非重叠:
重叠:
特征提取
计算每个样本的熵值(以上6种熵可随意切换),形成500*n的特征空间,将特征输入到后续的分类器中。对于散布熵而言,n=1,对于多尺度熵而言,n=你设置的时间尺度。
分类器
将上述特征空间以一定的比例,划分了训练集、测试集,可非常方便地输入到任何分类器中。
暂时集成了3种常用的分类器(可随意切换,也可自行添加其他分类器):
-
极限学习机(Extreme Learning Machine,ELM)
-
支持向量机(Support Vector Machine, SVM)
-
决策树(Decision Tree,DT)
为了消除随机性带来的影响,使结果更具说服力,模型运行了多次,每次运行都随机选择新的训练集和测试集,以平均结果作为最后的结果。
诊断流程
故障识别、诊断流程图大致如下:
HDE-ELM结果展示:
不同状态对比
混淆矩阵
分类结果图
特征值 和 多次运行结果保存在mat中。可以方便使用matlab,python调用和查看这里考虑快速验证代码和算法,仅运行了2次,可根据实际需要修改。
友情提示
1.理论上,该代码可适用于所有分类数据集,仅需将数据格式转换成:样本数N x 特征个数M。因此,可以浅显的理解:多分类问题实质是一个数据格式转换过程;
2.理论上,该代码可替换的部分只有:数据加载和参数设置。好处是:代码修改量极少,复用率高;
3.如有matlab基础语法和代码bug问题,请多看资料,百度或者GPT解决;
4.如有其他专业疑问,请多阅读相关文献。
Matlab代码下载
微信搜索并关注-优化算法侠,或扫描下方二维码关注,以算法名字搜索历史文章即可下载。
基于散布熵(色散熵)及其5种多尺度熵的状态识别、故障诊断(附Matlab代码)
点击链接跳转:
cec2022测试函使用教程及matlab代码免费下载
绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!
175种群智能优化算法python库
求解cec测试函数-matlab
解决12工程设计优化问题-matlab
求解11种cec测试函数-python
解决12种工程设计优化问题-python
用于改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)
沙场大点兵:24种信号分解方法(附matlab代码)
沙场大点兵:27种一维数据转换成二维图像的方法-matlab代码沙场大点兵:27种一维数据转换成二维图像的方法-matlab代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486260&idx=1&sn=81b1970cb89364c0289ccdfb403e5388&chksm=c12be731f65c6e273a85456326b503b7f35d9f035405050932ff1926e0b1bfa8076b1bc2d1f2&token=25423484&lang=zh_CN#rd