APP下载

Xgboost在滚动轴承故障诊断中的应用

2017-09-03王晓峰

噪声与振动控制 2017年4期
关键词:决策树时域正确率

张 钰,陈 珺,王晓峰,刘 飞

(1.轻工过程先进控制教育部重点实验室,江南大学 自动化研究所,江苏 无锡 214122;2.西门子中国研究院,北京 100000)

Xgboost在滚动轴承故障诊断中的应用

张 钰1,陈 珺1,王晓峰2,刘 飞1

(1.轻工过程先进控制教育部重点实验室,江南大学 自动化研究所,江苏 无锡 214122;2.西门子中国研究院,北京 100000)

针对不同轴承数据特征选择困难和单个分类器方法在滚动轴承故障诊断中精度较低的问题,提出一种基于分类与回归树的Xgboost(eXtreme Gradient Boosting)轴承故障诊断算法。Xgboost是包含多个分类器的集成学习方法。通过Xgboost的“提升”思想来提高滚动轴承故障诊断的精度。首先,从滚动轴承的振动信号中提取时域特征参数;然后利用Xgboost算法对滚动轴承故障进行诊断。将SQI-MFS实验平台的轴承振动数据,与传统分类器(支持向量机、邻近算法和人工神经网络)以及单个分类回归树的诊断结果相比,结果表明Xgboost在轴承故障诊断率上优于上述几种算法,且计算时间比传统提升决策树算法短。

振动与波;滚动轴承;故障诊断;支持向量机;Xgboost

据统计,在工业生产中,采用滚动轴承的旋转机械设备中有30%的故障都是由滚动轴承的故障所引起的。旋转机械设备故障往往会导致严重的经济损失和安全事故。因此,滚动轴承的故障诊断有重大的研究价值[1]。

滚动轴承的故障诊断主要包括特征提取和状态识别。通常从轴承的振动信号中提取特征参数,其中常见的特征向量有均方根值、峭度值等。数据处理手段包括小波变换、快速傅里叶变换和经验模态分解。然后通过状态识别方法进行状态识别。支持向量机(Support Vector Machine,SVM)和人工神经网络(Artificial Neural Network,ANN)作为经典的分类器已广泛应用于轴承故障诊断领域中[2–6]。但是,SVM也存在一些缺点,即存在处理大样本数据时能力不足以及解决多分类问题精度较低等问题。滚动轴承的振动信号具有较大的噪声,通常需要提取多种特征参数对其进行诊断,而在这种情况下,SVM的诊断结果不太理想。提升决策树是一种广泛、高效的集成学习方法。使用提升决策树算法可以提高诊断的精度,但是,传统提升决策树是一种串行结构,必然会增加计算的复杂度和时间。文中提出三种提升决策树算法:Adaboost(Adaptive Boosting)、GBDT(Gradient Boosting Decision Tree)、Xgboost。Adaboost是boosting中一种比较简单的迭代算法,其主要思想是针对同一个训练集,利用自助抽样得出的子训练集训练不同的弱学习器,然后通过投票或者权重的形式将这些学习器集成起来,构成一个强学习器。GBDT的基本思想是每次建立的弱学习器是在之前建立的弱学习器损失函数的梯度下降方向。GBDT比Adaboost有更好的诊断效果,但是,GBDT诊断的过程会需要消耗更多的时间。而Xgboost作为一种新型提升决策树算法,能够自动利用CPU的多线程进行并行运算,比GBDT所用的时间要短,同时在算法的精度上也提高不少。其高效的运算速度可以很好地应用于工程领域中,能够在保证一定速度的情况下提高诊断的正确率。

首先,从轴承的振动信号中提取时域特征作为特征向量,然后,用特征向量作为Xgboost算法的输入,利用Xgboost算法对轴承进行故障诊断。最后,与SVM算法以及传统决策提升树算法相比较。结果表明,Xgboost算法的诊断准确率优于其它诊断算法,同时,所用的时间与串行运算的传统决策提升树算法相比也有大幅度地减少。因此,Xgboost在轴承故障诊断领域中有着重大的研究价值。

1 Xgboost算法

