Transformer-LSTM网络的轴承寿命预测,保姆级教程!

概要

关于轴承寿命预测,网络上的文章、代码层出不穷,但是质量却是令人堪忧,有很多文章甚至存在误导嫌疑。本期代码是在小淘怒肝好几个夜晚整理出来的,本期代码可以帮你迅速掌握一个轴承寿命预测的全过程。

为了不误导我的读者朋友,本期作品参考了数篇高被引经典轴承寿命预测的论文,并经过多次代码测试,准确率完全可以保证!实现内容如下:

在PHM2012数据的基础上,采用并行Transformer-Lstm实现轴承剩余寿命预测。代码在2024aMATLAB上实现,代码获取方式在文末!质量好不好,大家可以直接翻到下面看看结果图!

PHM2012数据集需要注意的地方

网上关于PHM2012数据集的介绍有很多,我也将关于这个数据的官方文档介绍放在了代码压缩包里。关于PHM2012数据集的基础介绍可以看这个链接:https://zhuanlan.zhihu.com/p/583606882

这里只讲一下到底该怎么使用这个数据集!我看到网络上很多很多的文章都用错了!

先附一张关于PHM2012数据集图片:

a56addc615fb4a5cc6ae8a9e31b089ba.png

这里以工况1为例进行说明。首先官方的PHM2012数据集说明文档提到,在训练集Bearing1_1和Bearing1_2这两个轴承都是属于从健康状态一直跑到了完全失效,如果采用0-1对健康指标量化,那完全失效的那一刻对应的就是1。那么重点来了!

而测试集Bearing1_3~Bearing1_7虽然也从健康状态跑到了完全失效,但是官方给出的数据集并不是从健康状态跑到完全失效的全部数据集,而是在即将失效的时候,给截断了!因此也就是说,测试集数据的末位并不是完全失效的状态,那么健康指标也不能直接对应到1。这里附上测试集跑到完全失效还需要的真实时间,也就是真实的剩余寿命:

0cf0e572f81ac2067a2ec4fb68a75d4c.png

接下来要做的工作就是:利用训练集训练好深度学习网络模型后,将测试集送入模型进行预测,那么重点又来了,并接下来要先对预测结果进行一个平滑滤波,然后采用最小二乘法等方法对滤波后的曲线进行一个拟合,从而得到该拟合的曲线在达到失效阈值的时间,最后看看这个时间和上述图片的真实寿命有多少差距,以此来判断你模型的好坏!

官方文档还给出了一个评分规则:

5c5aabf9d23e455a68a7eda9e4c5528e.png

70e7246b07211505893f469e8869d822.png

fd87637b100fc0d46bc7c6b289cb072c.png

好的,弄懂这一部分后,咱们接下来看看本期模型预测结果吧!

Transformer-LSTM轴承寿命预测结果

关于本期更详细的流程一并放在代码包里了,获取方式在文末

本期代码流程:

第一步:读取PHM2012数据集,并绘各个轴承的制时域波形。本期以Bearing1_1和Bearing1_2的水平信号作为训练集,以Bearing1_3和Bearing1_4的水平信号作为测试集。Bearing1_1~Bearing1_4的时域波形都绘制出来了,这里仅展示Bearing1_1:

40dc2c6405f8848a5c7bb069d1c227ee.jpeg

第二步,将第一步得到的数据进行快速傅里叶提取变换,这里仅展示Bearing1_1的第一条数据经过FFT变换后的结果:

733fef6c33bfc6cfa00343bcf0ebab46.jpeg

第三步,将第二步处理好的数据送入并行Transformer-Lstm网络进行训练。

FFT信号同时输入LSTM层和Transformer网络,最后将特征层的输出进行拼接,再经过一个全连接层,最后进行输出。这里在训练网络的时候,是将Bearing1_1和Bearing1_2作为训练集,Bearing1_3,Bearing1_4作为测试集

第四步:对预测结果进行平滑滤波,这里将Bearing1_3,Bearing1_4的预测结果和平滑后曲线放在了一张图上:

2402f40fed1f92ad1e8d1a1685a90334.jpeg

4d9974882b70241fde2f659312d5ba8c.jpeg

第五步:对平滑的曲线进行多项式拟合

Bearing1_3的预测结果如下:

5c8af8df8b13931aa969e28b5f01f0ea.png

这里简单说明一下怎么看懂这个图片。

1801就是Bearing1_3的官方截断寿命,也就是说到了1801s这个轴承还并没有完全失效!粉色的虚线是对预测值平滑滤波后的曲线,蓝色的虚线是对平滑后的曲线进行拟合的曲线,对蓝色的拟合曲线做一个预测,求取到达失效阈值的时刻就是模型预测的结果。黑色的直线是轴承的实际寿命,可以看到轴承的实际失效时间是在2374s,而本模型预测的失效时间是在2262s,与实际的剩余寿命仅仅差了2374-2262=112s,预测效果已经非常不错了!

可能刚接触寿命预测的小伙伴对这个没有概念,可以参考一下这几个文献和我的结果对比对比。

[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.

第一个文献是一个高被引论文,非常有参考价值,轴承寿命预测的小伙伴必看!第二个文献与本文的模型比较接近,画的图也很不错,大家可以参考。

Bearing1_4的预测结果如下:

548a8c71d9a36b024ff1b4e44a75cfce.png

同样,预测的失效时间与真实的失效时间仅仅差了1477-1329=148s。以上两个预测结果不需要二次调整,直接一键出图!

最后为了体现模型预测的效果,丰富论文图片,还加了tsen3维空间图。

5136b436f97fa696cbe713b33be669ba.png

可每个点代表滚动轴承当前时刻的健康指标,随着神经网络层数的加深,训练数据由混沌变为有序,证明模型能够有效识别轴承退化的过程。

代码目录截图:

fd71ee6450ccb0d814f3e7c99ff3de80.png

代码获取

获取更多代码:

下方卡片关注后获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淘个代码_

不想刀我的可以选择爱我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值