馬 東,何毅斌,李 銘,唐 權(quán),胡明濤
(武漢工程大學(xué) 機電工程學(xué)院,湖北 武漢 430205)
由于軸承是旋轉(zhuǎn)機械中的重要零件,軸承故障的有效診斷對機械安全運轉(zhuǎn)具有重要意義[1]。
滾動軸承是軸承中的一類。滾動軸承的故障診斷步驟可分為信號特征提取、故障診斷、故障分類3部分[2]。
受工作環(huán)境影響,外界噪聲會產(chǎn)生干擾信號,因此,處理干擾信號所采取的不同方法會直接影響滾動軸承的故障診斷結(jié)果。
常見的滾動軸承信號處理方法包括:快速傅立葉變換(fast Fourier transform,FFT)、小波變換(wavelet transform,WT)及經(jīng)驗?zāi)B(tài)分解(empirical mode decom-position,EMD)等[3]。
FFT適合處理整體且較平穩(wěn)的信號;WT雖然可以探究信號在時域和頻域方面的變化,但該方法不能實現(xiàn)基函數(shù)自適應(yīng)的目的;EMD可自動按照固定模式對振動信號進行分類,但會出現(xiàn)模態(tài)混疊等現(xiàn)象[4]。
集合經(jīng)驗?zāi)B(tài)分解(ensemble empirical mode decomposition,EEMD)是在EMD的基礎(chǔ)上,通過加入白噪聲,在一定程度上改善了模態(tài)混疊等現(xiàn)象,但不能自適應(yīng)地調(diào)整噪聲幅值等參數(shù)[5]?;パa集合經(jīng)驗?zāi)B(tài)分解(CEEMD)則通過加入對稱白噪聲,提高了信號的重構(gòu)精度,同時又節(jié)約了計算時間,可有效地解決模態(tài)混疊的問題[6]。
人工神經(jīng)網(wǎng)絡(luò)(artificialneural networks,ANN)[7]、支持向量機(support vector machine,SVM)[8]等在故障診斷領(lǐng)域得到廣泛應(yīng)用。ANN需要依托數(shù)據(jù)集進行多次訓(xùn)練,且易陷入局部最優(yōu)解。SVM可解決ANN過擬合和局部最優(yōu)解問題,但該方法處理大量數(shù)據(jù)樣本時所需建模時間長,模型訓(xùn)練的速度較慢。極端梯度提升(XGBoost)[9]算法是梯度提升(gradient boosting)算法的改進版,其引入了正則化項,有效規(guī)避了模型產(chǎn)生過擬合現(xiàn)象;并且其采用并行式和分布式相結(jié)合的計算模式,極大提高了模型的訓(xùn)練速度。
在軸承故障診斷研究方面,梁治華等人[10]采用了EEMD和CS-SVM相結(jié)合的方法,即利用EEMD預(yù)處理軸承信號數(shù)據(jù),并采用改進的SVM算法優(yōu)化CS-SVM模型,提高了軸承故障識別的準(zhǔn)確率。孫蕭等人[11]首先將軸承振動信號經(jīng)CEEMD分解,然后采用篩選峭度值的方式,對該信號進行了重構(gòu),并使用卷積神經(jīng)網(wǎng)絡(luò)對該信號進行了特征提取。王桂蘭等人[12]研究了XGBoost算法在風(fēng)機主軸承故障預(yù)測中的應(yīng)用,結(jié)果表明,XGboost算法在處理大規(guī)模數(shù)據(jù)時,其分類精度和模型運算速度綜合性較好。馬懷祥等人[13]采用卷積神經(jīng)網(wǎng)絡(luò)(CNN),對軸承故障信號進行了特征提取,并使用XGBoost算法驗證了其分類精度,結(jié)果表明,CNN結(jié)合XGBoost算法在軸承故障診斷中的分類精度更高。向川等人[14]采用堆棧稀疏自編碼(ISSAE)堆疊的方式,有效提取了軸承故障信號中的數(shù)據(jù)特征,并結(jié)合XGBoost分類算法,在軸承故障診斷方面取得較好的效果。
在以上研究中,雖然研究人員都采用不同的方法對軸承進行了故障診斷,但其分類精度普遍不高,依舊存在提升空間。
在實際故障診斷過程中,算法堆疊會導(dǎo)致模型存在參數(shù)多、過擬合化等問題,數(shù)據(jù)過多也會影響模型的運算速度。利用各類數(shù)據(jù)處理方法可以最大程度地保留其數(shù)據(jù)特征,防止其數(shù)據(jù)失真;同時可以精簡數(shù)據(jù),提高其模型的運算效率。
為此,筆者提出一種基于CEEMD-PCA-XGBoost的滾動軸承故障診斷方法。該方法首先采用模態(tài)分解與主成分分析方法,對數(shù)據(jù)進行預(yù)處理,以在保證數(shù)據(jù)特征的同時,減少模型輸入的參數(shù)及數(shù)據(jù)數(shù)量;然后將提取的特征量作為輸入量,輸入到極限梯度提升(XGBoost)模型中,并采用柵格法優(yōu)化模型的參數(shù)。
1.1.1 CEEMD原理
由于CEEMD在EMD中添加了對稱分布的白噪聲,在將目標(biāo)信號分解成若干個本征模態(tài)函數(shù)(intrinsic mode functions,IMF)時,可以有效地減小重構(gòu)的誤差,降低噪聲的干擾,減少信號模態(tài)混疊的影響。
CEEMD的主要分解步驟如下:
(1)在原始信號中加入對稱白噪聲K(t),產(chǎn)生新信號signew,即:
signew(t)=sigoriginal(t)+K(t)
(1)
(2)將signew進行EMD分解,然后得到IMF(n)和殘余函數(shù)R(n);
IMF1=signew-c1
(2)
式中:c1—原始信號的上下包絡(luò)平均值;IMF1—分解后第一個分量。
新信號表達式變?yōu)?
(3)
1.1.2CEEMD空間矩陣構(gòu)建
(1)構(gòu)建關(guān)于原始信號的時域矩陣。時域矩陣如下:
(4)
式中:ui—IMF的時域信號;ui=[ui1,ui2,…uij];j—signew(t)的信號采樣點;uij—對應(yīng)的離散幅值。
(2)構(gòu)建關(guān)于原始信號的頻域矩陣。頻域矩陣如下:
(5)
式中:vi—時域信號相對應(yīng)的頻域信號,vi=[vi1,vi2,…,vis];s—頻域幅值長度。
主成分分析(PCA)可通過分解特征矩陣的方式,將原有數(shù)據(jù)的n維特征經(jīng)過正交變換,構(gòu)造出新的k維特征,去除數(shù)據(jù)中不重要的特征量,降低數(shù)據(jù)的維度[15]。PCA可以進一步減少噪聲,用少數(shù)數(shù)據(jù)特征信息代替總體數(shù)據(jù)特征,減少數(shù)據(jù)數(shù)量,以提高模型運算的速度。
PCA降維流程如下(該處以2個IMF為例):
(6)
(2)計算樣本的協(xié)方差矩陣。協(xié)方差矩陣表達式為:
(7)
(3)計算協(xié)方差矩陣的特征值與特征向量。此處以式(4)中的時域矩陣T為例,若存在向量Φ是矩陣T的特征向量,則關(guān)于該矩陣的特征值λ可在式中表示為:
TΦ=λΦ
(8)
矩陣T特征值分解可表示為:
T=ζ∑ζ-1
(9)
式中:ζ—T的特征向量陣;∑—T的特征值對角陣;
(4)依次保留∑中若干個特征值較大的特征向量;
(5)在最大程度保留數(shù)據(jù)信息的同時,保留最少的特征向量,特征值作為輸入量輸入到下文的XGBoost模型。
極限梯度提升(XGBoost)是一種集成式提升算法,以回歸決策樹(CART)為學(xué)習(xí)模型[16]。
為了得到滿足樣本數(shù)據(jù)特性的模型,該算法將簡單回歸樹模型進行多次迭代,在每次迭代過程中,對前一棵樹的殘差加以擬合,同時引入超參數(shù)控制懲罰力度,使迭代損失計算更精確;并采用多線性并行的方式,使模型處理速度更快;模型采用列抽樣,以有效規(guī)避模型過度擬合的現(xiàn)象。
依據(jù)輸入的樣本xi的地址及樣本特征,回歸樹模型對樣本進行分類,并求出結(jié)點值。
1.3.1 函數(shù)模型構(gòu)建及算法優(yōu)化
該模型的目標(biāo)函數(shù)由4部分組成,即加法模型、前向分布算法、目標(biāo)函數(shù)推倒、葉子結(jié)點最優(yōu)解求取。
(1)加法模型。加法模型表達式如下:
(10)
(2)向前分步算法。向前分步算法是采用前一個樹模型的已知變量,推導(dǎo)下一個樹模型的變量的方式。向前分步算法表達式如下:
(11)
轉(zhuǎn)化為關(guān)于葉子結(jié)點值的表達式為:
(12)
(3)目標(biāo)函數(shù)確立。目標(biāo)函數(shù)分為總樣本損失、正則項兩部分。其表達式分別為:
(13)
(14)
式中:N—樣本數(shù);Ω(fj)—回歸樹復(fù)雜度;γ—L1懲罰參數(shù);λ—L2懲罰參數(shù);T—葉子結(jié)點個數(shù);ωj—結(jié)點值。
(15)
(4)葉子結(jié)點最優(yōu)解求取。將式(4,5)按照二階泰勒公式展開,可得:
(16)
最終目標(biāo)函數(shù)為:
(17)
1.3.2 XGBoost算法流程圖
XGBoost算法運算流程圖如圖1示。
圖1 XGBoost算法運算流程圖
算法流程主要步驟為:
將輸入數(shù)據(jù)分為測試集和訓(xùn)練集,對訓(xùn)練集進行若干次采樣處理,將采樣1的數(shù)據(jù)輸入基學(xué)習(xí)器1,并計算該采樣所占權(quán)重,基學(xué)習(xí)器1作為采樣2的數(shù)據(jù)輸入,如此,模型不斷迭代;將訓(xùn)練后的數(shù)據(jù)模型用測試集驗證,測試模型準(zhǔn)確率。
算法流程思路如下:
(1)利用CEEMD對數(shù)據(jù)信號進行分解、降噪處理,重構(gòu)原始信號,得到若干個IMF分量;
(2)信號重構(gòu)后,分析發(fā)現(xiàn)數(shù)據(jù)量依舊較大,采用PCA方法對數(shù)據(jù)進行二次特征篩選,保留對原始數(shù)據(jù)影響較大的特征值,減少數(shù)據(jù)數(shù)量;
(3)利用XGboost模型,設(shè)置訓(xùn)練集與測試集,最后驗證模型的分類準(zhǔn)確度。
算法整體流程圖如圖2示。
圖2 算法整體流程圖
此處的數(shù)據(jù)集采用美國凱斯西儲大學(xué)(CWRU)軸承數(shù)據(jù)集中的驅(qū)動端軸承數(shù)據(jù)[17]。
CWRU實驗平臺如圖3所示。
圖3 CWRU實驗平臺
實驗平臺包括發(fā)動機、扭矩傳感器、功率傳感器等。
設(shè)定電機轉(zhuǎn)速為1 930 r/min,負(fù)載為0 hp,頻率為12 kHz;選取4類劃痕信號(內(nèi)圈、外圈、滾動體3種故障信號及1種正常信號)。
故障類型代號及樣本分配數(shù)量如表1所示。
表1 故障類型代號及樣本分配數(shù)量
為保證數(shù)據(jù)的多樣性,以上數(shù)據(jù)選取了直徑分別為0.007 cm、0.014 cm、0.021 cm的軸承信號各3組,直徑為0.007 cm的正常信號1組,共10組信號。
在4類信號中,隨機選取70%作為訓(xùn)練樣本,剩余的30%為測試樣本。
實驗使用的軟件為MATLAB2019b、Python3及包含的相關(guān)工具包,處理器為酷睿i7-8750H。
筆者選取直徑為0.007 cm的4種軸承信號做代表性研究,數(shù)據(jù)采樣點10 240個。
4種軸承信號的時域波形圖如圖4示。
圖4 4種軸承信號時域波形圖
4種軸承類型數(shù)據(jù)為1 217×1 601組,特征信號1 600組,標(biāo)簽數(shù)據(jù)1組。
筆者選取直徑為0.007 cm的軸承外圈故障信號進行代表性分析(其他類型數(shù)據(jù)處理方法相同);對于采樣生成的故障信號,則采用CEEMD方法進行特征提取。
CEEMD處理后的信號分解圖如圖5所示。
圖5 CEEMD處理后的信號分解圖
由圖5(a)可知:序號1~7的IMF特征較為明顯,其余的特征相對較弱;對比圖5(b),IMF對應(yīng)頻譜圖在序號1~7變化較為明顯。
綜上所述,筆者選取序號1~7的IMF為研究對象。
筆者對其他直徑的信號處理方式相同,經(jīng)CEEMD分解后,此時的故障數(shù)據(jù)為1 217×1 201組,特征信號1 200組,標(biāo)簽數(shù)據(jù)1組。
CEEMD分解后保留了7個IMF,即保留了部分?jǐn)?shù)據(jù)特征,為降低計算量,需要對多個特征進行降維,筆者采用主成分分析法來降低數(shù)據(jù)的維度。
主成分分析圖如圖6所示。
圖6 主成分分析圖
由圖6可知:為了降低計算量,圖中僅保留了2個維度的特征,但存在丟失數(shù)據(jù)特征信息的問題。通過繪制累計可解釋方差貢獻率曲線,可找到所需保留特征值的最優(yōu)數(shù)量;衡量標(biāo)準(zhǔn)為當(dāng)累計可解釋方差貢獻率為1時,主成分可取的最小數(shù)量。
累計可解釋方差貢獻率曲線圖如圖7所示。
圖7 累計可解釋方差貢獻率曲線圖
由圖7可知:在保留16個維度時,數(shù)據(jù)最大程度保留了原始數(shù)據(jù)的特征信息,并減少了其計算量。
分類后的數(shù)據(jù)為1 217×17組,其中,特征信號16組,標(biāo)簽信號1組。
3.4.1 XGBoost模型參數(shù)設(shè)置
筆者選取幾個影響較大參數(shù)(max_depth)為最大深度,控制模型的擬合程度,深度越大,則模型的復(fù)雜度越高;min_child_weight為最小權(quán)重,影響模型的運算速度;gamma為最小損失函數(shù)減小的大小;subsample為樣本的采樣率;seed為步長,控制運算速度。
3.4.2 XGBoost模型測試
筆者處理后的數(shù)據(jù)1 117×17組,選取訓(xùn)練數(shù)據(jù)781組,測試數(shù)據(jù)336組。
該實驗對比了XGBoost算法的優(yōu)點,對比該算法迭代次數(shù)與負(fù)對數(shù)似然函數(shù)的關(guān)系,對訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)進行分類預(yù)測,負(fù)對數(shù)似然損失值越小,表明預(yù)測效果更好。
迭代次數(shù)與負(fù)對數(shù)似然損失關(guān)系圖如圖8所示。
圖8 迭代次數(shù)與負(fù)對數(shù)似然損失關(guān)系圖
由圖8可知:經(jīng)CEEMD處理后,訓(xùn)練集與測試集的曲線的擬合性較好;在經(jīng)過15次迭代后,訓(xùn)練集的負(fù)對數(shù)似然損失值趨于0.1,模型分類準(zhǔn)確率為99.407%。
3.4.3 XGBoost模型參數(shù)優(yōu)化
為了進一步優(yōu)化模型,使XGBoost取得更好的實驗結(jié)果,筆者采用柵格法對主要參數(shù)進行調(diào)整。
參數(shù)調(diào)整前后迭代次數(shù)與負(fù)對數(shù)似然損失關(guān)系如圖9所示。
圖9 參數(shù)調(diào)整前后迭代與損失關(guān)系對比圖
對比分析圖(8,9)可知:參數(shù)優(yōu)化前的測試集依舊存在優(yōu)化空間;參數(shù)優(yōu)化后,測試集的負(fù)對數(shù)似然損失值無限趨近于0,達到理想狀態(tài);模型所需迭代次數(shù)由優(yōu)化前的15次變?yōu)閮?yōu)化后的20次,所需迭代時間增加;分類準(zhǔn)確率提升至100%。
為了進一步驗證模型的準(zhǔn)確率,筆者繪制了混淆矩陣圖。
參數(shù)調(diào)整后的混淆矩陣圖如圖10所示。
圖10 參數(shù)調(diào)整后混淆矩陣關(guān)系圖
圖10(a)中顯示了336組測試數(shù)據(jù)的分布結(jié)果;圖10(b)的混淆矩陣顯示準(zhǔn)確率穩(wěn)定在100%,模型效果好。
模型參數(shù)優(yōu)化前后對比如表2所示。
表2 優(yōu)化前后參數(shù)對比表
從表2中可以看出:樹的最大深度由3變?yōu)闉?,優(yōu)化前的數(shù)據(jù)未完全擬合;步長由7變?yōu)?,步長增加,模型運算效率提高,最小損失函數(shù)減少量、樣本最小權(quán)重及隨機采樣率數(shù)值不變。
此處所采用的驗證數(shù)據(jù)集為IEEE PHM 2012競賽數(shù)據(jù)集[18]。其采樣頻率為25.6 kHz;采集信號間隔10 s。
筆者使用官方數(shù)據(jù)集中的振動數(shù)據(jù)(比賽時截取的測試數(shù)據(jù)與訓(xùn)練數(shù)據(jù)),3種數(shù)據(jù)類型分別為:(1)負(fù)載4 000 N,轉(zhuǎn)速1 800 r/min;(2)負(fù)載4 200 N,轉(zhuǎn)速1 650 r/min;(3)負(fù)載5 000 N,轉(zhuǎn)速1 500 r/min。
3類數(shù)據(jù)編號為bearing1~bearing 3,每類數(shù)據(jù)依次劃分為bearing類型-1~bearing類型-7,生成的信號如圖11示。
圖11 振動信號圖
該實驗截取的部分?jǐn)?shù)據(jù)中,初始數(shù)據(jù)為2 460×801組,經(jīng)CEEMD分解后,數(shù)據(jù)為2 460×129組;經(jīng)PCA分解后,數(shù)據(jù)縮減為2 460×21組。
軸承壽命預(yù)測曲線如圖12所示。
圖12 軸承壽命預(yù)測曲線圖
由圖12曲線可以看出:由于初始時軸承狀況良好,擬合曲線重合度不足;但是隨著時間的推移,軸承逐漸出現(xiàn)損壞,擬合曲線重合度逐漸變高。
對比文獻[19]中的算法結(jié)果可知,CEEMD-PAC-XGBoost算法有更好的擬合效果。
為了檢驗基于CEEMD-PAC-XGBoost的算法在軸承故障檢測中的優(yōu)勢,筆者共設(shè)置了幾組方法進行對比試驗。
3.6.1 與XGBoost算法的對比
未經(jīng)CEEMD-PCA處理的數(shù)據(jù)為1 217×1 200組(其中,訓(xùn)練數(shù)據(jù)851組,測試數(shù)據(jù)365組);為了對比CEEMD-PCA方法對數(shù)據(jù)預(yù)處理的重要性,筆者繪制了數(shù)據(jù)處理前后的算法迭代次數(shù)與負(fù)對數(shù)似然函數(shù)對比圖。
算法迭代對比圖如圖13所示。
圖13 迭代次數(shù)對比圖
圖13中,筆者直接使用XGBoost算法對軸承故障數(shù)據(jù)進行處理。當(dāng)?shù)螖?shù)為30時,負(fù)對數(shù)似然損失值趨于平穩(wěn)。
由此可見,基于CEEMD-PAC-XGBoost的算法所需迭代次數(shù)為15,模型迭代次數(shù)更少,具有更好的擬合性,運算速度更快。
筆者依據(jù)精度(Precision)、召回率(Recall)、綜合評價指標(biāo)(F1-score)4個指標(biāo),對比分析數(shù)據(jù)處理前后的XGBoost模型在(0~9)標(biāo)簽上的不同分類準(zhǔn)確度。
標(biāo)簽分類結(jié)果對比圖如圖14示。
圖14 標(biāo)簽分類指標(biāo)對比圖
由圖14可知,經(jīng)CEEMD和PAC方法處理后,軸承數(shù)據(jù)具有了更好的分類效果,具體如下:
(1)精度分析。處理后的數(shù)據(jù)僅在標(biāo)簽6上的精度較低,最低為91%;未處理的數(shù)據(jù)僅在標(biāo)簽7上有較好的分類精度,其他標(biāo)簽分類精度普遍低于80%;
(2)召回率分析。處理后的數(shù)據(jù)僅在標(biāo)簽8上的召回率較低,為93%;未處理的數(shù)據(jù)僅在標(biāo)簽0、7上有較好的召回率,其他標(biāo)簽分類精度普遍低于70%;
(3)綜合評價指標(biāo)分析。處理后的數(shù)據(jù)僅在標(biāo)簽8上的綜合評價值最低,為96%;未處理的數(shù)據(jù)僅在標(biāo)簽7上有較好的綜合評價值,其他標(biāo)簽分類綜合評價值普遍低于65%。
3.6.2 與已知其他方法對比
相關(guān)算法參數(shù)設(shè)置如表3所示。
表3 相關(guān)對比算法參數(shù)設(shè)置
相關(guān)算法準(zhǔn)確率與運算時間對比如表4所示。
表4 準(zhǔn)確率與運算時間對比表
經(jīng)對比可知:XGBoost分類算法耗時長,準(zhǔn)確率低,效果最差;在分類準(zhǔn)確率上,CEEMD-PAC-XGBoost算法較EMDD+KNP-SVDD[20]算法提高了2.1%,在運算時間上縮短了10.3s;EMD-SVD+CNN[21]分類方法分類精度高,但運算速度欠佳;CEEMD-PAC-XGBoost算法在保證精度的同時,縮短了運算時間2.24s。
由此可見,CEEMD-PAC-XGBoost算法在故障信號分類上具有較好的實現(xiàn)效果。
由于軸承故障診斷過程中,存在診斷精度(分類精度)不夠高和耗時較長的問題,為此,筆者提出了一種基于CEEMD-PCA-XGBoost的滾動軸承故障診斷方法。
該方法首先采用模態(tài)分解與主成分分析方法,對數(shù)據(jù)進行預(yù)處理,以在保證數(shù)據(jù)特征的同時,減少模型輸入的參數(shù)及數(shù)據(jù)數(shù)量;然后將提取的特征量作為輸入量,輸入到極限梯度提升(XGBoost)模型中,并采用柵格法優(yōu)化模型的參數(shù)。
筆者提出的基于CEEMD-PAC-XGBoost的軸承故障診斷方法,對提高軸承診斷精度、評估模型診斷時間具有重要參考意義。
研究結(jié)論如下:
(1)對比XGBoost算法和CEEMD-PAC-XGBoost算法,后者模型運算時間縮短了45 s,分類精度提高了49%;分析迭代次數(shù)與負(fù)對數(shù)似然損失值曲線,可以發(fā)現(xiàn),在參數(shù)優(yōu)化后,可經(jīng)過少量的迭代,實現(xiàn)更好的分類效果;
(2)對比XGBoost、EMDD+KNP-SVDD、EMD-SVD+CNN及CEEMD-PAC-XGBoost方法,可以發(fā)現(xiàn),CEEMD-PAC-XGBoost方法分類準(zhǔn)確率提高了2.1%,在運算時間上縮短了10.3 s,在分類準(zhǔn)確率和運算速度上有更好的綜合性能;
(3)采用2種不同的數(shù)據(jù)集進行了驗證,CEEMD-PAC-XGBoost在故障診斷與壽命預(yù)測上均取得較為優(yōu)秀的實驗結(jié)果。
在此次實驗中,筆者僅對數(shù)據(jù)集中的單一類別劃痕進行了分析。因此,在后續(xù)的實驗中,筆者將對不同損傷類型(比如,疲勞、變形等)加以驗證。