張 鈺,陳 珺,王曉峰,劉 飛
(1.輕工過(guò)程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,江南大學(xué) 自動(dòng)化研究所,江蘇 無(wú)錫 214122;2.西門子中國(guó)研究院,北京 100000)
Xgboost在滾動(dòng)軸承故障診斷中的應(yīng)用
張 鈺1,陳 珺1,王曉峰2,劉 飛1
(1.輕工過(guò)程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,江南大學(xué) 自動(dòng)化研究所,江蘇 無(wú)錫 214122;2.西門子中國(guó)研究院,北京 100000)
針對(duì)不同軸承數(shù)據(jù)特征選擇困難和單個(gè)分類器方法在滾動(dòng)軸承故障診斷中精度較低的問(wèn)題,提出一種基于分類與回歸樹的Xgboost(eXtreme Gradient Boosting)軸承故障診斷算法。Xgboost是包含多個(gè)分類器的集成學(xué)習(xí)方法。通過(guò)Xgboost的“提升”思想來(lái)提高滾動(dòng)軸承故障診斷的精度。首先,從滾動(dòng)軸承的振動(dòng)信號(hào)中提取時(shí)域特征參數(shù);然后利用Xgboost算法對(duì)滾動(dòng)軸承故障進(jìn)行診斷。將SQI-MFS實(shí)驗(yàn)平臺(tái)的軸承振動(dòng)數(shù)據(jù),與傳統(tǒng)分類器(支持向量機(jī)、鄰近算法和人工神經(jīng)網(wǎng)絡(luò))以及單個(gè)分類回歸樹的診斷結(jié)果相比,結(jié)果表明Xgboost在軸承故障診斷率上優(yōu)于上述幾種算法,且計(jì)算時(shí)間比傳統(tǒng)提升決策樹算法短。
振動(dòng)與波;滾動(dòng)軸承;故障診斷;支持向量機(jī);Xgboost
據(jù)統(tǒng)計(jì),在工業(yè)生產(chǎn)中,采用滾動(dòng)軸承的旋轉(zhuǎn)機(jī)械設(shè)備中有30%的故障都是由滾動(dòng)軸承的故障所引起的。旋轉(zhuǎn)機(jī)械設(shè)備故障往往會(huì)導(dǎo)致嚴(yán)重的經(jīng)濟(jì)損失和安全事故。因此,滾動(dòng)軸承的故障診斷有重大的研究?jī)r(jià)值[1]。
滾動(dòng)軸承的故障診斷主要包括特征提取和狀態(tài)識(shí)別。通常從軸承的振動(dòng)信號(hào)中提取特征參數(shù),其中常見的特征向量有均方根值、峭度值等。數(shù)據(jù)處理手段包括小波變換、快速傅里葉變換和經(jīng)驗(yàn)?zāi)B(tài)分解。然后通過(guò)狀態(tài)識(shí)別方法進(jìn)行狀態(tài)識(shí)別。支持向量機(jī)(Support Vector Machine,SVM)和人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)作為經(jīng)典的分類器已廣泛應(yīng)用于軸承故障診斷領(lǐng)域中[2–6]。但是,SVM也存在一些缺點(diǎn),即存在處理大樣本數(shù)據(jù)時(shí)能力不足以及解決多分類問(wèn)題精度較低等問(wèn)題。滾動(dòng)軸承的振動(dòng)信號(hào)具有較大的噪聲,通常需要提取多種特征參數(shù)對(duì)其進(jìn)行診斷,而在這種情況下,SVM的診斷結(jié)果不太理想。提升決策樹是一種廣泛、高效的集成學(xué)習(xí)方法。使用提升決策樹算法可以提高診斷的精度,但是,傳統(tǒng)提升決策樹是一種串行結(jié)構(gòu),必然會(huì)增加計(jì)算的復(fù)雜度和時(shí)間。文中提出三種提升決策樹算法:Adaboost(Adaptive Boosting)、GBDT(Gradient Boosting Decision Tree)、Xgboost。Adaboost是boosting中一種比較簡(jiǎn)單的迭代算法,其主要思想是針對(duì)同一個(gè)訓(xùn)練集,利用自助抽樣得出的子訓(xùn)練集訓(xùn)練不同的弱學(xué)習(xí)器,然后通過(guò)投票或者權(quán)重的形式將這些學(xué)習(xí)器集成起來(lái),構(gòu)成一個(gè)強(qiáng)學(xué)習(xí)器。GBDT的基本思想是每次建立的弱學(xué)習(xí)器是在之前建立的弱學(xué)習(xí)器損失函數(shù)的梯度下降方向。GBDT比Adaboost有更好的診斷效果,但是,GBDT診斷的過(guò)程會(huì)需要消耗更多的時(shí)間。而Xgboost作為一種新型提升決策樹算法,能夠自動(dòng)利用CPU的多線程進(jìn)行并行運(yùn)算,比GBDT所用的時(shí)間要短,同時(shí)在算法的精度上也提高不少。其高效的運(yùn)算速度可以很好地應(yīng)用于工程領(lǐng)域中,能夠在保證一定速度的情況下提高診斷的正確率。
首先,從軸承的振動(dòng)信號(hào)中提取時(shí)域特征作為特征向量,然后,用特征向量作為Xgboost算法的輸入,利用Xgboost算法對(duì)軸承進(jìn)行故障診斷。最后,與SVM算法以及傳統(tǒng)決策提升樹算法相比較。結(jié)果表明,Xgboost算法的診斷準(zhǔn)確率優(yōu)于其它診斷算法,同時(shí),所用的時(shí)間與串行運(yùn)算的傳統(tǒng)決策提升樹算法相比也有大幅度地減少。因此,Xgboost在軸承故障診斷領(lǐng)域中有著重大的研究?jī)r(jià)值。
Xgboost的全稱是eXtreme Gradient Boosting。它是華盛頓大學(xué)陳天奇對(duì)Gradient Boosting Machine算法的一個(gè)c++實(shí)現(xiàn)[10]。Xgboost最大的特點(diǎn)在于,它能夠自動(dòng)利用CPU的多線程進(jìn)行并行,同時(shí)在算法上加以改進(jìn)提高了精度。對(duì)于傳統(tǒng)的GBDT算法,只利用了1階的導(dǎo)數(shù)信息,當(dāng)訓(xùn)練第n棵樹時(shí),需要用到前n-1棵樹的殘差,難以實(shí)現(xiàn)分布式。Xgboost對(duì)損失函數(shù)做了2階的泰勒展開,并在損失函數(shù)之外加入了正則項(xiàng)整體求最優(yōu)解,用以權(quán)衡損失函數(shù)的下降和模型的復(fù)雜程度,避免過(guò)擬合。
假設(shè)模型有k個(gè)決策樹,即
其損失函數(shù)為
與GBDT中使用分割標(biāo)準(zhǔn)最小化均方差相比,正常情況下,枚舉所有可能的樹結(jié)構(gòu)是不太現(xiàn)實(shí)的,Xgboost采用一種貪心算法,每次在已有的葉子節(jié)點(diǎn)中加入分割。假設(shè)IL和IR是分割后左和右節(jié)點(diǎn)的集合。信息增益如下
從上式中可知,這個(gè)信息增益與ID3、C4.5和分類與回歸樹(Classification And Regression Tree,CART)是類似的,都是利用分割后的某種值減分裂前的某種值。為了限制樹的生長(zhǎng),加入了閾值γ,當(dāng)增益大于閾值時(shí),才讓節(jié)點(diǎn)進(jìn)行分割,而γ是正則項(xiàng)里葉子節(jié)點(diǎn)的系數(shù),因此在優(yōu)化目標(biāo)函數(shù)的同時(shí)相當(dāng)于做了預(yù)剪枝。
如圖1所示,SQI-MFS實(shí)驗(yàn)平臺(tái)由電機(jī)、變頻器、軸承、底座支撐架組成。其中軸承型號(hào)為MBER-16K,實(shí)驗(yàn)平臺(tái)利用PCB公司生產(chǎn)的608A11型號(hào)加速度傳感器和NI公司的數(shù)據(jù)采集卡NI9234采集軸承的振動(dòng)信號(hào)。該平臺(tái)可以模擬健康或各類故障軸承在不同轉(zhuǎn)速和不同負(fù)載下的運(yùn)行狀態(tài)。
圖1 SQI-MFS實(shí)驗(yàn)平臺(tái)
如圖2所示,從左至右、從上至下,分別為健康軸承,滾珠故障軸承,內(nèi)圈故障軸承以及外圈故障軸承的實(shí)物圖。
圖2 四種狀態(tài)的軸承實(shí)物圖
實(shí)驗(yàn)采集了36種運(yùn)行狀態(tài)下的振動(dòng)數(shù)據(jù),分別為:3種負(fù)載大小(0、1、3個(gè)轉(zhuǎn)子負(fù)載)×3種轉(zhuǎn)速(10 Hz、20 Hz、30 Hz)×4種軸承(健康、滾珠故障、內(nèi)圈故障以及外圈故障軸承),將數(shù)據(jù)分別按負(fù)載大?。?種)和電機(jī)轉(zhuǎn)速(3種)分成9組。其中故障軸承的故障點(diǎn)大小為0.75 inch,采樣頻率為25.6 kHz。圖3至圖6分別是截取其中一組軸承的四種狀態(tài)下的振動(dòng)信號(hào)。
圖3 健康軸承振動(dòng)信號(hào)圖
圖4 滾珠故障軸承振動(dòng)信號(hào)圖
圖5 內(nèi)圈故障軸承振動(dòng)信號(hào)圖
圖6 外圈故障軸承振動(dòng)信號(hào)圖
傳統(tǒng)的時(shí)域特征指標(biāo)是體現(xiàn)故障軸承的振動(dòng)信號(hào)變化的有效工具,時(shí)域指標(biāo)的優(yōu)點(diǎn)是特征提取簡(jiǎn)單和計(jì)算量小,另外,為了體現(xiàn)Xgboost能夠在比較簡(jiǎn)單的特征向量條件下就能表現(xiàn)出良好的性能,這里提取軸承振動(dòng)信號(hào)的時(shí)域特征[14–15]。時(shí)域特征向量有:最大值、均方根值F2、歪度值F3、峭度值F4、波性指標(biāo)F5、脈沖指標(biāo)F6、歪度指標(biāo)F7、峰值指標(biāo)F8、裕度指標(biāo)F9、峭度指標(biāo)F10。
將上述特征向量F=[F1,F2,...,F10]和對(duì)應(yīng)軸承的健康、滾珠故障、內(nèi)圈故障和外圈故障四種狀態(tài)分別標(biāo)上標(biāo)簽C=[0,1,2,3],采用十折交叉驗(yàn)證計(jì)算診斷的正確率,即將數(shù)據(jù)集分成10份,輪流將其中9份作為訓(xùn)練數(shù)據(jù),剩余的1份作為測(cè)試數(shù)據(jù),進(jìn)行試驗(yàn)。每次試驗(yàn)都會(huì)得出相應(yīng)的測(cè)試正確率,10次測(cè)試正確率的平均值作為最終的測(cè)試正確率。以下正確率均是測(cè)試集的正確率。當(dāng)選擇SVM的核函數(shù)為多項(xiàng)式時(shí),計(jì)算所消耗的時(shí)間遠(yuǎn)超于其他幾種算法,例如第3組和第6組,時(shí)間分別為2 017.403 s和2 133.885 s。最終SVM的核函數(shù)選取高斯徑向核函數(shù)(rbf)和線性核函數(shù)(linear)。而根據(jù)多次試驗(yàn),發(fā)現(xiàn)kNN(k-Nearest Neighbor)算法中k值取5,同時(shí)ANN采用BP(back propagation)神經(jīng)網(wǎng)絡(luò),其隱含層神經(jīng)元個(gè)數(shù)取為21時(shí),效果較好。對(duì)于GBDT和Xgboost算法,討論兩個(gè)重要參數(shù)的選?。簶涞纳疃群蜆涞臄?shù)量。
圖7和圖8所示分別是GBDT算法和Xgboost算法在固定樹的數(shù)量時(shí),軸承診斷的測(cè)試集正確率與樹深度的關(guān)系??梢钥吹?,當(dāng)樹的深度在20左右時(shí),GBDT算法的正確率開始收斂在一定的范圍;Xgboost算法的正確率收斂于一個(gè)常數(shù)。Xgboost算法隨著樹深度的增加,穩(wěn)定性要明顯優(yōu)于GBDT算法。
圖7 正確率與樹的深度的關(guān)系(GBDT)
圖8 正確率與樹的深度的關(guān)系(Xgboost)
圖9和圖10所示分別是GBDT算法和Xgboost算法在樹的深度為20時(shí),軸承診斷的測(cè)試集正確率與樹數(shù)量的關(guān)系??芍贕BDT算法中,當(dāng)樹的數(shù)量在80左右時(shí),軸承診斷的正確率開始逐漸收斂;Xgboost算法在樹的數(shù)量在100時(shí)開始收斂。
從縱坐標(biāo)上可以看出,Xgboost的波動(dòng)范圍在0.005之間,而GBDT的范圍在0.01之間。因此,隨著樹的數(shù)量增加,Xgboost的穩(wěn)定要優(yōu)于GBDT。最終,選取樹的深度為20,樹的數(shù)量為100。
圖9 正確率與樹的數(shù)量的關(guān)系(GBDT)
圖10 正確率與樹的數(shù)量的關(guān)系(Xgboost)
表1所示的是利用傳統(tǒng)算法對(duì)SQI-MFS軸承進(jìn)行故障診斷的結(jié)果對(duì)比。其中,時(shí)間為訓(xùn)練和測(cè)試的總時(shí)間,正確率為測(cè)試的結(jié)果。從表中可以看出,對(duì)于多維特征參數(shù),運(yùn)用SVM算法進(jìn)行診斷,利用線性核函數(shù)比利用高斯徑向核函數(shù)的正確率要高,但是時(shí)間卻不穩(wěn)定;kNN算法的結(jié)果要好于采用高斯徑向核函數(shù)的SVM的計(jì)算結(jié)果,差于采用線性核函數(shù)的SVM的計(jì)算結(jié)果,但是時(shí)間上卻大幅減少;ANN算法的正確率和采用線性核函數(shù)的SVM算法的正確率不相上下,但計(jì)算時(shí)間卻是相對(duì)最長(zhǎng)的。
表2所示的是利用集成學(xué)習(xí)算法對(duì)SQI-MFS軸承進(jìn)行故障診斷的結(jié)果對(duì)比。利用單個(gè)決策樹算法,在時(shí)間上和正確率上均表現(xiàn)良好;Adaboost算法,從正確率上看,雖然整體上有所提高,但是消耗的時(shí)間遠(yuǎn)超過(guò)單個(gè)決策樹。GBDT算法與Adaboost算法比較,診斷的正確率上有一定提高,但是,所消耗的時(shí)間卻是Adaboost的1.5~3倍。Xgboost算法在GBDT算法的基礎(chǔ)上,在診斷效果得到進(jìn)一步提升的同時(shí),計(jì)算所消耗的時(shí)間也縮短了,在提升決策樹的三種算法中,計(jì)算效率最高,甚至可以和計(jì)算速度最快的SVM算法相比,這證明了Xgboost算法在軸承故障診斷方面的快速性和準(zhǔn)確性。
文中提出基于Xgboost的軸承故障診斷方法,利用SQI-MFS實(shí)驗(yàn)平臺(tái)軸承采集的數(shù)據(jù)進(jìn)行多種算法的對(duì)比性試驗(yàn),與傳統(tǒng)的分類器SVM相比,Xgboost具有很好的診斷效果,而與Adaboost和GBDT算法相比,不僅具有更高診斷正確率,而且計(jì)算所消耗的時(shí)間也明顯減少。正確率提高的主要原因在于,Xgboost的模型和傳統(tǒng)的GBDT相比,加入了對(duì)于模型復(fù)雜度的控制以及后期的剪枝處理,使得訓(xùn)練后的模型更加不容易過(guò)擬合。在復(fù)雜的工業(yè)環(huán)境中,軸承的數(shù)據(jù)復(fù)雜多變,需要從中提取多種特征才能進(jìn)行有效診斷。SVM算法對(duì)于多維特征參數(shù)的診斷效果不好,與ANN相比,Xgboost的診斷正確率可以提高0.011~0.51,且不需要進(jìn)行繁瑣的參數(shù)尋優(yōu)過(guò)程。而Adaboost和GBDT的診斷正確率雖然有一定的提高,但是會(huì)消耗太長(zhǎng)的時(shí)間,這不利于大樣本數(shù)據(jù)的處理和設(shè)備的及時(shí)維護(hù)。Xgboost算法能夠在確保較高的診斷正確率的同時(shí),減少計(jì)算時(shí)間,能夠及時(shí)跟進(jìn)維護(hù)設(shè)備。因此,Xgboost在軸承故障診斷方面有著很高的實(shí)際推廣價(jià)值。
表1 傳統(tǒng)算法的診斷結(jié)果對(duì)比
表2 提升決策樹算法的診斷結(jié)果對(duì)比
[1]王澤文.基于振動(dòng)信號(hào)的滾動(dòng)軸承故障診斷與預(yù)測(cè)系統(tǒng)研究[D].中國(guó)礦業(yè)大學(xué),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īng)網(wǎng)絡(luò)在機(jī)械故障診斷中的應(yīng)用[J].噪聲與振動(dòng)控制,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ī)械故障診斷技術(shù)中的信號(hào)處理方法:時(shí)域分析[J].噪聲與振動(dòng)控制,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
國(guó)家自然科學(xué)基金資助項(xiàng)目(NSFC 61403167)
張鈺(1991-),男,湖北省黃岡市人,碩士生,主要研究方向?yàn)樾D(zhuǎn)機(jī)械故障診斷與壽命預(yù)測(cè)。
陳珺(1980-),女,碩士生導(dǎo)師。
E-mail:chenjun1860@126.com