概要
继前期几篇轴承寿命预测,本期再推出一篇有关寿命预测的模型。
往期有关轴承寿命预测的文章如下:
基于堆叠去噪自编码器(SDAE)的轴承寿命预测,MATLAB代码
Transformer-LSTM网络的轴承寿命预测,保姆级教程!
以上两篇文章均为MATLAB代码,后台不少小伙伴询问有没有关于python代码的。本期出一个基于python代码的,且是一个高创新模型——BiLSTM-KAN。
本期推出的模型是基于pytorh搭建的,与前两篇轴承寿命预测的文章思路一致,接下来再详细介绍一下。
首先聊一下PHM2012数据集。
PHM2012数据集需要注意的地方
网上关于PHM2012数据集的介绍有很多,我也将关于这个数据的官方文档介绍放在了代码压缩包里。关于PHM2012数据集的基础介绍可以看这个链接:https://zhuanlan.zhihu.com/p/583606882
这里只讲一下到底该怎么使用这个数据集!我看到网络上很多很多的文章都用错了!
先附一张关于PHM2012数据集图片:
这里以工况1为例进行说明。首先官方的PHM2012数据集说明文档提到,在训练集Bearing1_1和Bearing1_2这两个轴承都是属于从健康状态一直跑到了完全失效,如果采用0-1对健康指标量化,那完全失效的那一刻对应的就是1。那么重点来了!
而测试集Bearing1_3~Bearing1_7虽然也从健康状态跑到了完全失效,但是官方给出的数据集并不是从健康状态跑到完全失效的全部数据集,而是在即将失效的时候,给截断了!因此也就是说,测试集数据的末位并不是完全失效的状态,那么健康指标也不能直接对应到1。这里附上测试集跑到完全失效还需要的真实时间,也就是真实的剩余寿命:
接下来要做的工作就是:利用训练集训练好深度学习网络模型后,将测试集送入模型进行预测,那么重点又来了,并接下来要先对预测结果进行一个平滑滤波,然后采用最小二乘法等方法对滤波后的曲线进行一个拟合,从而得到该拟合的曲线在达到失效阈值的时间,最后看看这个时间和上述图片的真实寿命有多少差距,以此来判断你模型的好坏!
官方文档还给出了一个评分规则:
好的,弄懂这一部分后,咱们接下来看看本期模型预测结果吧!
BiLSTM-KAN网络的轴承寿命预测
关于BiLSTM-KAN网络模型:
KAN网络属于近期非常热门的一个模型,与传统的MLP架构截然不同,KAN网络能用更少的参数在数学、物理问题上取得更高精度。KAN其灵感来源于 Kolmogorov-Arnold 定理,这个定理的含义就是任意一个多变量连续函数都可以表现为一些单变量函数的组合。
KAN的核心特点是在网络的边缘(即权重)上拥有可学习的激活函数,而不是像传统的MLPs那样在节点(即神经元)上使用固定的激活函数。并且KAN的准确性和可解释性要比MLP好很多。
KAN的优点:
1. KAN可以避免大模型的灾难性遗忘问题
2. 在函数拟合、偏微分方程求解方面,KAN比MLP更准确
3. KAN可以直观地可视化。KAN 提供MLP无法提供的可解释性和交互性
KAN的缺点:
1.训练速度慢:因为训练一个激活函数,需要无限多的循环进行验证
2. 对于更深层结构可解释性是否还存在,论文中给出的实验只是浅层的
3.KAN网络在求解非线性函数等工程问题时更精确,但在时间序列预测方面,训练起来就非常慢。但是将其作为网络的一个小的改进点,还是可以的。
本期带来的BiLSTM-KAN网络,是在BiLSTM的基础上,将基础BiLSTM模型的最后一个全连接层替换为KAN网络,以此来增加模型的拟合能力。
关于本期更详细的流程一并放在代码包里了,获取方式在文末!
本期代码流程:
第一步:读取PHM2012数据集,并绘各个轴承的制时域波形。本期以Bearing1_1和Bearing1_2的水平信号作为训练集,以Bearing1_3和Bearing1_4的水平信号作为测试集。Bearing1_1~Bearing1_4的时域波形都绘制出来了,这里仅展示Bearing1_1:
第二步,将第一步得到的数据进行快速傅里叶提取变换,这里仅展示Bearing1_1的第一条数据经过FFT变换后的结果:
第三步,将第二步处理好的数据送入BiLSTM-KAN网络进行训练。
FFT信号首先送入BiLSTM,对数据进行特征学习,替换最后一层全连接层为KAN网络,进一步增强模型的拟合能力。这里在训练网络的时候,是将Bearing1_1和Bearing1_2作为训练集,Bearing1_3,Bearing1_4作为测试集
第四步:对预测结果进行平滑滤波,Bearing1_3,Bearing1_4的预测结果和平滑后曲线放如下图:
第五步:对平滑的曲线进行多项式拟合,并预测剩余寿命
Bearing1_3的预测结果如下:
这里简单说明一下怎么看懂这个图片。
1801就是Bearing1_3的官方截断寿命,也就是说到了1801s这个轴承还并没有完全失效!粉色的虚线是对预测值平滑滤波后的曲线,蓝色的虚线是对平滑后的曲线进行拟合的曲线,对蓝色的拟合曲线做一个预测,求取到达失效阈值的时刻就是模型预测的结果。黑色的直线是轴承的实际寿命,可以看到轴承的实际失效时间是在2374s,而本模型预测的失效时间是在2064s,预测效果已经非常不错了!
Bearing1_4的预测结果如下:
同样,预测的失效时间与真实的失效时间仅仅差了1477-1435=42s。以上两个预测结果不需要二次调整,直接一键出图!
代码目录截图:
代码目录说明:
只有:STEP1、STEP2、STEP3、STEP4 可以运行!其他文件都是被调用的函数
step1 是对原始PHM2012数据的一个整合,
step2 是对数据的fft变换
step3 是采用并行Bilstm_kan网络对轴承寿命的预测,并直接将预测结果保存为excel格式
STEP4 是读取预测结果并绘图
本期推文可以参考这两篇文献,更有助于理解本文程序。
[1]王玉静,李少鹏,康守强,等.结合CNN和LSTM的滚动轴承剩余使用寿命预测方法[J].振动.测试与诊断,2021,41(03):439-446+617.DOI:10.16450/j.cnki.issn.1004-6801.2021.03.003.
[2]李春秀.基于Transformer的轴承故障诊断与剩余寿命预测研究[D].石家庄铁道大学,2023.DOI:10.27334/d.cnki.gstdy.2023.000614.
代码获取
点击下方阅读原文跳转链接。
或者直接复制下方链接跳转:
https://mbd.pub/o/bread/Z5ybkppp
获取更多代码:
或者复制链接跳转:
https://docs.qq.com/sheet/DU3NjYkF5TWdFUnpu