(空軍勤務(wù)學(xué)院基礎(chǔ)部 徐州 221000)
航材供應(yīng)是提高戰(zhàn)斗力出動(dòng)率的基礎(chǔ),隨著我軍裝備建設(shè)的穩(wěn)步發(fā)展,航空兵部隊(duì)陸續(xù)列裝了多種型號(hào)的新機(jī)[1]。由于新機(jī)列裝時(shí)間不長(zhǎng),沒有航材消耗統(tǒng)計(jì)資料,難以準(zhǔn)確把握備件的消耗規(guī)律,從而影響了備件需求預(yù)測(cè)和計(jì)劃訂貨的準(zhǔn)確性[2]。
航材需求預(yù)測(cè)方法主要有指數(shù)平滑法、回歸分析法、神經(jīng)網(wǎng)絡(luò)法和時(shí)間序列法等[3],它們都是基于大量的歷史數(shù)據(jù)建立數(shù)學(xué)模型,從而實(shí)現(xiàn)航材備件需求的預(yù)測(cè)。另外由于影響航材消耗的因素比較多,航材消耗與影響因素之間的非線性關(guān)系大大增加了航材消耗預(yù)測(cè)的難度,降低了預(yù)測(cè)精度。鑒于BP神經(jīng)網(wǎng)絡(luò)良好的的非線性動(dòng)態(tài)特性及自學(xué)習(xí)性能等,與此同時(shí)需要大樣本數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí),預(yù)測(cè)結(jié)果才具有較高的精度[4]。本文利用B樣條最小二乘擬合技術(shù)對(duì)航材消耗小樣本進(jìn)行處理,使其擴(kuò)充至符合BP神經(jīng)網(wǎng)絡(luò)法要求的樣本容量,對(duì)拓展航材消耗備件預(yù)測(cè)具有較強(qiáng)的借鑒意義。最后,選取某型新機(jī)備件消耗數(shù)據(jù)進(jìn)行分析,驗(yàn)證這一模型的合理性和實(shí)用性。
誤差反向傳播網(wǎng)絡(luò)(Back Propagation)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),適用于非線性特征對(duì)象的分析與預(yù)測(cè),具有較強(qiáng)的自學(xué)習(xí)能力,應(yīng)用廣泛。
影響航材消耗的因素有很多,主要包括航材自身性能、保障任務(wù)和環(huán)境條件三類[5]。筆者根據(jù)航材供應(yīng)工作實(shí)際,確定影響航材消耗數(shù)量的因素:飛機(jī)的起落次數(shù)、飛行小時(shí)數(shù)以器材故障率及所在的溫度、濕度、氣壓變化、風(fēng)沙等情況[6]。
根據(jù)樣本的數(shù)目可確定輸入層的神經(jīng)元個(gè)數(shù)為q=7,輸出層神經(jīng)元個(gè)數(shù)為m=1。根據(jù)Kolmogrov定理,隱含層的神經(jīng)元數(shù)目2n+1,輸出層神經(jīng)元個(gè)數(shù)為15,得到如圖1所示的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
其中神經(jīng)網(wǎng)絡(luò)輸入層與隱含層之間的傳遞函數(shù)是S型的正切函數(shù),輸出層傳遞函數(shù)使用純線性函數(shù),并設(shè)定訓(xùn)練函數(shù),訓(xùn)練誤差目標(biāo)為0.01。
目標(biāo)函數(shù)是使待估參數(shù)的取值在訓(xùn)練樣本點(diǎn)上輸出變量的誤差平方和最?。?/p>
其中,xit是第i個(gè)樣本在第t個(gè)輸入變量上的值;Yij是第i個(gè)樣本在第j個(gè)輸出變量上的值,fj是神經(jīng)網(wǎng)絡(luò)的輸入輸出函數(shù);B是待估參數(shù),;是 待 估 參 數(shù) 的 估 計(jì) 值 ,,n=(q+m)×r,r是中間層神經(jīng)
當(dāng)p+q?n時(shí),為無偏估計(jì)。對(duì)圖2的神經(jīng)網(wǎng) 絡(luò) 來 說 :q=7,r=15,m=1 ,因 此 得 到n=120,p=18,即樣本容量必須在18個(gè)以上。
為滿足神經(jīng)網(wǎng)絡(luò)模型所需要的樣本容量要求,B樣本最小二乘數(shù)據(jù)擬合算法如下:
1)設(shè)初始樣本數(shù)為N,用xi表示樣本,可得到xi落 在 某 區(qū) 間[a,b] 中 ,即 有a=x0<x1<x2<…<xN=b。
對(duì)該區(qū)間加入新節(jié)點(diǎn)擴(kuò)展為x-n<…<x0<a=x1<x2<…<xN=b<xN+1<…<xN+n。
2)構(gòu)造以x為變量的第i個(gè)n+1階規(guī)范B樣條函數(shù)
3)k次 空 間Sk(Δ) 的 最 優(yōu) 化元的個(gè)數(shù),p是訓(xùn)練樣本數(shù);q是輸入變量個(gè)數(shù);m是輸出變量的個(gè)數(shù);uij是隨機(jī)誤差項(xiàng)。
由最小二乘法原理可知:s*(x)是Sk(Δ)中對(duì)Y(Y=(f(x1),f(x2),…,f(xN))T的離散最佳逼近的必要條件是
選取某部隊(duì)2016年5月至2017年2月作為某型新機(jī)航材消耗備件需求預(yù)測(cè)模型的時(shí)間區(qū)間[8],采樣周期為1月,每個(gè)月的消耗數(shù)據(jù)看作1個(gè)樣本,得到10個(gè)樣本。將航材的消耗情況與各個(gè)影響因素的統(tǒng)計(jì)數(shù)據(jù)歸一化后得到表1。
表1 航材消耗及影響因素?cái)?shù)據(jù)表
筆者收集了10個(gè)樣本,不滿足神經(jīng)網(wǎng)絡(luò)算法中樣本量大于18的要求,因此采用B樣條最小二乘法進(jìn)行樣本預(yù)處理。
1)取樣本函數(shù)空間的維數(shù),即N+k=10,令樣本函數(shù)的階數(shù)為4,則k=3,N=7,確定以B樣條為基底表示的擬合函數(shù)得到:
構(gòu)造樣條函數(shù)的節(jié)點(diǎn):
2)作出擬合函數(shù)以0.1為間隔的時(shí)間序列,則原來的樣本容量擴(kuò)大至101,滿足神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的樣本容量。
3)將預(yù)處理的訓(xùn)練樣本代入神經(jīng)網(wǎng)絡(luò)模型,通過Matlab得到如圖2所示的輸出結(jié)果。
圖2 BP神經(jīng)網(wǎng)絡(luò)輸出結(jié)果
從圖2可以看出預(yù)測(cè)結(jié)果非常接近實(shí)際消耗數(shù)。
4)對(duì)預(yù)測(cè)結(jié)果進(jìn)行相對(duì)誤差分析
從圖3可以看出,平均相對(duì)誤差為0.005,最大誤差0.012,利用B樣條神經(jīng)網(wǎng)絡(luò)進(jìn)行新機(jī)航材消耗備件的需求預(yù)測(cè),相對(duì)誤差較小,能夠比較準(zhǔn)確地反映新機(jī)航材備件的實(shí)際需求。
圖3 預(yù)測(cè)結(jié)果相對(duì)誤差
筆者提出基于B樣條神經(jīng)網(wǎng)絡(luò)算法實(shí)現(xiàn)新機(jī)航材備件的消耗預(yù)測(cè),針對(duì)新機(jī)備件歷史消耗數(shù)據(jù)較少的問題,采用B樣條最小二乘法進(jìn)行數(shù)據(jù)擬合增加樣本數(shù),再利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行備件需求預(yù)測(cè),較好地解決了航材供應(yīng)的預(yù)測(cè)問題。仿真結(jié)果表明,采用B樣條神經(jīng)網(wǎng)絡(luò)算法建立的預(yù)測(cè)模型效果較好,是一種行之有效的預(yù)測(cè)方法。今后,筆者還應(yīng)根據(jù)新機(jī)的特點(diǎn),考慮不同地理環(huán)境下的影響因素,不斷改進(jìn)參數(shù)尋優(yōu)方法,提高模型的適應(yīng)性。