王 偉,周曉光,卓靖升,王 剛
(1.91475部隊,遼寧 葫蘆島,125001;2.92635部隊,山東 青島,266200)
飛行模擬器具有安全、經(jīng)濟、高效等特點,已經(jīng)成為飛行員培訓(xùn)體系中重要組成部分[1-2]。隨著飛行模擬訓(xùn)練在飛行員培訓(xùn)中所占的比例越來越高,急需提升飛行模擬器故障快速應(yīng)急處置能力,精準(zhǔn)預(yù)判飛行模擬器設(shè)備故障并快速處理,以減少對模擬訓(xùn)練的影響。
飛行模擬器運行環(huán)境苛刻,使用頻率高、時間長,其設(shè)備存在故障率較高、壽命較短等特點。另外,飛行部隊飛行模擬器維護(hù)人員能力有限,維護(hù)經(jīng)驗、手段不足,這也成了制約飛行模擬器使用[3-4]的因素。因此,基于人工智能,及時準(zhǔn)確判斷飛行模擬器設(shè)備的故障狀態(tài),對于后續(xù)如何采取快速有效的控制手段,緩解飛行部隊飛行模擬器設(shè)備維護(hù)壓力具有重要意義。
針對飛行模擬器設(shè)備的故障預(yù)判:文獻(xiàn)[5]結(jié)合了故障樹分析法和專家系統(tǒng),實現(xiàn)了對飛行模擬器的故障診斷,并構(gòu)建了相關(guān)的專家知識庫;文獻(xiàn)[6]基于BRB 專家系統(tǒng),實現(xiàn)了對飛行模擬器的故障診斷,并在此基礎(chǔ)上開展后續(xù)的容錯控制研究;文獻(xiàn)[7]通過特征工程提取數(shù)據(jù)的相關(guān)特征,采用隨機森林對設(shè)備故障進(jìn)行預(yù)判;文獻(xiàn)[8]建立了平臺級PHM 系統(tǒng)的整體結(jié)構(gòu),對設(shè)備的故障診斷和壽命預(yù)測開展了研究。
然而,由于飛行模擬器系統(tǒng)組成復(fù)雜,設(shè)備存在故障數(shù)據(jù)量大、維度高等特點,傳統(tǒng)的基于模型的故障診斷方法具有較大的局限性[9-12]?;跀?shù)據(jù)驅(qū)動的機器學(xué)習(xí)方法無須建立研究對象的數(shù)學(xué)模型,通過對故障狀態(tài)數(shù)據(jù)進(jìn)行訓(xùn)練,可以實現(xiàn)對設(shè)備的故障診斷研究。
受運行環(huán)境的影響,從設(shè)備直接獲取的故障數(shù)據(jù)存在異常值和缺失值,這類數(shù)據(jù)不利于機器學(xué)習(xí)模型的訓(xùn)練和使用,因而有必要對這些數(shù)據(jù)進(jìn)行預(yù)處理。
首先,對數(shù)據(jù)樣本進(jìn)行缺失值判斷。對于缺失的數(shù)據(jù),采用正態(tài)分布法進(jìn)行補全。對于故障數(shù)據(jù)時間序列向量X=[x1,x2,...,xn],計算該向量的均值和方差,生成符合正態(tài)分布的時間序列,如式(1)所示:
式(1)中:μ 表示正態(tài)分布序列的均值;σ 為方差。
其次,采用箱形圖法識別數(shù)據(jù)的異常值。定義如式(2)(3)所示的范圍:
式(2)中:P1為數(shù)據(jù)集時間序列的第1個四分位數(shù);P3表示數(shù)據(jù)集時間序列的第3 個四分位數(shù)。式(2)表示閾值判斷范圍。
通過計算故障數(shù)據(jù)樣本中各時間序列的閾值范圍,構(gòu)建箱型圖。對于不滿足該閾值范圍的數(shù)據(jù),認(rèn)為是異常值,可將其剔除。
特征提取的目的是在降低原始數(shù)據(jù)維度的同時,獲得可以加快機器學(xué)習(xí)模型訓(xùn)練速度的特征集合。核主成分分析法(KPCA)對于高維度、非線性的數(shù)據(jù)具有較好的處理能力。通過引入核函數(shù),該方法可以將低維空間內(nèi)的非線性數(shù)據(jù)轉(zhuǎn)化為高維度空間的線性數(shù)據(jù),再根據(jù)累計特征貢獻(xiàn)率決定要提取的特征向量,從而避免了人為因素的影響。linear、sigmoid、poly、RBF等都是常見的核函數(shù)。
通過非線性函數(shù)Φ()· 將數(shù)據(jù)集D 映射到高維空間F 中,高維空間F 中樣本的協(xié)方差矩陣CF如下:
通過式(5)求解CF的特征值:
式(5)中:λ 為CF的特征值;VL為對應(yīng)的特征向量。
Kij=k(xi,xj)=φ(xi)·φ(xj) 為核函數(shù),它可以將問題轉(zhuǎn)化為求解K 中的特征向量,即尋找高維核空間的主元方向,計算方法如式(6)所示:
依據(jù)特征貢獻(xiàn)率,取從大到小排列的前k 行為特征提取后的降維數(shù)據(jù)。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)、BP 神經(jīng)網(wǎng)絡(luò)以及隨機森林(RF)是數(shù)據(jù)分類及故障預(yù)判等問題處理中最常用的方法,其優(yōu)缺點各有不同。CNN在數(shù)據(jù)的特征提取以及降維減參等領(lǐng)域表現(xiàn)出較好的性能,擅長處理強關(guān)聯(lián)的工業(yè)過程數(shù)據(jù)[13];BP神經(jīng)網(wǎng)絡(luò)具有較大的容錯能力,但收斂速度慢且易于過擬合[14];RF 對異常值和噪聲具有很高的容忍度,并且不易出現(xiàn)過擬合現(xiàn)象,但對于小數(shù)據(jù)或者低維數(shù)據(jù),診斷準(zhǔn)確率較低[15-16]。
Stacking“兩階段”模型如圖1 所示?!皟呻A段”是指:第一階段即“基分類器”,其作用是對樣本進(jìn)行初步判斷,并將結(jié)果匯總成新的訓(xùn)練集;第二階段即“元分類器”,通過第一階段的輸入訓(xùn)練集獲得最終的判斷結(jié)果?!皟呻A段”的優(yōu)點是能夠避免單個模型精度不足的問題。
圖1 Stacking“兩階段”模型示意圖Fig.1 Schematic diagram of two-phase Stacking model
構(gòu)建Stacking集成學(xué)習(xí)的目的在于融合各個單一分類器的優(yōu)點,進(jìn)而提升模型的故障預(yù)判準(zhǔn)確率。其基本思想是:首先,使用各個基分類器對故障樣本進(jìn)行識別和判斷,獲得多個結(jié)果;將得到的多個結(jié)果作為訓(xùn)練樣本輸入到元分類器中訓(xùn)練和使用,獲得最終的診斷結(jié)果。
采用交叉驗證的思想是為了避免在模型的訓(xùn)練過程中出現(xiàn)過擬合的現(xiàn)象[17-19]。對于經(jīng)過特征提取后的故障樣本Y={(xi,yi),i=1,2,...,n},xi表示故障數(shù)據(jù)集的特征序列,yi表示對應(yīng)的故障類型。對于本文的3個基分類器,故障樣本Y 被隨機劃分為3個樣本集,分別為Y1、Y2、Y3。基分類器1對故障樣本的診斷結(jié)果為yp1=(y~1,y~2,...,y~n),以此類推,3個基分類器的分類結(jié)果則可以表示為Ynew=(yp1,yp2,yp3)T,其中,Ynew是元分類器XGBoost的訓(xùn)練樣本。在此基礎(chǔ)上,對樣本數(shù)據(jù)進(jìn)行歸納,得到最終的分類結(jié)果。模型的總體思路如圖2所示。
圖2 模型流程圖Fig.2 Model flow chart
本文使用KEEL機器學(xué)習(xí)公共數(shù)據(jù)集中的7組數(shù)據(jù),通過驗證本文所構(gòu)建的Stacking 集成學(xué)習(xí)模型在該數(shù)據(jù)集中的分類準(zhǔn)確率,證明本文所提方法在設(shè)備故障預(yù)判領(lǐng)域的有效性。
該數(shù)據(jù)集所包含的各組數(shù)據(jù)具有不同的數(shù)據(jù)量和特征維度,較為適合用于模擬智能設(shè)備在故障時的運行數(shù)據(jù)。所選擇的數(shù)據(jù)樣本信息如表1所示。
表1 數(shù)據(jù)集樣本信息Tab.1 Data set sample information
表1中:數(shù)據(jù)量表示各數(shù)據(jù)集的樣本數(shù)目;特征屬性維度是指該數(shù)據(jù)集所包含的用于模型訓(xùn)練的特征的個數(shù);標(biāo)簽數(shù)目表示該數(shù)據(jù)集中樣本的類別數(shù)目。
將各數(shù)據(jù)集樣本按照7 ∶3 劃分訓(xùn)練集和測試集,目的是獲取合適數(shù)目的訓(xùn)練樣本和測試樣本。分別使用正態(tài)分布法和箱型圖法對上述數(shù)據(jù)集樣本進(jìn)行缺失值填補和異常值替換,同時采用KPCA對數(shù)據(jù)集樣本進(jìn)行特征提取與數(shù)據(jù)集降維。經(jīng)過上述處理后的數(shù)據(jù)集樣本數(shù)量和維度,如表2所示。
表2 經(jīng)過特征工程處理后的數(shù)據(jù)集樣本信息Tab.2 Sample information of data set after feature engineering processing
從表2可以看出,經(jīng)過特征工程處理后,樣本數(shù)據(jù)集的特征屬性維度發(fā)生較大的變化,這是因為KPCA的降維效果使得原始數(shù)據(jù)集的特征屬性維度得到降低,這也意味著經(jīng)過特征提取后的數(shù)據(jù)具有更加精簡的數(shù)據(jù)結(jié)構(gòu)。
將表2 中的數(shù)據(jù)集分別輸入到CNN、BP 神經(jīng)網(wǎng)絡(luò)、RF以及本文所構(gòu)建的Stacking集成學(xué)習(xí)模型中進(jìn)行訓(xùn)練和測試,分別獲取4 種模型在樣本數(shù)據(jù)集中的預(yù)判準(zhǔn)確率。值得一提的是,本文所構(gòu)建的Stacking集成學(xué)習(xí)模型可以直接使用CNN、BP神經(jīng)網(wǎng)絡(luò)和RF對樣本數(shù)據(jù)集的預(yù)判結(jié)果,即將上述三者的預(yù)判結(jié)果進(jìn)行匯總,得到最終的故障預(yù)判結(jié)果,如表3所示。
表3 3種模型與Stacking集成學(xué)習(xí)模型的預(yù)判準(zhǔn)確率Tab.3 Prediction accuracy of three models and the Stacking integrated learning model
為了更直觀比較本文所構(gòu)建Stacking集成學(xué)習(xí)模型對于故障預(yù)判準(zhǔn)確率的提升,繪制了如圖3 所示的各模型預(yù)判準(zhǔn)確率對比圖。
圖3 各模型預(yù)判準(zhǔn)確率對比Fig.3 Comparison of prediction accuracy of models
從圖3 中可以看出,本文所構(gòu)建的Stacking 集成學(xué)習(xí)模型在7種數(shù)據(jù)集樣本中的預(yù)判準(zhǔn)確率均獲得了較好的效果。相比于CNN、BP 神經(jīng)網(wǎng)絡(luò)以及RF,Stacking集成學(xué)習(xí)模型能夠更好地識別數(shù)據(jù)集樣本的類型,這也意味著其能夠在故障預(yù)判中獲取更高的準(zhǔn)確率和更好的預(yù)判效果。
為驗證本文所提出基于Stacking集成學(xué)習(xí)的飛行模擬器設(shè)備故障預(yù)判方法的實際效果,根據(jù)專家經(jīng)驗及日常故障維護(hù)記錄,構(gòu)建飛行模擬器故障數(shù)據(jù)集樣本如表4所示。
表4 飛行模擬器數(shù)據(jù)集樣本信息Tab.4 Sample information of flight simulator data set
基于Stacking集成學(xué)習(xí)的飛行模擬器設(shè)備故障預(yù)判方法的準(zhǔn)確率如圖4 所示??梢钥闯?,飛行模擬器故障特征較為明顯,因而基于Stacking 集成學(xué)習(xí)的飛行模擬器設(shè)備故障預(yù)判準(zhǔn)確率非常高。對于已經(jīng)訓(xùn)練的數(shù)據(jù),均可以正確預(yù)判;對于非訓(xùn)練數(shù)據(jù),則存在一定的誤差(誤差在允許范圍之內(nèi))。
圖4 飛行模擬器設(shè)備故障預(yù)判準(zhǔn)確率Fig.4 Prediction accuracy of flight simulator equipment failure
本文通過開展特征工程和建立Stacking集成學(xué)習(xí)模型兩大步驟,提出了1 種基于數(shù)據(jù)驅(qū)動的智能設(shè)備故障預(yù)判方法。該方法首先采用正態(tài)分布法和箱型圖法對原始的數(shù)據(jù)集樣本進(jìn)行缺失值填補和異常值處理;進(jìn)一步使用KPCA對數(shù)據(jù)集進(jìn)行特征提出和降維處理,并基于CNN、BP神經(jīng)網(wǎng)絡(luò)以及RF這3種典型的機器學(xué)習(xí)方法,構(gòu)建了Stacking 集成學(xué)習(xí)模型。在此基礎(chǔ)上,對數(shù)據(jù)集的樣本類型作出判斷。
算例結(jié)果表明,所構(gòu)建的Stacking 集成學(xué)習(xí)模型較好地融合了3 種基分類器的優(yōu)勢,能夠獲得相對較高的預(yù)判準(zhǔn)確率。同時可以看出,CNN、BP神經(jīng)網(wǎng)絡(luò)和RF 這3 種基分類器對于數(shù)據(jù)集樣本的數(shù)量和維度都具有較高的敏感性,當(dāng)數(shù)據(jù)量較低或者數(shù)據(jù)維度較高時,基分類器會出現(xiàn)預(yù)判精度不足的問題,而Stacking集成學(xué)習(xí)模型則彌補了這一缺陷。
受數(shù)據(jù)集樣本數(shù)目及種類的影響,本文所提方法僅在相對理想的公共數(shù)據(jù)集上作了有效性論證,后續(xù)將會在實際的飛行模擬器設(shè)備故障數(shù)據(jù)集上作進(jìn)一步的研究和論證。