IEEE 2012 PHM数据挑战赛

Wesley13
• 阅读 952

Sutrisno E, Oh H, Vasan A S S, et al. Estimation of remaining useful life of ball bearings using data driven methodologies[C]// Prognostics and Health Management. IEEE, 2012:1-7.

IEEE 2012 PHM数据挑战赛比赛的目标是在实验负荷条件下提供滚珠轴承剩余使用寿命的最佳估计。实验数据集由FEMTO-ST研究所提供。数据集涉及三种不同的负载条件。 条件1有七个滚珠轴承转速为1800转/分钟,径向负荷为4000N。 七个轴承中有两个轴承提供了用于算法训练的从开始运行至故障的完整数据,并为其他五个轴承提供了用于算法测试的截断数据。 条件2的特点是七个滚珠轴承以1650转/分钟的转速运行,径向载荷为4200N。 在7个轴承中,提供了两个用于训练的从开始运行至故障的完整数据,并为五个轴承提供了测试数据。 条件3的特点是三个轴承以1500转/分钟,径向载荷5000N运行。提供了两个轴承的数据用于训练,另有一个轴承的数据用于测试。

在轴承箱上安装两个加速度计,用于测量垂直和水平方向的振动。数据采样间隔为10秒,采样率为25.6 kHz,持续时间为0.1 s; 因此,每个观察值包含2560点。

1.1 轴承的剩余使用寿命估计方法

1.1.1 方法1:谱峰度和马尔可夫蒙特卡罗法

IEEE 2012 PHM数据挑战赛

图1:六个轴承训练数据的平均移动峰度谱:通过频率范围为5.5至6.0 kHz的带通滤波

利用spearman相关系数评估峰度和实验持续时间之间的相关性,当两个变量完全单调递增时,斯皮尔曼相关系数为+1;两个变量完全单调递减时,斯皮尔曼相关系数则为−1。

 IEEE 2012 PHM数据挑战赛

通过spearman相关系数评估认为振动信号的谱峰度被认为是最具有随时间增加而单调递增特性的特征,在比较了三种类型的退化信号模型与轴承的MAS峰度的拟合结果IEEE 2012 PHM数据挑战赛 后,选择指数模型

IEEE 2012 PHM数据挑战赛

对轴承谱峰度的退化数据进行拟合,其中a和b是模型常数,y是退化信号的大小,t是时间。表I显示了指数模型的拟合程度

IEEE 2012 PHM数据挑战赛

指数模型a和b的常数使用马尔可夫蒙特卡罗方法(MCMC)进行更新,马尔可夫蒙特卡罗是一种通过在概率空间中随机采样来接近感兴趣参数的后验分布的方法。每个测试轴承的剩余使用寿命通过指数模型预测MAS峰度的幅度超过预定义阈值的时刻来估计。 在实验中,基于对图1所示的六个训练轴承的峰度的观察,将故障阈值设定为4。

IEEE 2012 PHM数据挑战赛  

图2:利用MAS峰度和贝叶斯蒙特卡罗方法估计剩余使用寿命:轴承2_5

图2显示了测试轴承2_5的故障时间预测直方图。 估计在20,000秒的方位2_5的剩余使用寿命(RUL)为3,580秒。 轴承2_5的实际剩余寿命为3090秒。 测试轴承2_5的估算剩余寿命和真正剩余寿命之间的误差为-15.9%。 错误中的负值意味着轴承的剩余使用寿命被高估了。误差计算公式:

 IEEE 2012 PHM数据挑战赛

1.1.2 方法2:支持向量回归机模型

本方法使用最小二乘支持向量回归机的方法估计轴承的剩余使用寿命(RUL)。其具体步骤如下图所示

IEEE 2012 PHM数据挑战赛

图3:支持向量回归机模型预测过程

从轴承中测量得到的垂直和水平方向的振动数据中提取特征,每个垂直或水平信号提取十七个特征,共三十四个特征,使用移动平均滤波器对其进行平滑以抑制测量中的噪声。 在平滑之后对数据进行规范化处理,由此减小大动态范围的特征而导致的偏差。利用主成分分析法对数据进行降维处理,在减少需要分析的指标同时,尽量减少原指标包含信息的损失,将PCA应用于从训练轴承提取的特征集,前三个主成分占数据可变性的99.5%以上。 因此,我们将特征集从34个特征减少到3个主要分量。 图4示出了轴承2_2的前三个主要分量的时间序列图。

 IEEE 2012 PHM数据挑战赛

