胡慧,宋傳洲,2,高宇,王敏,趙小鋒,萬仁委
(1.海軍航空大學(xué),煙臺 264000;2.煙臺警備區(qū),煙臺 264000;3.深圳信息職業(yè)技術(shù)學(xué)院保衛(wèi)處,深圳 518000)
航材消耗預(yù)測研究是航材研究的重要內(nèi)容之一,為后續(xù)的航材管理、訂購、運輸、維修保障,乃至新產(chǎn)品研發(fā)提供重要參考[1]。航材預(yù)測往往是在對航材進行分類或品種確定后,根據(jù)具體情況以類別或不同品種選擇不同的算法構(gòu)建預(yù)測模型,在以往的航材消耗預(yù)測研究中預(yù)測模型的成果比較豐富,可簡單分為按照時間序列、依靠數(shù)據(jù)統(tǒng)計規(guī)律、機器學(xué)習算法等三類[2]的思路構(gòu)建模型。
按照時間序列的研究方法有指數(shù)平滑預(yù)測模型[3]、ARMA預(yù)測模型[4]、移動平均預(yù)測模型、粗糙集理論[5]、Croston預(yù)測模型[6]、灰色系統(tǒng)預(yù)測模型[7]、Bootstrap法[8]等以及他們的改進算法。如果能夠統(tǒng)計獲得比較真實的故障數(shù)據(jù)或航材消耗數(shù)據(jù),可運用統(tǒng)計學(xué)方法在研究航材的故障率、可靠性和壽命曲線規(guī)律的同時,對其進行需求預(yù)測。機器學(xué)習算法具有智能、靈活且運算效率高的特點,在解決時間序列和數(shù)理統(tǒng)計兩類算法不足上有許多優(yōu)勢,常用的機器學(xué)習算法主要有SVM[9]、神經(jīng)網(wǎng)絡(luò)[10]、隨機森林[11]、GBDT等及其改進算法。
此外,這些算法都可以組合起來進行預(yù)測,比如,王寧等[12]采用ARIMA-BP-CNN-LSTM組合方法進行預(yù)測,將ARIMA線性和BP的非線性擬合相結(jié)合,對備件的預(yù)測較好。李文強[13]等在對無人機的航材備件進行需求預(yù)測時,主要采用偏最小二乘回歸,結(jié)合了PCA、相關(guān)性分析、多元線性回歸等方法提取多種因素特征進行預(yù)測,結(jié)果準確率較高。值得強調(diào)的是,在解決不同消耗類型的航材時,每種方法有其適合的范圍,比如Ghobbar等[14]曾采用單指數(shù)平滑、Croston 、ARMA等及其改進算法共13 種方法對不同消耗類型的航材進行了研究,得出 Croston 方法對間歇型數(shù)據(jù)特征的航材預(yù)測效果突出。李佩琦[11]將隨機森林和GBDT算法組合使用,研究多因素影響下的機電設(shè)備備件的消耗預(yù)測也獲得非常好的效果。考慮影響航材消耗的多因素、準確率、模型運算效率等問題,本文采用機器學(xué)習隨機森林算法就航材月消耗的時間序列進行建模,先提取包含飛機起落架次、飛行時間、人員因素、平均溫度、平均濕度等6個影響因素特征,建立多種因素影響的月消耗航材預(yù)測模型,將結(jié)果與實際值和GBDT、SVM等算法模型相比較,較好的預(yù)測消耗充分說明該隨機森林模型的科學(xué)性和高效性,并為下一步的航材精準化保障決策提供參考。
隨機森林[15](Random Forest RF),是以Bagging為邏輯基礎(chǔ)的Tree族集成算法,其決策樹間只存在弱依賴甚至無關(guān)聯(lián),權(quán)值相同,可同時生成并行化。這不同于以Boosting為基礎(chǔ)的樹族算法,單棵Tree間存有強依賴,每棵樹權(quán)重不同,必須串行生成序列,每個權(quán)值的獲得來自上一輪迭代的結(jié)論,比如GBDT算法。RF模型訓(xùn)練過程如圖1所示,對決策樹并行擬合且引入隨機特征選擇,最后進行投票,得到結(jié)果。Tree族算法的分類基礎(chǔ)的一部分就是特征集合,特征的優(yōu)劣很大程度上影響模型分類或預(yù)測的效果,因此特征選擇意義重大。本文主要使用RF算法分別對品種確定和消耗預(yù)測的特征進行重要性度量和最后模型間仿真效果的比對。RF基本原理如下:
圖1 隨機森林原理示意圖
Step1:Bootstrap法抽樣。設(shè)數(shù)據(jù)集di= {xi1,xi2,… ,xim},i∈ [ 1 ,N],m∈ [1 ,M],xi表示有N個樣本數(shù)據(jù),m表示每個樣本的特征數(shù),對N實施抽取n個(n≤N)有放回抽樣K次,共抽取K組樣本集合。
Step2:隨機生成樹。K組集合將隨機生成K棵對應(yīng)的決策樹,同時生成K個袋外數(shù)據(jù)(每次未被抽到的樣本組成袋外數(shù)據(jù))。
Step3:選出最優(yōu)分裂特征。訓(xùn)練模型時,每棵決策樹每個節(jié)點進行分裂,從所有輸入的M個特征中隨機抽出m個特征,從m個特征中選出最優(yōu)特征作為分裂特征,保持m恒定并以分類器hj(x)記錄每一棵完整生長的樹,形成森林,其公式表達為H(x) = {h1(M),h2(M) ,… ,hj(M) ,yi=Y},j∈ [1 ,K],其中Y為輸出變量,也叫判別標簽,設(shè)yi=c顯然c≥2,j表示第j個分類器;。一般使用CART算法基尼指數(shù)來作為確定最優(yōu)特征的標度,Pi表示為第i個類別樣本占所有樣本的比例,以特征A將樣本N分成L各部分,其公式為:
Step4:做出決策。訓(xùn)練T次,使組合模型公式:
其中,φ(x)是示性函數(shù)。當輸入新的樣本,利用森林H(x)中每一棵Tree(每一個分類器hj(x))進行判斷,最終以φ(x)做出決策。
隨機森林可以用袋外數(shù)據(jù)(OOB)或基尼指數(shù)錯誤率兩種指標評價衡量特征的重要性。本文區(qū)別于Boosting的特征重要性評價方法,使用隨機森林的OOB錯誤率來衡量。其具體原理為:
Step1:計算K組每棵Tree的OOB錯誤率,記作ρ0:Error01 ,Error02,Error03 …Error0k;
Step2:對K組OOB第i組特征進行重排列(其它特征保持不變),再次計算每棵Tree的誤差值,記作ρi:Errori1,Errori2 ,Errori3 …Errorik;
Step3:各特征重要性公式:
Step4:對特征重要性進行排序。
1)分析影響航材消耗的因素,提取特征,建立特征指標體系。
2)統(tǒng)計收集處理與航材消耗相關(guān)的歷史數(shù)據(jù),對特征賦值取值,對特征進行重要性排序。
3)劃分樣本集,標記訓(xùn)練集和測試集,創(chuàng)建基于RF算法消耗數(shù)量預(yù)測模型。
4)將預(yù)測結(jié)果對比實際消耗值,并且比析GBDT、SVM等模型的預(yù)測結(jié)果。
現(xiàn)有n種航材,分別記作N{N1,N2,N3…Nn},從這些航材中選出某航材,記作N,作為本文研究對象,選取對其月度消耗量有影響的6種特征[16]指標,其特征值記作K{K1,K2,K3,K4,K5,K6},預(yù)測值記作X。其特征簡要說明如表1所示,其部分數(shù)據(jù)取月度單機消耗量,取值列表如表2所示。
對提取的影響航材月消耗的6個特征進行重要性量化列表,如表3所示。
1)根據(jù)重要性取值的排序可知月飛行時間是最重要的特征,該特征可直接反映飛機的工作量,進而在一定程度上反映部分航材的使用時間。
圖2 RF消耗預(yù)測模型構(gòu)建流程
表1 影響特征
表2 部分數(shù)據(jù)列表
表3 特征重要性排序
圖3 模型預(yù)測結(jié)果對比圖
2)溫度和濕度這兩個特征分別排在第二、三位,說明該特征對所選航材的消耗有很大影響。這與溫度過高將減少部分元器件使用壽命有關(guān)。
3)特殊任務(wù)占比這一特征排名靠后,是因為特殊任務(wù)每月執(zhí)行的次數(shù)和種類相對一致,取值相對穩(wěn)定,故對消耗數(shù)量影響較少。
將數(shù)據(jù)和特征量輸入模型,調(diào)試運行后得到隨機森林、GBDT、Adaboost、SVM模型預(yù)測結(jié)果和實際值對比,如圖3所示,分別使用MSE、SSE、RMSE、MAE評價取值來對預(yù)測值進行計算得到表4結(jié)果。
由圖3和表4可知,使用隨機森林模型進行數(shù)量預(yù)測的結(jié)果相比其他預(yù)測模型誤差較低、效果最好。
本文充分考慮影響航材消耗的主要因素,提取特征后,對特征進行重要性排序并分析,采用隨機森林算法研究航材消耗數(shù)量和影響因素之間的非線性關(guān)系,實例驗證表明在考慮多因素影響航材消耗預(yù)測時,隨機森林算法有其科學(xué)性和高效性。盡管如此,本文提取的影響特征數(shù)量仍不夠全面,預(yù)測數(shù)據(jù)量還不夠多,若在之后的研究中可提取更多的特征同更多的數(shù)據(jù)進行訓(xùn)練,機器學(xué)習模型將更加準確。
表4 消耗預(yù)測不同算法預(yù)測結(jié)果評價