Transformer-Lstm网络的轴承寿命预测,保姆级教程终于来了!

作品简介

概要


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

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

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


关于PHM2012数据集需要注意的地方


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

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

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

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

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


那么接下来要做的工作就是,在训练集训练好深度学习网络模型后,将测试集送入模型进行预测,并对预测结果进行一个曲线拟合,从而得到预测失效的时间。看看这个时间和上述的真实寿命有多少差距,以此来判断你模型的好坏!


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



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


Transformer-Lstm轴承寿命预测


本期代码流程:

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


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


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


数据信号同时输入LSTM层(左侧),Transformer网络(右侧),最后对Indexing层的输出进行拼接,再经过一个全连接层,最后进行输出。

这里在训练网络的时候,是将Bearing1_1和Bearing1_2作为训练集,Bearing1_3,Bearing1_4作为测试集

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


第五步:对平滑的曲线进行多项式拟合,这里选取三次多项式拟合。


然后计算y=1时刻的x值,就是预测出来的寿命啦,结果如下:

Bearing1_3的预测结果如下:

轴承Bearing1_3的RUL测试结果.jpg

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

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的预测结果如下:

轴承Bearing1_4的RUL测试结果.jpg

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


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

3维Tsne降维图.jpg

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


代码目录截图:

image.png















创作时间: