張 龍,周 俊
(上海工程技術大學 機械與汽車工程學院,上海 201620)
滾動軸承在工業(yè)生產(chǎn)機械設備中扮演著不可或缺的角色,也是最常見、最易受損的部件之一,在變負載條件下,其運行狀態(tài)復雜多變,一旦發(fā)生故障,輕則影響機械設備的正常運行,重則引起嚴重的安全事故,并造成巨大的經(jīng)濟損失及人員傷亡。因此對滾動軸承的質(zhì)量檢測、狀態(tài)監(jiān)測和故障診斷具有十分重大的意義[1-2]。
隨著機器學習研究的不斷深入,基于人工智能的數(shù)據(jù)驅(qū)動方法成為故障診斷領域研究的熱點。工業(yè)生產(chǎn)迫切需要融合智能傳感網(wǎng)絡、智能診斷算法和智能決策預示的智能診斷系統(tǒng)[3]。徐統(tǒng)等[4]采用變分模態(tài)分解(Variational Mode Decomposition,VMD)將滾動軸承信號分解成若干個本征模態(tài)函數(shù)(Intrinsic Mode Function,IMF),然后分別計算原始信號和每個IMF 分量的K-L值,選擇較小K-L值的兩個IMF分量進一步計算其瞬時能量并組成特征向量,最后結(jié)合概率神經(jīng)網(wǎng)絡(Probabilistic Neural Network,PNN)建立故障診斷模型;袁憲鋒等[5]利用棧式稀疏自編碼網(wǎng)絡(Stacked Sparse Auto Encoder,SSAE)來提取軸承信號中的故障特征,再利用改進的灰狼智能優(yōu)化算法(Improved Grey Wolf Optimization,IGWO)實現(xiàn)對支持向量機(Support Vector Machine,SVM)的參數(shù)優(yōu)化,最后基于優(yōu)化后的SVM 完成對軸承故障特征的分類識別;尹愛軍等[6]先提取軸承振動信號的小波包能量,構(gòu)建融合特征矩陣,再利用高斯過程隱變量模型(Gauss Process Latent Variables Model,GP-LVM)提取其隱變量,最后利用K-最近鄰分類算法(K-Nearest Neighbor,KNN)進行故障識別;黃大榮等[7]利用線性判別分析(Linear Discriminant Analysis,LDA)對軸承多重故障的無量綱指標數(shù)據(jù)進行線性映射降維處理,通過拉格朗日極值法獲得最佳投影向量,最后將處理后的樣本作為BP 神經(jīng)網(wǎng)絡(Back Propagation)的輸入樣本,實現(xiàn)對軸承多重故障的分類。
上述幾種關于軸承的故障診斷研究方法均只采用了單一的分類器模型,這樣不利于模型診斷性能得到進一步的提升。為了得到一個泛化能力更強、魯棒性更好的診斷模型,本文提出一種基于WELCH 算法的多模型融合的滾動軸承故障診斷方法。首先用WELCH功率譜算法對原始振動信號進行預處理,然后將LDA、SVM、KNN 和PNN 四種分類器與Stacking算法相結(jié)合構(gòu)造Stacking-SVM集成模型;最后驗證該集成模型在不同電機轉(zhuǎn)速下的診斷性能及抗噪性測試。
WELCH 功率譜是一種有效且實用的經(jīng)典的譜估計運算,具有很好的信號分析能力。主要通過窗函數(shù)在被分析數(shù)據(jù)串上滑動截取數(shù)據(jù)并進行交疊,使數(shù)據(jù)中被截取的段數(shù)增加,并且對每一段被截取的數(shù)據(jù)都進行求取功率譜轉(zhuǎn)換并平均后疊加,從而使得轉(zhuǎn)換后的信號數(shù)據(jù)更加平滑。這樣不僅降低了譜估計方差,還減少了對信號分辨率的破壞,對信號所蘊藏的信息進行有效的保留,且計算量相對較小,對故障特征的提取相對平穩(wěn)[8-9]。
WELCH 算法進行功率譜轉(zhuǎn)換主要由參數(shù)及窗函數(shù)的確定、數(shù)據(jù)分段、部分重疊幾個步驟組成[10]。

其中:x(n)的長度為N,被分成了L段,每一段包含M個數(shù)據(jù),ω(n)為窗函數(shù),為歸一化因子,它的存在使得功率譜估計是漸近無偏估計。
Stacking算法是一種著名的集成學習算法,也可以看作是一種特殊的集成策略。首先將原始數(shù)據(jù)集按比例分為訓練集和測試集,再用訓練集結(jié)合交叉驗證訓練出初級學習器,然后生成一個新的數(shù)據(jù)集用來訓練元級學習器。在這個新的數(shù)據(jù)集中,初級學習器的輸出結(jié)果被當作樣本的輸入特征,而初始樣本的標記仍被當作樣本標簽。Stacking 算法原理如圖1所示。

圖1 Stacking算法
集成學習是將不同的模型通過一定的結(jié)合策略組成一個元模型,可有效解決單一模型效率低、泛化能力差的問題。參與集成的模型可以是單一的模型分類器,也可以是多種不同的分類器模型。本文則采用LDA、SVM、KNN和PNN四種不同的分類器通過結(jié)合Stacking 算法進行集成,同時選取不同的元分類器進行對比選擇最優(yōu)的Stacking 集成學習模型。
線性判別分析(LDA),又稱Fisher判別分析,是一種有監(jiān)督學習的分類和降維方法,既可以用來提取樣本特征,又可以用來進行樣本分類識別。首先給定訓練集樣例集,設法將樣例投影到一條直線上,使得同類樣例的投影點盡可能接近、異類樣例的投影點盡可能遠離;在對新樣本進行分類時,將其投影到同樣的這條直線上,再根據(jù)投影點的位置來確定新樣本的類別[11]。
支持向量機(SVM)是機器學習算法中應用很廣的一種分類算法。首先給定一個訓練樣本集D={ (x1,y1),(x2,y2),…,(xm,ym)},y∈{ -1,1 },在包含訓練集D的樣本空間中,我們需要找到一個劃分超平面,將不同種類的樣本數(shù)據(jù)區(qū)分開,并使其間隔最大化[12]。
在樣本空間中,劃分超平面可由下面的線性方程來描述:

其中:ωT為權(quán)重向量,b為位移項。
K近鄰算法(KNN)是通過計算待分類樣本及其最近的k個樣本間距作為診斷指標,對待測樣本進行分類。KNN無需估計參數(shù)及訓練,適用于多分類問題[13]。樣本間距計算式為:

式中:xi,yi——樣本點在多維空間中的坐標。
概率神經(jīng)網(wǎng)絡(PNN)是由徑向基函數(shù)網(wǎng)絡(Radial Basis Function Network,RBF)發(fā)展而來的一種前饋型神經(jīng)網(wǎng)絡,其理論依據(jù)是貝葉斯最小風險準則(即貝葉斯決策理論)。與其他類型的神經(jīng)網(wǎng)絡相比,其優(yōu)勢在于結(jié)構(gòu)相對簡單,訓練簡潔,是一種應用廣泛的人工神經(jīng)網(wǎng)絡。PNN 的層次模型由輸入層、模式層、求和層和輸出層組成[14]。
首先將已知故障狀態(tài)的滾動軸承的原始振動信號通過WELCH 算法進行預處理,然后從功率譜中提取相關特征參數(shù),作為輸入樣本向量,將訓練集結(jié)合5折交叉驗證分別訓練LDA、SVM、KNN和PNN4種分類器,將其對應的輸出結(jié)果進行重組得到一個新的含有四種特征的數(shù)據(jù)集,再訓練元分類器;同時將測試集對單個分類器的輸出結(jié)果進行累加取平均值,作為新的測試集輸入到元分類器中進行測試。圖2為基于WELCH算法的Stacking集成模型。

