王孝軍,劉德虎
(中國航發(fā)四川燃?xì)鉁u輪研究院,成都 610500)
航空發(fā)動機(jī)轉(zhuǎn)動部件故障通常與振動有關(guān)。因此,對發(fā)動機(jī)振動趨勢進(jìn)行預(yù)測,及早發(fā)現(xiàn)潛在問題,對發(fā)動機(jī)實現(xiàn)安全、可靠的工作尤為重要。對于振動預(yù)測,學(xué)者們提出了多種方法,主要有:時間序列分析[1-2]、神經(jīng)網(wǎng)絡(luò)[3]、支持向量機(jī)[4-5]等方法。時間序列分析方法適用于線性系統(tǒng)的短期預(yù)測,對于航空發(fā)動機(jī)振動趨勢預(yù)測這類非線性問題不太適用;神經(jīng)網(wǎng)絡(luò)方法能擬合任意非線性函數(shù)并具有一定的泛化能力,但實際運用時訓(xùn)練樣本的選擇對神經(jīng)網(wǎng)絡(luò)模型的影響較大,且神經(jīng)網(wǎng)絡(luò)容易出現(xiàn)過擬合現(xiàn)象[6];支持向量機(jī)方法雖然泛化能力較強(qiáng),但存在獲取最優(yōu)參數(shù)計算量較大的問題[7]。
為克服單一算法的缺陷,集成算法得到了學(xué)者的深入研究。集成算法通過構(gòu)建多個不同的預(yù)測模型,然后根據(jù)某種規(guī)則組合輸出預(yù)測結(jié)果,目前理論上已被證明可以獲取良好的學(xué)習(xí)效果[8-9]。隨機(jī)森林(RF)算法是一種典型的集成算法,采用了Random subspace method 和Bootstrap aggregating 兩大隨機(jī)思想[10],能較好地避免過擬合現(xiàn)象,且隨機(jī)森林算法易于實現(xiàn),訓(xùn)練速度快,能有效分析非線性數(shù)據(jù),預(yù)測精度高。目前,隨機(jī)森林算法已在電力負(fù)荷預(yù)測[11]、交通預(yù)測[12]及水文預(yù)測[13]等領(lǐng)域得到了廣泛的研究和應(yīng)用,但針對航空發(fā)動機(jī)狀態(tài)預(yù)測方面的研究較少。為此,本文利用某發(fā)動機(jī)振動測量樣本數(shù)據(jù),建立隨機(jī)森林算法預(yù)測模型,對航空發(fā)動機(jī)振動趨勢進(jìn)行預(yù)測,旨在為航空發(fā)動機(jī)振動趨勢預(yù)測分析提供新的方法。
隨機(jī)森林算法是一種集成算法,通常采用分類回歸樹(CART)作為基元學(xué)習(xí)器,通過建立許多相互之間沒有關(guān)聯(lián)的樹,得到一個組合學(xué)習(xí)模型。最終輸出的預(yù)測值對于分類問題采用多數(shù)投票法,對于回歸問題則是整個森林預(yù)測值取平均值。由于隨機(jī)森林算法在構(gòu)建每棵決策樹時引入袋裝法和特征子空間法兩大隨機(jī)策略,使隨機(jī)森林算法集成了各決策樹的分類回歸結(jié)果,抵消了部分隨機(jī)誤差,對異常值和噪聲具有很好的容忍度[14-15],其計算步驟詳見文獻(xiàn)[15]。
隨機(jī)森林泛化誤差已經(jīng)得到證明[16],本文僅作簡單介紹。
給定k 個決策樹集合{h(X,θk),k=1,2,…n},其中θk是相互獨立且同分布的隨機(jī)向量,h(X,θk)是未減枝的CART 樹,最終結(jié)果由所有樹的投票結(jié)果決定。定義隨機(jī)函數(shù)的泛化誤差:
式中:PX,Y為給定輸入向量X 的分類錯誤率函數(shù),K(X,Y)為隨機(jī)森林的邊緣函數(shù)。當(dāng)森林中樹的數(shù)目較大時,可以用大數(shù)定律得到如下定理。
定理1 隨著樹的數(shù)目增加,對于所有隨機(jī)變量θ,PE*將收斂于:
式中:Pθ為對于給定序列θ 分類錯誤。
該定理表明隨著樹的數(shù)目增加,隨機(jī)森林的泛化誤差趨于某一上界,而不會造成過擬合,這是隨機(jī)森林的一個重要特點[17]。
定理2 定義隨機(jī)森林的泛化誤差上界:
隨著樹的相關(guān)性的降低和單棵樹強(qiáng)度的提高,隨機(jī)森林的泛化誤差上界將減小,其泛化誤差將得到控制[7]。
試驗數(shù)據(jù)來自文獻(xiàn)[3],與其原始數(shù)據(jù)值不完全相等,旨在分析振動參數(shù)時間序列預(yù)測方法的適用性。振動原始數(shù)據(jù)為一維時間序列,通過基本的數(shù)據(jù)預(yù)處理后,數(shù)據(jù)樣本共121個點,樣本數(shù)較少。由于隨機(jī)森林算法對于小樣本問題的預(yù)測不理想,受文獻(xiàn)[19]的啟發(fā),假定正常情況下發(fā)動機(jī)振動變化趨勢為一漸進(jìn)變化,提出通過建立等差數(shù)列內(nèi)插值來構(gòu)造大樣本訓(xùn)練集。即在原始兩個采樣時刻之間等間隔增加虛擬采樣點,從而擴(kuò)增訓(xùn)練樣本集。
為提高預(yù)測精度,需對一維振動時間序列進(jìn)行相空間重構(gòu),充分挖掘數(shù)據(jù)間的關(guān)聯(lián)關(guān)系,以獲取盡可能多的信息。設(shè)原始序列X={X1,X2,X3,…Xn},通過重構(gòu)后的具體形式為:
上式表示前m 個振動參數(shù)信息能表達(dá)第m+個振動參數(shù)的信息。即對發(fā)動機(jī)當(dāng)前時間點上振動狀態(tài)的預(yù)測,主要依據(jù)的信息是發(fā)動機(jī)在之前m 個時間點上的振動趨勢分布信息。
相空間重構(gòu)時,合理選取嵌入維數(shù)m 和時間延遲τ 是關(guān)鍵。利用混沌理論中的C-C法可以同時估算出τ 和延遲時間窗口τw,兩個參數(shù)間的關(guān)系為τw=(m-1) τ[20]。關(guān)聯(lián)積分C(m,r,t),三個統(tǒng)計量和Scor(t)等參數(shù)詳細(xì)的定義和計算方法見文獻(xiàn)[20]。按照C-C方法的基本理論,Δ-S(t)的第一個極小值對應(yīng)于時間延遲,Scor(t)的最小值對應(yīng)于時間延遲窗口。經(jīng)計算,時間延遲取5,時間延遲窗口取18,因此嵌入維數(shù)m 可以取為5。
隨機(jī)森林算法的調(diào)節(jié)參數(shù)主要有決策樹數(shù)目ntree和決策樹每次節(jié)點分割時隨機(jī)選取的特征數(shù)量mtry。ntree一般不少于100,要獲得模型最佳性能需要進(jìn)行調(diào)試獲取最優(yōu)ntree。查找最佳分割點時,選取的特征數(shù)量對模型有一定的影響。根據(jù)文獻(xiàn)[21],原始數(shù)據(jù)特征數(shù)目為M,回歸計算時建議取值為sqrt(M)。以O(shè)OB 誤差最小為訓(xùn)練目標(biāo),通過計算得到最優(yōu)的ntree。
其他參數(shù)設(shè)為默認(rèn)值,僅ntree變化時,OOB誤差與決策樹數(shù)目的關(guān)系如圖1 所示??煽闯觯琌OB 誤差隨著樹的增多逐漸減少,并趨于穩(wěn)定,在一個小區(qū)間范圍內(nèi)波動。經(jīng)計算,ntree取340 時OOB 誤差達(dá)到最小。ntree選定340,其他參數(shù)設(shè)為默認(rèn)值,僅mtry變化時,在測試集樣本的預(yù)測得分與特征參數(shù)量的關(guān)系如圖2所示??煽闯?,mtry取2時模型預(yù)測性能最好。
圖1 決策樹數(shù)目與袋外數(shù)據(jù)誤差的關(guān)系Fig.1 Relationship between ntree and OOB error
圖2 測試集樣本預(yù)測得分與特征數(shù)量的關(guān)系Fig.2 Relationship between mtry and prediction score
運用隨機(jī)森林算法進(jìn)行回歸計算時對模型預(yù)測精度的評估,本文考慮均方誤差(MSE)、平均絕對誤差(MAE)以及預(yù)測性能得分(Tscore)。MSE 和MAE越小,Tscore越大,說明模型精度越高,預(yù)測效果越好。各評價指標(biāo)計算公式如下:
式中:Ttest為測試集,yi為真實值,為預(yù)測值,為真實值的均值。
運用上述討論得到的隨機(jī)森林算法預(yù)測模型,對發(fā)動機(jī)振動時間序列進(jìn)行預(yù)測。將數(shù)據(jù)樣本的90%用作訓(xùn)練樣本,剩余的10%作為測試樣本。預(yù)測結(jié)果見圖3,測試集預(yù)測結(jié)果見表1,訓(xùn)練樣本和測試樣本的三個模型性能評估指標(biāo)得分見表2。由預(yù)測結(jié)果可知,隨機(jī)森林算法預(yù)測精度較高,泛化能力較強(qiáng),很好地預(yù)測了發(fā)動機(jī)振動的變化趨勢。
圖3 隨機(jī)森林算法模型預(yù)測結(jié)果與真實值的對比Fig.3 Comparison between actual and predicted value by random forest algorithm model
為對比分析隨機(jī)森林算法模型性能,用相同數(shù)據(jù)樣本建立支持向量機(jī)(SVM)預(yù)測模型。支持向量機(jī)模型核函數(shù)采用高斯函數(shù),通過網(wǎng)格搜索尋優(yōu)的方法獲得模型最優(yōu)的懲罰系數(shù)C、核參數(shù)γ、回歸參數(shù)ε,支持向量機(jī)模型與隨機(jī)森林算法模型預(yù)測結(jié)果的對比分別見表3和圖4。從預(yù)測結(jié)果可知,兩種模型均取得了滿意的預(yù)測結(jié)果,在測試集上隨機(jī)森林算法模型預(yù)測得分0.997,而支持向量機(jī)模型得分為0.987,說明隨機(jī)森林算法的預(yù)測精度更高,泛化能力更強(qiáng)。另外,在訓(xùn)練時間上,支持向量機(jī)參數(shù)尋優(yōu)步驟導(dǎo)致模型訓(xùn)練花費時間較長,整個參數(shù)優(yōu)化過程時間比隨機(jī)森林算法的多幾倍。綜合對比在模型設(shè)計及參數(shù)調(diào)試中的體驗,隨機(jī)森林算法模型綜合能力更優(yōu)異,操作更簡單,更適合解決實際發(fā)動機(jī)振動預(yù)測問題。
表1 測試集上預(yù)測值與真實值的對比Table 1 Comparison between actual value and prediction value during test data
表2 隨機(jī)森林算法模型評估指標(biāo)分析Table 2 Analysis of evaluation index of random forest algorithm model
表3 兩種模型預(yù)測結(jié)果對比Table 3 Comparison of the prediction results of two models
圖4 兩種模型預(yù)測結(jié)果Fig.4 Prediction results of two models
針對航空發(fā)動機(jī)振動趨勢預(yù)測,構(gòu)建了基于隨機(jī)森林算法的振動預(yù)測模型,并應(yīng)用發(fā)動機(jī)振動試數(shù)據(jù)驗證了模型的適用性。結(jié)果表明,隨機(jī)森林算法模型精度高、泛化能力強(qiáng),能有效預(yù)測發(fā)動機(jī)振動趨勢。此外,隨機(jī)森林算法模型不需要進(jìn)行數(shù)據(jù)歸一化預(yù)處理,以及交叉驗證等步驟,具有操作簡單、調(diào)參容易、訓(xùn)練時間短等特點,尤其適用于大樣本的發(fā)動機(jī)趨勢預(yù)測分析。