周家萱, 徐常凱
(空軍勤務學院航材四站系, 江蘇 徐州 221000)
航材根據(jù)其訂貨屬性可分為有壽件、可修件和消耗件3大類[1]。其中有壽件和可修件具有明確的壽命控制時次和平均故障間隔時間,可依據(jù)其消耗機理建立消耗需求預測模型;而消耗件由于其消耗量的隨機性大,難以依據(jù)其消耗機理建模。因此,消耗件需求預測是航材需求預測的重點和難點問題[2]。
時間序列分析[3]是根據(jù)系統(tǒng)觀測到的時間序列數(shù)據(jù),通過曲線擬合和參數(shù)估計建立數(shù)學模型的理論和方法。當前,普遍采用時間序列分析方法進行航材消耗需求預測。由于在航材消耗歷史數(shù)據(jù)中,存在大量的重復模式、數(shù)據(jù)拐點、離群點以及由于常態(tài)性特殊任務(如部分法定假日的常態(tài)性任務、演習訓練等)造成的突發(fā)性航材消耗數(shù)據(jù)(特殊點),應用傳統(tǒng)的時序預測模型(如ARMA等)進行預測時,通常是將這些特殊點劃分為離群點而剔除[4-5],從而完全忽略了這些特殊點對預測模型估算精度的影響,但在工作實踐中,這些特殊點對于航材保障需求預測工作具有十分重要的意義。Prophet模型能夠將特殊任務造成的異常消耗數(shù)據(jù)納入時序預測建模過程,進而解決了航材消耗需求時間序列預測問題。筆者首先分析了特殊任務航材消耗需求預測的特點和要求,應用考慮特殊任務因素的Prophet時序預測模型對航材消耗過程進行建模,利用Prophet模型來解決航材消耗時間序列預測問題,并與無特殊任務Prophet模型和傳統(tǒng)時序預測模型進行了對比,最后通過實例驗證了Prophet模型的有效性。
隨著軍隊新大綱施訓的全面展開,航空兵出動規(guī)律逐漸從以飛行小時為牽引轉向以飛行任務為牽引,出現(xiàn)了大型演習和實戰(zhàn)化飛行訓練等常態(tài)化任務飛行時間。相比于以飛行小時為牽引的飛行科目,有飛行任務的訓練科目其實戰(zhàn)化程度更高、強度更大。特別是對于飛機發(fā)動機而言,實戰(zhàn)化科目造成其加力時間延長,熱循環(huán)次數(shù)顯著增多,由此產(chǎn)生大量突發(fā)性的、高消耗的航材消耗數(shù)據(jù)。表1為飛機發(fā)動機減震墊的日常消耗和特殊任務消耗的部分數(shù)據(jù)。
表1 飛機發(fā)動機減震墊消耗部分數(shù)據(jù) 件
由表1可以看出:該航材在日常使用狀態(tài)下的消耗量較少,而在特殊任務情況下其消耗量呈數(shù)十倍的增長。當應用傳統(tǒng)的時序預測模型進行消耗需求預測時,該類數(shù)據(jù)通常被識別為離群點而被剔除,導致預測誤差較大。
Prophet模型采用時間序列分解分析方法,以時間t為自變量,利用時間序列數(shù)據(jù)對趨勢項、季節(jié)項、特殊任務項和誤差項4項參數(shù)進行擬合[6],即
y(t)=g(t)+s(t)+h(t)+ε。
(1)
式中:g(t)為趨勢項,表示時間序列中非周期性的變化趨勢;s(t)為季節(jié)項,表示時間序列中周期性的變化趨勢;h(t)為特殊任務項,表示在采集數(shù)據(jù)時間段內是否有特殊任務;ε為誤差項。
Prophet模型利用邏輯回歸函數(shù)和分段線性函數(shù)擬合趨勢項。其中:邏輯回歸函數(shù)的一般形式為[7]
(2)
式中:C為曲線的最大漸進值;k為曲線的增長率(基礎增長率);m為曲線的中點。在實際需求預測建模中,這3個參數(shù)都不是常數(shù),均隨時間t的變化而變化,即C=C(t),k=k(t),m=m(t)。
時間序列曲線的變化往往是通過一定數(shù)量的變點,使曲線呈周期性變化趨勢,設sj為第j(j=1,2,…,S,)個變點對應的時刻,δj為變點在sj時刻的增長率,服從拉普拉斯分布,即δj~Laplace(0,τ),用來調節(jié)變點增長率的變化情況,其中τ為拐點影響力,τ越大,允許模型適應的波動強度越大。定義指示變量
(3)
則在任意時刻t的變點增長率為k+αTδ,其中δ=(δj,j=1,2,…,S),為變點增長率向量;α=(αj(t),j=1,2,…,S),為指示向量。由于拐點會導致函數(shù)非連續(xù),因此需要在拐點處進行平滑處理,增加偏移量。根據(jù)拉普拉斯變換對擬合曲線進行平滑處理,可得在變點sj處的平滑處理偏移量γj為[8]
(4)
任意時刻t的偏移量為m+αTγ,γ=(γj,j=1,2,…S),為變點的偏移向量,則邏輯回歸函數(shù)擬合的趨勢項為
(5)
分段線性函數(shù)在每一段的表達式為y=kx+b,由邏輯回歸函數(shù)的參數(shù)值可得分段線性函數(shù)為
g(t)=(k+αTδ)×t+(m+αT(-Sδ))。
(6)
Prophet模型通過建立周期序列的傅立葉級數(shù)的周期性變化趨勢來擬合季節(jié)項,即
(7)
式中:P為目標序列可預計的常規(guī)周期,如周、年、月等,擬合的關鍵是首先確定N(N為季節(jié)影響力)的最優(yōu)值,然后再擬合β=(a1,b1;a2,b2;…;aN,bN)T,其中β為對季節(jié)項模型進行平滑的參數(shù),服從β~N(0,σ)的正態(tài)分布,σ越大,允許模型的波動性越強。
根據(jù)傅立葉級數(shù)的原理,縮短N的序列可理解為低通濾波器,因此,設置大N值可適應強季節(jié)變化,但容易造成過擬合。參考文獻[9]的研究結果:以年為周期的序列,N最優(yōu)值=10,以周為周期的序列,N最優(yōu)值=3,因此式(7)可調整為
(8)
Prophet模型假設不同的特殊任務之間是相互獨立的,即不同任務分別代表不同的模型。設L為周期內特殊任務的數(shù)量,Di為第i項特殊任務對應的時間列表,1{t∈Di}表示時間t是否在任務期間內,則
(9)
另外,特殊任務會影響任務前后一段時間的時間序列,分別稱其為任務的前置窗口和后置窗口,因此需要將單一日期t轉換為關于特殊任務日期和時間窗口的特征矩陣Z(t),并將模型的數(shù)學表達式調整為與式(7)一致的處理形式,即
h(t)=Z(t)k。
(10)
式中:Z(t)=(1{t∈D1},…,1{t∈DL});k=(k1,…,kL)T,k~N(0,v2);v為任務影響力,表示特殊任務項對擬合的影響程度,v越大,允許模型適應的波動越大。最后,利用極大后驗概率或Markov Chain Monte Carlo(MCMC)算法對參數(shù)β和k進行估計。
以飛機發(fā)動機減震墊(冊序號:發(fā)動機減震墊;型號:Y8-6400-8)為例,驗證模型的合理性。該航材從2012-01-01至2018-12-31共7年的歷史消耗數(shù)據(jù)散點圖如圖1所示。
圖1 飛機發(fā)動機減震墊7年的消耗數(shù)據(jù)散點圖
由圖1可以看出:飛機發(fā)動機減震墊的歷年消耗數(shù)維持在0~50件,消耗量較為穩(wěn)定,但在2012、2014、2015、2016、2017、2018年消耗量都有突變,特別是在2014-2015年期間消耗量有近10次的突變,在排除數(shù)據(jù)記錄問題后,確定這些數(shù)據(jù)突變點與特殊任務的時間點一致。特殊任務時間點及飛機發(fā)動機減震墊的消耗數(shù)如表2所示。
表2 特殊任務時間點及飛機發(fā)動機減震墊消耗數(shù)件
任務時間消耗數(shù)前置窗口后置窗口任務時間消耗數(shù)前置窗口后置窗口2012-01-1092112016-03-21186122014-05-19118122016-12-02140122015-01-04105122017-01-09102222015-02-2788222017-02-0499212015-10-1597132017-06-12119232015-11-26121112017-11-2782112015-12-148412
由于飛機航材質控系統(tǒng)所收集的消耗數(shù)據(jù)皆為流水數(shù)據(jù),通常采取滾動計算方法預測下一年的消耗量,即使用前N年的消耗數(shù)據(jù)預測第N+1年的消耗量。筆者將消耗數(shù)據(jù)分為訓練數(shù)據(jù)和測試數(shù)據(jù)2類,其中:2012-01-01至2017-12-31的消耗數(shù)據(jù)為訓練數(shù)據(jù),2018-01-01至2018-12-31的消耗數(shù)據(jù)為測試數(shù)據(jù),并以“天”為粒度整理成連續(xù)時間序列,最后,利用線性模型擬合數(shù)據(jù)。參考文獻[10]中的參數(shù)設置,結合航材實際消耗情況確定Prophet模型的擬合參數(shù)如表3所示。
以特殊任務點2015-12-14(前置1窗口,后置2窗口)的消耗數(shù)據(jù)為例,利用Prophet模型對2015-12-12至2015-12-17共6天的趨勢項g(t)、任務項h(t)、預測項y(t)的擬合結果如表4所示。
表3 Prophet模型的擬合參數(shù)
由表4可以看出:在特殊任務點2015-12-14的當天、前1天和后2天,任務項擬合值均不為0,即特殊任務數(shù)據(jù)參與了模型的數(shù)據(jù)擬合,特別是在任務當天,任務項的擬合值為70.693 2,而預測值為71.616 4,二者與實際消耗值84非常接近。在2015-12-12和2015-12-17,任務項沒有擬合值,其預測值與無特殊任務的消耗情況相似。
表4 Prophet模型對2015-12-12至2015-12-17的趨勢項g(t)、任務項h(t)和預測項y(t)的擬合結果
圖2為飛機發(fā)動機減震墊消耗量序列按任務、年度、月份、星期的分解情況。
圖2 飛機發(fā)動機減震墊消耗量的序列分解
1) 由圖2(a)可知:該航材在無特殊任務期間的消耗趨勢基本平穩(wěn),但在特殊任務期間的消耗量接近75件,超過無特殊任務消耗量的70倍。
2) 由圖2(b)可知該航材的消耗趨勢為:在2012-2014年度較為平穩(wěn),日均消耗量為1件,在2014-2016年間出現(xiàn)了1次小幅波動,日均最大消耗量為2.7件,從2016年5月以后,消耗量整體呈上升趨勢。
3) 由圖2(c)可知:該航材的消耗具有一定的節(jié)假日特性,在傳統(tǒng)的長假期間(如春節(jié)、國慶節(jié))消耗量出現(xiàn)明顯下降,但在法定假日沒有明顯下降,這一規(guī)律符合航空兵部隊的工作規(guī)律。
4) 由圖2(d)可知該航材的日常消耗量具有明顯的雙休日特性:在周末期間的消耗量最小,在工作日內,消耗量最高點出現(xiàn)在前半周,隨著時間臨近周末,消耗量明顯下降。
圖3為2012-2018年度消耗數(shù)據(jù)的擬合結果以及2018-2019年度消耗量的預測結果。
由圖3可以看出:Prophet模型有效擬合了特殊任務點的實際消耗量,及其對總體消耗趨勢的影響。特殊任務點消耗量擬合分布在(80,100)的區(qū)間內,對總體消耗量的影響趨勢分布在(70,80)的區(qū)間內,這一結果與圖2(b)的分析結論是一致的,且呈現(xiàn)出與圖2(d)一致的長假期的消耗特性。在預測區(qū)間[2018-01-01,2018-12-31]內,共有365個數(shù)據(jù)點,其中354個點落在95%的置信區(qū)間,預測值為1 383,預測上限為2 223,預測下限為602,考慮特殊任務的Prophet模型的預測結果如圖4所示。
由此可見:考慮特殊任務的Prophet模型能夠有效擬合特殊任務的消耗數(shù)據(jù),其時間序列擬合趨勢符合航材消耗實際情況,且最終的預測上、下限包含了真實的消耗數(shù)據(jù)。
圖3 Prophet模型對飛機發(fā)動機減震墊消耗數(shù)據(jù)的擬合及預測結果
圖4 考慮特殊任務的Prophet模型的預測結果
為驗證考慮特殊任務的Prophet模型擬合特殊任務數(shù)據(jù)的精確性和預測結果的合理性。隨機生成1年的飛機發(fā)動機減震墊的消耗數(shù)據(jù),期間存在特殊任務的時間和對應的消耗量如表5所示。
表5 特殊任務時間及其消耗量 件
分別利用考慮特殊任務的Prophet模型、無特殊任務Prophet模型和ARMA模型對表5中的數(shù)據(jù)進行擬合,擬合曲線如圖5-7所示。
由圖5-7可以看出:考慮特殊任務的Prophet模型較無特殊任務Prophet模型和ARMA模型能夠更好地擬合特殊任務消耗數(shù)據(jù),擬合效果好。利用均方差、平均絕對誤差、絕對誤差、平均絕對百分比誤差4種常用的預測模型精度評估指標[11],對3種預測模型的精度進行對比,結果如表6所示。
圖5 考慮特殊任務的Prophet模型的擬合曲線
圖6 無特殊任務Prophet模型的擬合曲線
圖7 ARMA模型的擬合曲線
表6 3種預測模型的擬合精度對比
由表6可以得出:考慮特殊任務的Prophet模型相較于無特殊任務Prophet模型和傳統(tǒng)時序預測模型,預測誤差小、精度高,對目前特殊任務下的航材消耗規(guī)律具有較好的適應程度,更加符合航材消耗的實際情況。
考慮特殊任務的Prophet模型對特殊任務條件下的航材消耗規(guī)律具有良好的適應性,應用該模型進行特殊任務下航材時序消耗預測具有極強的針對性和有效性。在目前大項任務、演習演練頻繁,異常消耗數(shù)據(jù)量大的背景下,該研究成果為解決當前航材消耗量預測方法難以處理特殊任務造成的異常消耗數(shù)據(jù),對特殊任務消耗數(shù)據(jù)擬合和預測效果不佳的問題,提供了新的思路和方法。但該模型仍然是基于單一變量的預測模型,下一步將綜合考慮天氣、環(huán)境和任務等因素,進一步提高預測模型的合理性和預測精度。