圖2 基于WELCH算法的Stacking集成學習模型
數(shù)據(jù)集來自Case Western Reserve University 軸承數(shù)據(jù)中心。選取了電機轉(zhuǎn)速為1 730 r/min、1 750 r/min、1 772 r/min、1 797 r/min,采樣頻率為12 kHz下的驅(qū)動端滾動軸承數(shù)據(jù),分成10 種故障類型,分別為正常狀態(tài)以及內(nèi)圈、外圈和滾動體故障直徑分別為0.18 mm、0.36 mm、0.53 mm下的故障。每個樣本包含1 200個采樣點,其中每一種故障狀態(tài)都選取了100個樣本,總共1 000個樣本數(shù)據(jù)。每種故障類型選取90個樣本作為訓練集,共900個,剩余的作為測試集,共100個。表1為轉(zhuǎn)速為1 772 r/min下的實驗數(shù)據(jù)集。圖3 為滾動軸承正常狀態(tài)下的振動波形圖。

圖3 正常狀態(tài)下的振動波形圖

表1 實驗數(shù)據(jù)集
將滾動軸承的原始振動信號通過WELCH算法進行預處理,選取采樣點數(shù)為1 200,F(xiàn)FT 點數(shù)為600,采用矩形窗,窗函數(shù)長度設置為100,重疊樣本數(shù)為25。圖4 為正常狀態(tài)下的軸承信號經(jīng)WELCH算法預處理后的功率譜。從功率譜中獲得峭度Xku、偏度Xsk、波形因子XS、峰值因子XC、脈沖因子XZ和裕度因子XL六個參數(shù),作為輸入。部分相關數(shù)據(jù)見表2。

表2 部分特征向量數(shù)據(jù)

圖4 WELCH算法預處理后的功率譜
信號處理方法的不同對于故障特征提取具有很大的影響,選取合適的信號處理方法可以增強故障特征,進而可以大大提升故障診斷準確率。本文選取周期圖法、希爾伯特變換(Hilbert)、傅里葉變換(FFT)和WELCH功率譜算法進行實驗對比,并選用SVM作為該實驗的故障診斷模型。診斷結(jié)果如圖5所示。

圖5 不同預處理方法下的診斷準確率
當對軸承的原始振動信號使用不同的信號處理方法,均能達到提高故障診斷準確率的效果。經(jīng)WELCH算法預處理后的故障信號在SVM下能達到95%的診斷準確率,高于其余三種信號處理方法,最大相差了11%。因此,對原始信號有必要選用一定的信號處理方法用來增強不同信號的故障特征;但是,不同的信號處理方法各有優(yōu)勢,選取合適且優(yōu)異的方法將更有利于故障特征的識別。
Stacking 集成模型第一層采用LDA、SVM、KNN和PNN作為基分類器,首先分別對這四種單一分類器進行實驗,其診斷結(jié)果如表3 所示。未進行預處理的數(shù)據(jù)的故障診斷準確率僅在76%~90%之間,波動幅度較大,且準確率相對較低,不能對故障進行很好的識別。經(jīng)WELCH算法預處理后的故障診斷準確率明顯優(yōu)于未進行預處理的數(shù)據(jù),故障診斷準確率能達到91%~97%,有了很大的提升。由于各個分類器的診斷機理不同,診斷結(jié)果存在較大差異,但采用WELCH算法預處理后,各個分類器均能對軸承故障有著一定的識別能力。

表3 基分類器故障診斷準確率
Stacking 集成模型第一層選用該四種單一分類器的二種或三種,第二層選用SVM分類器作為元分類器進行實驗,其診斷結(jié)果如表4 所示。當選擇部分分類器進行結(jié)合時,即Stacking 集成模型第二層的數(shù)據(jù)集樣本特征會相對減少,這會影響最終的診斷準確率。因此,在條件允許的情況下,應盡量多地選擇分類精度較好的分類器進行結(jié)合,增加樣本的特征數(shù),以此來提升模型的診斷性能。

表4 不同分類器個數(shù)的集成模型診斷性能
Stacking 集成模型第二層分別采用各個單一分類器進行對比實驗,選擇診斷性能最優(yōu)的一個集成模型,其診斷結(jié)果如表5所示。