Xgboost的全称是eXtreme Gradient Boosting。它是华盛顿大学陈天奇对Gradient Boosting Machine算法的一个c++实现[10]。Xgboost最大的特点在于,它能够自动利用CPU的多线程进行并行,同时在算法上加以改进提高了精度。对于传统的GBDT算法,只利用了1阶的导数信息,当训练第n棵树时,需要用到前n-1棵树的残差,难以实现分布式。Xgboost对损失函数做了2阶的泰勒展开,并在损失函数之外加入了正则项整体求最优解,用以权衡损失函数的下降和模型的复杂程度,避免过拟合。

假设模型有k个决策树,即

其损失函数为

与GBDT中使用分割标准最小化均方差相比,正常情况下,枚举所有可能的树结构是不太现实的,Xgboost采用一种贪心算法,每次在已有的叶子节点中加入分割。假设IL和IR是分割后左和右节点的集合。信息增益如下

从上式中可知,这个信息增益与ID3、C4.5和分类与回归树(Classification And Regression Tree,CART)是类似的,都是利用分割后的某种值减分裂前的某种值。为了限制树的生长,加入了阈值γ,当增益大于阈值时,才让节点进行分割,而γ是正则项里叶子节点的系数,因此在优化目标函数的同时相当于做了预剪枝。

2 基于Xgboost的轴承故障诊断

2.1 SQI-MFS实验平台

如图1所示,SQI-MFS实验平台由电机、变频器、轴承、底座支撑架组成。其中轴承型号为MBER-16K,实验平台利用PCB公司生产的608A11型号加速度传感器和NI公司的数据采集卡NI9234采集轴承的振动信号。该平台可以模拟健康或各类故障轴承在不同转速和不同负载下的运行状态。

图1 SQI-MFS实验平台

如图2所示,从左至右、从上至下,分别为健康轴承,滚珠故障轴承,内圈故障轴承以及外圈故障轴承的实物图。

图2 四种状态的轴承实物图

2.2 SQI-MFS实验平台采集的数据

实验采集了36种运行状态下的振动数据,分别为:3种负载大小(0、1、3个转子负载)×3种转速(10 Hz、20 Hz、30 Hz)×4种轴承(健康、滚珠故障、内圈故障以及外圈故障轴承),将数据分别按负载大小(3种)和电机转速(3种)分成9组。其中故障轴承的故障点大小为0.75 inch,采样频率为25.6 kHz。图3至图6分别是截取其中一组轴承的四种状态下的振动信号。

图3 健康轴承振动信号图

2.3 特征选择

图4 滚珠故障轴承振动信号图

图5 内圈故障轴承振动信号图

图6 外圈故障轴承振动信号图

传统的时域特征指标是体现故障轴承的振动信号变化的有效工具,时域指标的优点是特征提取简单和计算量小,另外,为了体现Xgboost能够在比较简单的特征向量条件下就能表现出良好的性能,这里提取轴承振动信号的时域特征[14–15]。时域特征向量有:最大值、均方根值F2、歪度值F3、峭度值F4、波性指标F5、脉冲指标F6、歪度指标F7、峰值指标F8、裕度指标F9、峭度指标F10。

2.4 轴承的故障诊断

将上述特征向量F=[F1,F2,...,F10]和对应轴承的健康、滚珠故障、内圈故障和外圈故障四种状态分别标上标签C=[0,1,2,3],采用十折交叉验证计算诊断的正确率,即将数据集分成10份,轮流将其中9份作为训练数据,剩余的1份作为测试数据,进行试验。每次试验都会得出相应的测试正确率,10次测试正确率的平均值作为最终的测试正确率。以下正确率均是测试集的正确率。当选择SVM的核函数为多项式时,计算所消耗的时间远超于其他几种算法,例如第3组和第6组,时间分别为2 017.403 s和2 133.885 s。最终SVM的核函数选取高斯径向核函数(rbf)和线性核函数(linear)。而根据多次试验,发现kNN(k-Nearest Neighbor)算法中k值取5,同时ANN采用BP(back propagation)神经网络,其隐含层神经元个数取为21时,效果较好。对于GBDT和Xgboost算法,讨论两个重要参数的选取:树的深度和树的数量。

图7和图8所示分别是GBDT算法和Xgboost算法在固定树的数量时,轴承诊断的测试集正确率与树深度的关系。可以看到,当树的深度在20左右时,GBDT算法的正确率开始收敛在一定的范围;Xgboost算法的正确率收敛于一个常数。Xgboost算法随着树深度的增加,稳定性要明显优于GBDT算法。

图7 正确率与树的深度的关系(GBDT)

图8 正确率与树的深度的关系(Xgboost)

图9和图10所示分别是GBDT算法和Xgboost算法在树的深度为20时,轴承诊断的测试集正确率与树数量的关系。可知,在GBDT算法中,当树的数量在80左右时,轴承诊断的正确率开始逐渐收敛;Xgboost算法在树的数量在100时开始收敛。

从纵坐标上可以看出,Xgboost的波动范围在0.005之间,而GBDT的范围在0.01之间。因此,随着树的数量增加,Xgboost的稳定要优于GBDT。最终,选取树的深度为20,树的数量为100。

3 实验结果

图9 正确率与树的数量的关系(GBDT)

图10 正确率与树的数量的关系(Xgboost)

表1所示的是利用传统算法对SQI-MFS轴承进行故障诊断的结果对比。其中,时间为训练和测试的总时间,正确率为测试的结果。从表中可以看出,对于多维特征参数,运用SVM算法进行诊断,利用线性核函数比利用高斯径向核函数的正确率要高,但是时间却不稳定;kNN算法的结果要好于采用高斯径向核函数的SVM的计算结果,差于采用线性核函数的SVM的计算结果,但是时间上却大幅减少;ANN算法的正确率和采用线性核函数的SVM算法的正确率不相上下,但计算时间却是相对最长的。

表2所示的是利用集成学习算法对SQI-MFS轴承进行故障诊断的结果对比。利用单个决策树算法,在时间上和正确率上均表现良好;Adaboost算法,从正确率上看,虽然整体上有所提高,但是消耗的时间远超过单个决策树。GBDT算法与Adaboost算法比较,诊断的正确率上有一定提高,但是,所消耗的时间却是Adaboost的1.5~3倍。Xgboost算法在GBDT算法的基础上,在诊断效果得到进一步提升的同时,计算所消耗的时间也缩短了,在提升决策树的三种算法中,计算效率最高,甚至可以和计算速度最快的SVM算法相比,这证明了Xgboost算法在轴承故障诊断方面的快速性和准确性。

4 结语

文中提出基于Xgboost的轴承故障诊断方法,利用SQI-MFS实验平台轴承采集的数据进行多种算法的对比性试验,与传统的分类器SVM相比,Xgboost具有很好的诊断效果,而与Adaboost和GBDT算法相比,不仅具有更高诊断正确率,而且计算所消耗的时间也明显减少。正确率提高的主要原因在于,Xgboost的模型和传统的GBDT相比,加入了对于模型复杂度的控制以及后期的剪枝处理,使得训练后的模型更加不容易过拟合。在复杂的工业环境中,轴承的数据复杂多变,需要从中提取多种特征才能进行有效诊断。SVM算法对于多维特征参数的诊断效果不好,与ANN相比,Xgboost的诊断正确率可以提高0.011~0.51,且不需要进行繁琐的参数寻优过程。而Adaboost和GBDT的诊断正确率虽然有一定的提高,但是会消耗太长的时间,这不利于大样本数据的处理和设备的及时维护。Xgboost算法能够在确保较高的诊断正确率的同时,减少计算时间,能够及时跟进维护设备。因此,Xgboost在轴承故障诊断方面有着很高的实际推广价值。

表1 传统算法的诊断结果对比

表2 提升决策树算法的诊断结果对比

[1]王泽文.基于振动信号的滚动轴承故障诊断与预测系统研究[D].中国矿业大学,2014.

[2]YANG M,CHEN J.Rolling element bearing fault diagnosis based on slice spectral correlation density and support vector machine[J].Journal of Vibration&Shock,2010,29(1):196-199.

[3]MA J,WU J D,FAN Y G,et al.Fault diagnosis of rolling bearing based on the PSO-SVM of the mixed-feature[J].Applied Mechanics&Materials,2013,380-384:131-134.

[4]HU-SHENG W U,JIAN-XIN L V,LAI L H,et al.Fault pattern recognition of rolling bearing based on EMD-SVD model and SVM[J].Noise&Vibration Control,2011,31(2):89-93.

[5]SHI R M,YANG Z J.Application of optimized directed acyclic graph support vector machine based on complex network in fault diagnosis of rolling bearing[J].Journal of Vibration&Shock,2015,34(12):1-6+34.

[6]张新海,雷勇.BP神经网络在机械故障诊断中的应用[J].噪声与振动控制,2008,28(5):95-97.

[7]EFRON B.Bootstrap methods:another look at the jackknife[M].Breakthroughs in Statistics.Springer New York,1979:1-26.

[8]BREIMAN L I,FRIEDMAN J H,OLSHEN R A,et al.Classification and regression trees(CART)[J].Biometrics,1984,40(3):17-23.

[9]FRIEDMAN J H.Greedy function approximation:a gradient boosting machine[J].Annals of Statistics,2001,29(5):1189-1232.

[10]CHEN T,GUESTRIN C.Xgboost:A scalable tree boosting system[C]//ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2016.

[11]TAIEB S B,HYNDMAN R J.A gradient boosting approach to the kaggle load forecasting competition[J].International Journal of Forecasting,2013,30(2):382-394.

[12]SON J,JUNG I,PARK K,et al.Tracking by segmentation with online gradient boosting decision tree[C]//IEEE International Conference on Computer Vision.IEEE Computer Society,2015:3056-3064.

[13]ZHANG Y,HAGHANI A.A gradient boosting method to improve travel time prediction[J].Transportation Research Part C Emerging Technologies,2015,58:308-324.

[14]BEN ALI J,SAIDI L,CHEBEL-MORELLO B,et al.A new enhanced feature extraction strategy for bearing remaining useful life estimation[C]// International Conference on Sciences and Techniques of Automatic Control and Computer Engineering.IEEE,2015.

[15]王金福,李富才.机械故障诊断技术中的信号处理方法:时域分析[J].噪声与振动控制,2013,33(2):198-202.

Application of Xgboost to Fault Diagnosis of Rolling Bearings

ZHANG Yu1,CHEN Jun1,WANG Xiao-feng2,LIU Fei1
(1.Key Laboratory ofAdvanced Process Control for Light Industry,Ministry of Education,Institute ofAutomation,Jiangnan University,Wuxi 214122,Jiangsu China;2.SIEMENS China Institute,Beijing 100000,China)

Due to the difficulty for selecting the data feature for different bearings and the low accuracy in fault diagnosis of rolling bearings using single classifier method,a rolling bearing fault diagnosis algorithm with eXtreme Gradient Boosting(Xgboost)based on classification and regression tree is proposed.The Xgboost is an ensemble learning method which contains a variety of classifiers.The accuracy of rolling bearing fault diagnosis is improved by the“boosting”thought of the Xgboost.First of all,the time domain statistical indicators extracted from the vibration signals of the rolling bearings are used as feature vectors.Then,the Xgboost algorithm is utilized for the fault diagnosis of the rolling bearings.Comparing the vibration data obtained in the bearing test on the SQI-MFS testing platform with the diagnostic results of traditional algorithms(SVM,kNN and ANN)and single classification and regression tree,it is concluded that the Xgboost algorithm is superior to the above algorithms,and the computation time is less than that of the traditional boosting decision tree algorithm.

vibration and wave;rolling bearing;fault diagnosis;SVM;Xgboost

TH133.3;TP206

:A

:10.3969/j.issn.1006-1355.2017.04.032

1006-1355(2017)04-0166-05+179

2017-01-16

国家自然科学基金资助项目(NSFC 61403167)

张钰(1991-),男,湖北省黄冈市人,硕士生,主要研究方向为旋转机械故障诊断与寿命预测。

陈珺(1980-),女,硕士生导师。

E-mail:chenjun1860@126.com

猜你喜欢

决策树时域正确率
个性化护理干预对提高住院患者留取痰标本正确率的影响
门诊分诊服务态度与正确率对护患关系的影响
基于复杂网络理论的作战计划时域协同方法研究
网络分析仪时域测量技术综述
决策树和随机森林方法在管理决策中的应用
山区钢桁梁斜拉桥施工期抖振时域分析
一种用于高速公路探地雷达的新型时域超宽带TEM喇叭天线
决策树多元分类模型预测森林植被覆盖
生意
生意