图4:平滑和归一化后轴承2_2的前3个主要成分时间序列图

将训练集的三个主要成分作为最小二乘支持向量机的输入,轴承的剩余使用寿命作为目标

IEEE 2012 PHM数据挑战赛

图5:LS-SVR进行剩余使用寿命估计说明

在预测模式下,从振动信号中提取测试轴承特征,并且利用在训练模式期间获得的变换矩阵计算相应的三个主要分量。将得到的三个主要成分作为输入给训练的LS-SVR,以产生剩余使用寿命的估计值。

1.1.3 方法3:振动频率特征异常检测和存活时间比

本方法利用异常检测,退化特征推断和生存时间比估计测试轴承剩余使用寿命(RUL)。

利用快速傅里叶变换生成对应频谱,当频谱中的峰值振动的频率发生变化时,认为检测到异常,轴承频率特征变化的物理解释是轴承内裂纹,剥落或其他表面缺陷的发生,导致轴承结构以新的频率和模式进行振动。

IEEE 2012 PHM数据挑战赛

左上方图为轴承1_1的水平特征图。在#1218处观察到水平特征逐渐增加,检测为异常,此时轴承进入第一个异常区域。在#2747处轴承进入第二个异常区域。测试轴承1_3与轴承1_1的退化趋势相似,利用指数曲线对轴承1_1的第一次异常数据进行拟合,第一次异常结束时的拟合值除以异常开始检测值得到5.47。通过轴承1_3的频谱数据可知(左下角图),在#822处水平方向最初存在于2500Hz附近的频率消失,#822处的异常检测被认为是第一个异常区域的开始,通过#822处的水平特征值乘以先前获得的5.47因子得到阈值5.99,通过曲线拟合预测水平特征在#2115处达到此阈值。

对轴承1_1来说,第一次异常区域是从#1218到#2747。通过2747减去1218,我们获得了异常1的持续时间为1529个观测值,图上的每个观察值之间的间隔为10秒,即15,290秒。轴承1_1进入第二个异常区域560秒后失效。 第二次异常持续时间除以第一次异常持续时间比率:

 IEEE 2012 PHM数据挑战赛

对于轴承1_3来说,#822处被认为是第一次异常区域的开始。 通过曲线拟合预测在#2115处为第一次异常区域的结束,则第一次异常的持续时间为1293个观测值,即12,930秒。通过将异常1的持续时间乘以从方位1_1获得的异常比来估计异常2的持续时间

 IEEE 2012 PHM数据挑战赛

通过将两个异常持续时间加在一起来计算从第一次异常检测开始到失效的时间:

 IEEE 2012 PHM数据挑战赛

由于轴承1_3在实验中存活了9800秒,因此轴承1_3的RUL估计为:

 IEEE 2012 PHM数据挑战赛

根据比赛组织者提供的实际RUL数据,方法3估计轴承的剩余使用寿命实际误差如下图所示

 IEEE 2012 PHM数据挑战赛

1.2 RUL估计方法的比较

上述三种方法使用了轴承退化的不同特征来估计其剩余使用寿命。

在方法1中,振动信号的谱峰度被认为是具有随时间增加而单调递增的特征。利用贝叶斯蒙特卡洛方法对指数模型的系数进行更新,但在轴承临近失效时间点,其特征会发生剧烈的改变。利用贝叶斯蒙特卡洛方法进行模型系数的更新未考虑这种情况,有高估RUL的趋势。

方法2,引入了支持向量回归机模型,对输入特征没有单调趋势的要求。 但由于六个训练轴承在失效时间前特征变化剧烈,且训练样本有限,LSSVR高估了部分测试轴承的RUL。如果在每种条件下提供更多的训练轴承,则算法精度能以更高的精度执行。

方法3,将轴承的退化分为了多个阶段,RUL的估算是基于对轴承退化阶段之间的持续时间比值而进行预测,本方法其优点在于RUL估计过程简单,计算复杂度小。但其缺点是通过分析频率特征的变化来检测异常,但在某些轴承中,频率可能不发生变化或频率中有噪声,异常不能清楚地被识别。

以上提出了三种估算轴承剩余使用寿命的方法。有限的训练数据使得三种方法都具有高度的不确定性,比赛根据评分函数计算每个轴承的剩余寿命估计得分,取所有轴承得分的平均值为最终结果,最终第三种方法获得了2012年PHM数据挑战赛优胜。

 IEEE 2012 PHM数据挑战赛

图7:根据预测值与实际值的百分比误差估算RUL的评分函数

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这