表5 不同結(jié)構(gòu)的Stacking集成模型的診斷性能
當Stacking 集成模型選用SVM 分類器作為第二層的時候,該集成模型的整體性能有了一定的提升;選擇其余3種分類器作為元分類器時,該集成模型的診斷性能有所下降,在選用KNN 時,診斷準確率僅有93%。因此,選用這種結(jié)構(gòu)簡單、發(fā)展成熟的SVM分類器作為Stacking集成模型的第2層有利于提高模型的整體性能,診斷準確率為98%。圖6為4種基分類器和Stacking-SVM集成模型對不同故障類型的診斷準確率。

圖6 不同模型下的診斷性能
本文提出的Stacking-SVM 集成模型針對的是電機轉(zhuǎn)速為1 772 r/min 下的滾動軸承的故障診斷,為驗證該模型是否在其他電機轉(zhuǎn)速下一樣具有良好的診斷性能,故設定以下實驗。將電機轉(zhuǎn)速為1 730 r/min,1 750 r/min,1 772 r/min 和1 797 r/min 下的軸承數(shù)據(jù)分別用該集成模型進行實驗。診斷結(jié)果如圖7所示。
結(jié)合圖7和表6可知,該集成模型對于不同電機轉(zhuǎn)速下的故障診斷效果相對均衡,診斷準確率分別為98 %、98 %、98 %和92 %。僅在電機轉(zhuǎn)速為1 797 r/min,滾動體故障直徑在0.36 mm 的情況下,診斷準確率較低,出現(xiàn)了較多的預測錯誤。分析其原因,可能與滾動體本身的工作原理有關,在轉(zhuǎn)速稍高的情況下,導致所采集的振動數(shù)據(jù)不規(guī)則且具有隨機性,從而導致診斷準確率偏低。但在大部分情況下,該Stacking-SVM集成模型還是能很好的識別不同電機轉(zhuǎn)速下的故障類型,診斷性能穩(wěn)定且具有一定的適應性和泛化能力。

圖7 不同電機轉(zhuǎn)速下的診斷性能

表6 不同電機轉(zhuǎn)速下的診斷準確率/(%)
為驗證該Stacking-SVM 集成模型在噪聲條件下的診斷性能,在電機轉(zhuǎn)速為1 772 r/min的工況下,給每類故障的原始信號中分別加入信噪比(signalto-noise ratio,SNR)為-8 dB~8 dB 的高斯白噪聲構(gòu)成帶有噪聲的數(shù)據(jù)集。實驗結(jié)果如表7所示。

表7 不同信噪比下的模型診斷結(jié)果
SNR的定義如下:

式中:Ps——原始信號能量大小;
Pn——噪聲信號能量大小。
由表7 可知,該Stacking-SVM 集成模型具有一定的抗噪性,隨著SNR 值的減少,也就是說隨著噪聲干擾的增強,故障診斷準確率也在不斷下降,但下降幅度相對平緩。在SNR=-6 dB 時也能達到70%的準確率,但是當SNR達到-8 dB時,診斷準確率僅有61%。因此當工作環(huán)境中背景噪聲過于強大時,則不能完全依靠診斷模型自身的抗噪性能,對于所采集的原始振動信號也應適當?shù)剡M行一些降噪處理,避免故障信號的特征丟失,從而影響故障的診斷結(jié)果。
本文對旋轉(zhuǎn)機械領域的滾動軸承故障診斷進行了研究,提出了一種基于WELCH 算法的多模型融合的滾動軸承故障診斷方法,得出以下結(jié)論:
(1)經(jīng)過WELCH 功率譜算法預處理后的軸承數(shù)據(jù)故障診斷準確率更高,對于四種單一分類器模型,預處理前后的診斷誤差最高能達到16%;
(2)在Stacking-SVM 集成模型的第一層中,應盡可能選擇更多分類精度高的分類器進行結(jié)合,增加該模型第二層輸入數(shù)據(jù)集的特征數(shù),來提升該模型的診斷性能;
(3)相比較各個單一分類器模型,本文提出的Stacking-SVM 集成模型對于軸承診斷精度更高,診斷準確率為98%;并且在不同工況下的診斷性能相對平穩(wěn),有一定的適用性和泛化能力,并具有一定的抗噪性。