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