谷雨軒,徐常凱,倪 彬
(空軍勤務(wù)學(xué)院航材四站系,江蘇 徐州 221000)
航材的消耗預(yù)測(cè)是航材保障工作中非常重要的一個(gè)部分,尋求經(jīng)濟(jì)性和效益性的平衡是航材保障的根本目標(biāo)。目前航材消耗預(yù)測(cè)通常依靠業(yè)務(wù)人員的經(jīng)驗(yàn)積累,但是由于經(jīng)驗(yàn)積累周期長(zhǎng),崗位流動(dòng)性大、任務(wù)復(fù)雜多變,航材消耗往往難以準(zhǔn)確預(yù)測(cè)。美軍在進(jìn)行備件預(yù)測(cè)時(shí)使用備件需求均值和方差均值比預(yù)測(cè)方法,形成了一系列經(jīng)驗(yàn)預(yù)測(cè)模型,并運(yùn)用自動(dòng)控制、人工智能等設(shè)備一定程度上解決了航材備件不能及時(shí)供應(yīng)的問(wèn)題。國(guó)內(nèi)許多航空公司也已經(jīng)越來(lái)越重視航材備件的科學(xué)預(yù)測(cè),由于航材數(shù)據(jù)的特殊性和復(fù)雜性,難以找到行之有效的預(yù)測(cè)模型。準(zhǔn)確的預(yù)測(cè)既可以滿足飛行保障任務(wù)又可以有效解決庫(kù)存積壓的問(wèn)題,同時(shí)減輕業(yè)務(wù)人員的精力消耗。因此,航材消耗預(yù)測(cè)模型研究具有實(shí)際意義。
由于航材消耗數(shù)據(jù)的特殊性,預(yù)測(cè)通?;跉v史消耗數(shù)據(jù)開展,傳統(tǒng)的航材消耗預(yù)測(cè)方法有ARMA 預(yù)測(cè)法、指數(shù)平滑法和灰色模型預(yù)測(cè)法及其改進(jìn)方法,但是影響航材消耗預(yù)測(cè)準(zhǔn)確性的因素眾多,傳統(tǒng)建模難以達(dá)到理想效果。隨著機(jī)器學(xué)習(xí)研究的不斷深入,國(guó)內(nèi)外航材消耗預(yù)測(cè)方法也不斷發(fā)展,神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林和支持向量機(jī)等方法也逐步應(yīng)用。文獻(xiàn)[1]采用人工免疫算法在參數(shù)選擇上對(duì)支持向量機(jī)進(jìn)行優(yōu)化,提高了航材消耗預(yù)測(cè)模型精度和適用性,然而只針對(duì)消耗數(shù)據(jù)進(jìn)行分析沒(méi)有考慮其他因素的影響。文獻(xiàn)[2]在特征選擇的基礎(chǔ)上用隨機(jī)森林算法進(jìn)行航材消耗預(yù)測(cè),具有一定的實(shí)用性,在特征數(shù)量、預(yù)測(cè)數(shù)據(jù)量上還有優(yōu)化空間。文獻(xiàn)[3]針對(duì)新機(jī)歷史消耗數(shù)據(jù)少的問(wèn)題,在采用B樣條模擬仿真的基礎(chǔ)上建立BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型。本文提出一種全過(guò)程優(yōu)化的支持向量機(jī)航材消耗預(yù)測(cè)模型,主要解決以下問(wèn)題:航材消耗影響因素的篩選還存在采用主觀性較強(qiáng)的選擇方法的情況;對(duì)于航材消耗預(yù)測(cè)的輸入特征集的優(yōu)化方法還存在一定的局限性;由于不同類型航材的消耗預(yù)測(cè)模型有差異,在選取SVM 核函數(shù)的過(guò)程中缺少論證過(guò)程。
全過(guò)程優(yōu)化的思想即對(duì)于支持向量機(jī)模型從影響因素選擇、輸入數(shù)據(jù)集分類優(yōu)化、核函數(shù)選擇與優(yōu)化、參數(shù)組合優(yōu)化等方面進(jìn)行調(diào)控和優(yōu)化,達(dá)到提高精確度和實(shí)際需要的目的。
在數(shù)據(jù)處理階段對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,再用LASSO 回歸對(duì)主要影響變量進(jìn)行篩選,達(dá)到精簡(jiǎn)樣本集的目的,然后通過(guò)K-means 聚類算法對(duì)樣本數(shù)據(jù)進(jìn)行分類優(yōu)化,將原始樣本分成相關(guān)性較強(qiáng)的幾部分。模型建立階段,對(duì)不同類的數(shù)據(jù)分別進(jìn)行SVM 預(yù)測(cè),通過(guò)核函數(shù)的選擇和參數(shù)優(yōu)化建立預(yù)測(cè)模型。具體流程如圖1 所示。
圖1 考慮全過(guò)程優(yōu)化的具體流程
影響因素選擇方面,LASSO 算法在變量選取方面的效果優(yōu)于逐步回歸、嶺回歸等,能較好地克服傳統(tǒng)方法在模型選取上的不足,在處理影響因素較多的航材消耗數(shù)據(jù)時(shí)效果較好。
數(shù)據(jù)集分類優(yōu)化方面,K-means 聚類算法具有過(guò)程簡(jiǎn)單、運(yùn)算速度快的特點(diǎn),針對(duì)樣本航材消耗數(shù)據(jù)本身的相似性進(jìn)行分類。
模型選擇方面,支持向量機(jī)的優(yōu)勢(shì)主要體現(xiàn)在解決它通過(guò)引入核函數(shù),很好地解決了非線性的航材消耗數(shù)據(jù)處理問(wèn)題。
航材消耗的影響因素復(fù)雜繁多。主要考慮的影響因素有航材固有因素:不同器材的故障率,航材修復(fù)率,平均修理周期等也不同,因此,消耗規(guī)律也有很大差異;
航材類別因素:按是否可修將航材分為可修件和消耗件,不同種類器材的價(jià)格和性質(zhì)不同;
歷史消耗因素:歷史數(shù)據(jù)是進(jìn)行航材預(yù)測(cè)實(shí)際業(yè)務(wù)的重要參考依據(jù)之一;
任務(wù)因素:不同任務(wù)下對(duì)器材的消耗有差異。如在執(zhí)行輪戰(zhàn)、演習(xí)、轉(zhuǎn)場(chǎng)駐訓(xùn)時(shí)對(duì)器材的需求不同,保障對(duì)象飛機(jī)的機(jī)型和架數(shù)情況以及飛行起落架次、飛行小時(shí)不同導(dǎo)致總體任務(wù)量不同;
環(huán)境因素:機(jī)場(chǎng)所處的海拔和鹽度濕度也是影響航材消耗的重要因素。
現(xiàn)從航材業(yè)務(wù)實(shí)際角度考慮,確定X1~X15 共15 項(xiàng)因素,各項(xiàng)因素名稱、編號(hào)和因素類別如表1所示。
表1 影響因素指標(biāo)編號(hào)及類別
數(shù)值型因素可以通過(guò)數(shù)據(jù)收集和計(jì)算獲取對(duì)應(yīng)指標(biāo)值,屬性類因素則需要量化賦值。
對(duì)于航材類別因素X5~X7 賦值定義,若器材符合對(duì)應(yīng)類別則定義為1,不符合則定義為0。
任務(wù)因素中的X14 保障對(duì)象根據(jù)本場(chǎng)站保障機(jī)型和在飛架數(shù)確定,根據(jù)保障對(duì)象的難易程度定義:無(wú)保障經(jīng)驗(yàn)架數(shù)多為4;無(wú)保障經(jīng)驗(yàn)架數(shù)適中為3;保障熟練架數(shù)多為2;保障熟練架數(shù)適中為1。
環(huán)境因素中的X15 機(jī)場(chǎng)環(huán)境根據(jù)場(chǎng)站所處的地理位置和機(jī)場(chǎng)場(chǎng)地條件定義為優(yōu)良-3、堪用-1、較差-2。
通過(guò)對(duì)收集的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化預(yù)處理,消除特征變量之間因?yàn)榱烤V和數(shù)值大小的差異而引起的影響,解決樣本特征貢獻(xiàn)不同的問(wèn)題,對(duì)于數(shù)值型指標(biāo)X1~X4、X8~X13,為了保留原始數(shù)據(jù)之間的關(guān)系采用極差標(biāo)準(zhǔn)化方法,其過(guò)程為:
對(duì)于指標(biāo)取值更加規(guī)則的屬性類指標(biāo)X5~X7、X14、X15,為了增強(qiáng)其穩(wěn)定性采用線性比例變換法,其過(guò)程為:
現(xiàn)有多個(gè)保障單位的50 組不同屬性條件下收集到的指標(biāo)數(shù)據(jù),及在此條件下選取的多項(xiàng)航材年度消耗情況y,經(jīng)標(biāo)準(zhǔn)化處理后得到的數(shù)據(jù)如表2~表3 所示。
表2 指標(biāo)數(shù)據(jù)
表3 對(duì)應(yīng)航材年度消耗情況
15 種影響因素同時(shí)應(yīng)用于支持向量機(jī)航材消耗預(yù)測(cè)模型易產(chǎn)生偏差,甚至與實(shí)際情況不符,要有針對(duì)性地篩選影響其消耗的主要因素來(lái)提高預(yù)測(cè)的準(zhǔn)確性。
LASSO 方法是以縮小變量集(降階)為思想的壓縮估計(jì)方法。它通過(guò)構(gòu)造一個(gè)懲罰函數(shù),可以將變量的系數(shù)進(jìn)行壓縮并使某些回歸系數(shù)變?yōu)?,進(jìn)而達(dá)到變量選擇的目的。把標(biāo)準(zhǔn)化后的樣本集作為對(duì)象建立LASSO 模型,通過(guò)懲罰函數(shù)對(duì)變量的影響因素進(jìn)行篩選,篩選過(guò)程如圖2 所示。
圖2 LASSO 算法變量系數(shù)壓縮過(guò)程
圖2 表示在懲罰函數(shù)的作用下,15 個(gè)變量的系數(shù)壓縮過(guò)程,可以看到不同因素系數(shù)收斂至0 的先后順序不同。先壓縮至0 的因素變量如機(jī)場(chǎng)環(huán)境X15,表示其重要程度相對(duì)較低,對(duì)器材消耗的影響程度較??;后壓縮至0 的因素變量如年度飛行(發(fā)動(dòng)機(jī)工作)小時(shí)X11、是否有壽件X7,表示其對(duì)器材消耗量影響較大。經(jīng)適當(dāng)壓縮后留下的影響因素系數(shù)如表4 所示。
表4 篩選后的影響因素和系數(shù)
通過(guò)LASSO 進(jìn)行影響因素篩選,由表3 可以看出,剩下5 個(gè)主要因素,分別是修復(fù)率、是否有壽件、近3 年平均消耗、年度飛行(發(fā)動(dòng)機(jī)工作)小時(shí)、年度特殊任務(wù)次數(shù)。
由此可見,提高器材的修復(fù)率可以一定程度上減少器材的消耗,發(fā)揮工廠的修復(fù)能力也是航材保障業(yè)務(wù)中重要的一環(huán);航材有壽件的具有一定的消耗規(guī)律,是航材消耗預(yù)測(cè)的重要研究對(duì)象;任務(wù)因素是影響航材消耗的主要因素,轉(zhuǎn)場(chǎng)、駐訓(xùn)、演戲等特殊任務(wù)在進(jìn)行航材消耗預(yù)測(cè)時(shí)也應(yīng)考慮在內(nèi);相同條件下環(huán)境因素對(duì)航材的消耗與其他因素相比影響較小。篩選出的5 項(xiàng)影響因素基本符合航材保障實(shí)際的情況。在原始樣本基礎(chǔ)上保留篩選出的影響因素建立新的樣本集作為下一步的研究對(duì)象。
將輸入的航材消耗數(shù)據(jù)集進(jìn)行分類,分為幾個(gè)相關(guān)性較強(qiáng)的子集分別建模,有利于解決單一模型精度低的問(wèn)題。K-Means 聚類算法是一種迭代聚類過(guò)程的分析算法,算法步驟如下:
1)首先確定一個(gè)k 值(隨機(jī)),即希望數(shù)據(jù)經(jīng)過(guò)聚類得到k 個(gè)不同的集合;
2)從給定的數(shù)據(jù)集中隨機(jī)選擇K 個(gè)數(shù)據(jù)點(diǎn)作為質(zhì)心;
3)對(duì)數(shù)據(jù)集中的每個(gè)點(diǎn)計(jì)算其與每一個(gè)質(zhì)心的距離;數(shù)據(jù)點(diǎn)離哪個(gè)質(zhì)心近,就劃分到那個(gè)質(zhì)心所屬的集合;K-means 常用的距離為歐氏距離
4)第1 輪將所有的數(shù)據(jù)歸號(hào)集合后,一共有K個(gè)集合,然后重新計(jì)算每個(gè)集合的質(zhì)心;
5)如果新計(jì)算出來(lái)的質(zhì)心和原來(lái)的質(zhì)心之間的距離小于某一個(gè)設(shè)置的閾值,則表示重新計(jì)算的質(zhì)心的位置變化不大,數(shù)據(jù)整體趨于穩(wěn)定,或者說(shuō)數(shù)據(jù)已經(jīng)收斂。在這樣的情況下,認(rèn)為聚類效果已經(jīng)達(dá)到了期望的結(jié)果,算法可終止;
6)反之,如果新質(zhì)心和原來(lái)質(zhì)心的距離變化很大,需要重復(fù)進(jìn)行步驟3)~步驟5),直至位置變化不大,達(dá)到收斂狀態(tài)。
為了便于下一步SVM 模型建立,樣本分類不宜過(guò)多。根據(jù)航材消耗數(shù)量的高、中、低,將類別設(shè)置為3 類,中心點(diǎn)收斂迭代次數(shù)設(shè)為24,得到的分類情況如圖3 所示。同種顏色的樣本表示這些條件下的影響因素指標(biāo)數(shù)據(jù)和器材消耗數(shù)據(jù)具有較好的相關(guān)性,根據(jù)聚類結(jié)果可以看出類別1 的22 組數(shù)據(jù)年度消耗數(shù)量y 值較大,類別3 的16 組數(shù)據(jù)消耗較少,類別2 的12 組數(shù)據(jù)消耗介于前兩種之間。
圖3 K-means 聚類結(jié)果
具體各類別樣本數(shù)目如表5 所示。
表5 各類別對(duì)應(yīng)的樣本數(shù)
按照K-means 聚類得到的樣本類別將原始的樣本集分為3 個(gè)子樣本集,分別進(jìn)行SVM 建模。
按照類別將精簡(jiǎn)后的樣本集進(jìn)行分類,以每一類數(shù)據(jù)集當(dāng)作樣本集進(jìn)行SVM 建模,將樣本集分為訓(xùn)練集和測(cè)試集驗(yàn)證模型。
以第1 類樣本為例,將樣本70%分為訓(xùn)練集,剩下30%分為測(cè)試集,進(jìn)行建模分析;用訓(xùn)練集建立的模型預(yù)測(cè)測(cè)試集指標(biāo)條件下的消耗情況,并同測(cè)試集中的真實(shí)消耗情況進(jìn)行比較計(jì)算模型誤差。
3.3.1 核函數(shù)的選擇
要構(gòu)造出一個(gè)具有良好性能的SVM,核函數(shù)的選擇是關(guān)鍵也是最重要的一步。在選取核函數(shù)解決實(shí)際問(wèn)題時(shí),通常采用的方法有:1)利用專家的先驗(yàn)知識(shí)預(yù)先選定核函數(shù);2)采用Cross-Validation方法,即在進(jìn)行核函數(shù)選取時(shí),分別試用不同的核函數(shù),歸納誤差最小的核函數(shù)就是最好的核函數(shù)。SVM 常用的核函數(shù)主要有線性核函數(shù)(linear kernel)、多項(xiàng)式核函數(shù)(polynomial kernel)、徑向基核函數(shù)(radial basis function,RBF)和Sigmoid 核函數(shù)。
本文通過(guò)比較幾種核函數(shù)預(yù)測(cè)值與真實(shí)值之間的選用平均絕對(duì)百分比誤差(eMAPE)來(lái)確定核函數(shù)的類別。
其中,z為真實(shí)消耗數(shù)據(jù);y'為模型預(yù)測(cè)值。本文分別選取Linear、Sigmoid、Radial 核函數(shù)進(jìn)行預(yù)測(cè),為了比較3 種核函數(shù)的準(zhǔn)確性,本文選用在默認(rèn)參數(shù)的情況下的平均絕對(duì)百分比誤差作為選擇指標(biāo)。經(jīng)計(jì)算,得到的指標(biāo)值如表6 所示,Radial 核函數(shù)的兩項(xiàng)誤差較小,由此可見,對(duì)該航材消耗數(shù)據(jù)而言,Radial 核函數(shù)在預(yù)測(cè)時(shí)表現(xiàn)較好。因此,選取Radial核函數(shù)作為模型的核函數(shù)。
表6 3 種核函數(shù)對(duì)應(yīng)誤差
3.3.2 核函數(shù)參數(shù)優(yōu)化
采用交叉驗(yàn)證的方法,針對(duì)不同核函數(shù)的參數(shù)項(xiàng),人工建立參數(shù)集,通過(guò)循環(huán)交叉驗(yàn)證比較每一組參數(shù)對(duì)應(yīng)的模型誤差,選擇誤差最小的一組參數(shù)作為模型參數(shù)。循環(huán)交叉驗(yàn)證的流程如圖4 所示。
圖4 循環(huán)交叉驗(yàn)證參數(shù)優(yōu)化流程
Radial 核函數(shù)的兩個(gè)主要參數(shù)為cost、gamma,在建立數(shù)學(xué)模型的過(guò)程中可以對(duì)其調(diào)整來(lái)改變模型精度,本文通過(guò)人工建立參數(shù)集進(jìn)行循環(huán)交叉驗(yàn)證來(lái)選取最優(yōu)參數(shù)。
cost 建立從0.1 到5,步長(zhǎng)為0.1 的參數(shù)集;gamma 建立從1 到10,步長(zhǎng)為1 的參數(shù)集,構(gòu)造循環(huán)交叉驗(yàn)證,最終得到最優(yōu)參數(shù)cost=1.5,gamma=1。在此參數(shù)條件下,對(duì)模型的誤差進(jìn)行計(jì)算,即均方根誤差(RMSE)。
模型結(jié)果與真實(shí)值之間的散點(diǎn)圖如圖5 所示。橫坐標(biāo)表示預(yù)測(cè)消耗值,縱坐標(biāo)表示真實(shí)消耗值,由此可見除邊緣數(shù)據(jù)以外,大部分?jǐn)?shù)據(jù)擬合效果良好。以此計(jì)算第1 類樣本的均方根誤差。
圖5 預(yù)測(cè)值和真實(shí)值的散點(diǎn)圖
同理,采用同樣的方法對(duì)第2、3 類子樣本集建模,同樣計(jì)算出對(duì)應(yīng)的子模型誤差,根據(jù)樣本數(shù)目進(jìn)行加權(quán)平均即最終的模型均方根誤差(RMSE)。
表7 3 類樣本核函數(shù)選擇和參數(shù)優(yōu)化的結(jié)果
3.3.3 模型精度對(duì)比
目前,常用的航材消耗預(yù)測(cè)方法有支持向量機(jī)和神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)。為了驗(yàn)證本文方法的有效性,將原始樣本集分別輸入傳統(tǒng)SVM 模型、神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型對(duì)消耗數(shù)據(jù)進(jìn)行預(yù)測(cè)。同樣采用均方根誤差RMSE 作為比較指標(biāo),預(yù)測(cè)誤差如表8 所示。
表8 幾種預(yù)測(cè)方法比較
可見,本文方法在傳統(tǒng)SVM 模型基礎(chǔ)上,通過(guò)提高樣本相關(guān)性在航材消耗預(yù)測(cè)中的作用,提高了航材消耗預(yù)測(cè)結(jié)果的準(zhǔn)確率,具有較好的模型精確性。全過(guò)程優(yōu)化的支持向量機(jī)航材消耗預(yù)測(cè)模型相較于傳統(tǒng)支持向量機(jī)預(yù)測(cè)模型精度提高了44.97%,相較于神經(jīng)網(wǎng)絡(luò)模型精度提高了19.88%。
全過(guò)程優(yōu)化支持向量機(jī)模型的優(yōu)勢(shì)在于影響因素篩選方法的優(yōu)化和在對(duì)樣本數(shù)據(jù)進(jìn)行分類的基礎(chǔ)上建模的思想。模型對(duì)于航材消耗預(yù)測(cè)具有一定普適性,同時(shí)在之后的數(shù)據(jù)收集過(guò)程中只需要對(duì)篩選出的主要因素指標(biāo)進(jìn)行數(shù)據(jù)收集和處理即可,一定程度上減少了預(yù)測(cè)工作量,為業(yè)務(wù)人員提供了一種可靠的預(yù)測(cè)方法。
在數(shù)據(jù)準(zhǔn)備過(guò)程中應(yīng)側(cè)重考慮任務(wù)因素、航材固有因素和航材的類別屬性。在實(shí)例運(yùn)算中,全過(guò)程優(yōu)化的支持向量機(jī)航材預(yù)測(cè)模型通過(guò)因素篩選縮小消耗影響因素的范圍,將數(shù)據(jù)聚類再建模,既減少數(shù)據(jù)準(zhǔn)備階段的工作量又具有良好的精度,為輔助航材保障業(yè)務(wù)決策提供了有效的參考依據(jù),有利于提高保障效率。