張德亮,楊國利,郭 嘉,牟永強
(71496 部隊,山東 煙臺265800)
目前大量新式武器不斷投入使用,使部隊對油料的需求日益增長,對油料供給的方式、方法提出了更高的要求。對油料消耗進行合理準確地預測,直接影響著油料保障能力的提升,是油料精確保障、優(yōu)化調度的基礎[1]。油料消耗需求預測,是通過對各部隊歷史油料消耗統(tǒng)計的歸納分析,推算其在下一時間節(jié)點前所需的油料品種、數量的決策活動??茖W預測部隊油料消耗量對用油單位編報申請計劃、油料管理部門分配油料指標,以及上級調撥決策人員制定訂購、調撥計劃都具有重要的輔助決策作用[2]。
油料消耗的歷史統(tǒng)計,可以看作油料消耗量的時間序列;對油料消耗歷史數據的分析處理,也就是對油料消耗量的時間序列的分析處理。油料消耗量隨時間的變化是無規(guī)則的,顯然油料消耗量的時間序列是典型的非線性時間序列。在非線性時間序列預測方面,大量非線性預測模型被相繼提出,如神經網絡預測模型[3]、馬爾科夫預測模型與支持向量預測模型[4],但它們都存在一定的局限性,不能全面地反映出油料消耗的規(guī)律特點。
小波分析具有時頻局域性、小波系數稀疏性和不同尺度自相似性的特點,為非線性時間序列預測提供了一種新的工具。在此基礎上,通過小波多尺度分解將非線性時間序列分解到不同頻率通道上。由于低頻趨勢序列具有較好的平穩(wěn)性,高頻細節(jié)序列具有明顯的波動特征,所以對分解出的低頻小波系數采用指數平滑法進行預測,而對分解出的高頻小波系數采用馬爾科夫預測模型進行預測,最后將低頻和高頻的預測結果進行小波重構得到原始時間序列的預測值。
根據Mallat 提出的小波多尺度分析原理,任何函數f(x)∈L2(R)都可以分解為分辨率為2-N的f(x)的低頻部分(近似部分)和分辨率為2-j(1≤j≤N)下f(x)的高頻部分(細節(jié)部分)。對于任意函數f(x)∈L2(R)的連續(xù)小波變換為
式中:φ(t)為Haar 小波函數;a為伸縮因子;b為平移因子。
具體分解過程采用的是Mallat 算法[5]。Mallat算法可以看作通過高頻和低頻2 個濾波器來進行頻帶劃分,即
式中:H為低通濾波器系數;G為高通濾波器系數。
分解出的各部分可由Mallat 重構算法進行如下重構:
對油料消耗量的時間序列進行小波分析,首先要進行小波分解,小波分解的基本函數選Haar函數。小波分解的層數與其平穩(wěn)性和預測誤差的關系:分解的層數越多,各層的平穩(wěn)性就越好,更利于擬合;分解的層數越多,整體的預測誤差越大,預測精度下降。在選擇小波分解的分解層數時,要根據小波分解的具體情況,確定合適的分解層數,保證整體的預測誤差最小。
指數平滑就是通過某種平均方式,消除歷史統(tǒng)計序列中的隨機波動,找出其主要發(fā)展趨勢[6]。指數平滑法最適用于簡單的時間分析和中、短期預測,實際上是一種以時間定權的加權平均,越近的數據加權系數越大,越遠的數據加權系數越小。指數平滑法是一個迭代過程,進行計算時須首先確定初始值。初始值選取不當造成的誤差,經過幾次平滑之后將很小。為使模型迅速地調整到當前水平,最簡單的方法是取前幾個數的平均值作為初始值,一般取前3 ~5 個數的算術平均值。運用指數平滑法對小波分解的低頻部分進行預測時,要觀察低頻部分的趨勢變化,選擇合適的指數平滑預測模型進行預測。如果低頻系數序列在一個水平附近上下波動,采用一次指數平滑模型進行預測;如果低頻系數序列存在線性趨勢時,則采用二次指數平滑模型進行預測。對于時間序列x1,x2,…,xt,其一次指數平滑公式為
加權系數α 的取值體現了新觀察值與原平滑值之間的比例關系:α 越大,xt在式中的比例越大,當α=1 時,平滑值等于當前觀察值;α 越小的比重就越大,當α =0 時,則本期平滑值等于上期的平滑值。α 的大小控制了時間序列在預測中的有效數據的個數,α 越大有效數據個數越少,α越小有效數據個數越多。本文取α=0.3。
二次指數平滑的公式為
當時間序列從某時期開始具有線性趨勢時,用線性趨勢模型預測:
式中:T為模型時期為當前時期T時的指數平滑值。
進行預測
(1)馬爾科夫狀態(tài)區(qū)間的劃分。采用馬爾科夫預測模型,必須先將要預測的數據區(qū)間劃分成有限個明確的狀態(tài)。由于油料消耗量的狀態(tài)往往不是明確的子集合,而是一種模糊狀態(tài),可采用模糊聚類理論構建模糊子集來表示油料消耗量的分級狀態(tài)。設通過模糊聚類法將油料消耗量劃分為m個狀態(tài)(s1,s2,…,sm)。
(2)狀態(tài)轉移概率的確定。馬爾科夫預測中,用狀態(tài)相互轉移的頻率來描述轉移概率??山乒烙嫺怕使綖?/p>
式中:pij為由t時期的狀態(tài)si轉移到t+1 時期的狀態(tài)sj的概率;aij為由t時期的狀態(tài)si轉移到t+1時期的狀態(tài)sj的次數。
(3)確定狀態(tài)區(qū)間。通過預測的初始狀態(tài)以及狀態(tài)轉移概率確定狀態(tài)區(qū)間,相應的預測值取該狀態(tài)區(qū)間的中間值。
將指數平滑法預測得到的低頻小波系數與馬爾科夫模型預測得到的高頻小波系數進行小波重構,從而得到時間序列的預測值。
從油料信息管理系統(tǒng)中選取并整理得到某部隊2001—2010 年的油料消耗量(見表1)[7],利用小波分析的方法預測該油庫2010 年的油料消耗量,與2010 年的實際油料消耗量進行比對,檢驗其正確性,并對該油庫2011 年的油料消耗量進行預測分析。
表1 某部隊2001—2010 年油料消耗用量 t
采用Mallat 算法,選取Haar 小波函數對2001—2009年的油料消耗量這一時間序列進行一維離散小波分解,得到相應油料消耗量序列的低頻系數和高頻系數(見表2)。
表2 油料消耗量序列的低頻系數和高頻系數
實際油料消耗量時間序列及油料消耗量序列低頻系數和高頻系數變化趨勢如圖1—3 所示。
圖1 實際油料消耗量時間序列
圖2 油料消耗量序列低頻系數
從圖2 可以看出,油料消耗量序列存在線性趨勢,因此需采用二次指數平滑模型對其進行預測。將已知數據分成2 部分,用第1 部分估計初始值,用第2 部分進行平滑,求各平滑參數。第1 部分取1—4 周期低頻系數數據;第2 部分取5—9 周期低頻系數數據。
圖3 油料消耗量序列高頻系數
2.2.1 初始值的確定
首先用最小二乘法對第1 部分數據進行擬合,估計出a0和b0的值;再根據a0和b0的關系式計算初始值。
設t=0 時,此時
根據第1 部分數據對a0和b0進行最小二乘擬合,經過Matlab 計算可得a0= 18. 204 5,b0=0.159 1。因此
2.2.2 指數平滑預測
表3 指數平滑預測計算結果
將得到的高頻系數序列用模糊聚類的方法進行狀態(tài)劃分(見表4)。
表4 狀態(tài)劃分
狀態(tài)轉移 情 況 為:s2→s1→s2→s2→s3→s2→s2→s2→s3。高頻系數序列預測的初始狀態(tài)為s2,經計算預測值為-0.025。
對油料消耗的低頻系數序列和高頻系數序列進行預測,并根據預測的時間序列低頻系數部分和高頻系數部分進行小波重構,得到預測時間序列,即預測的油料消耗量(見表5)。
表5 小波重構預測數據
從表5 可以看出,根據某部隊2001—2009 年的油料消耗量對其2010 年的油料消耗量進行預測,所得結果為13.639 1 t,與實際消耗量13.45 t相比較為符合。
假如已知某部隊2001—2009 年的油料消耗量信息不完整,僅有其中5 a 的油料消耗量數據,以此預測該部隊2010 年的油料消耗量。
(1)進行時間序列的小波分解,分解后得到油料消耗量序列的低頻系數和高頻系數。
(2)對低頻部分進行指數平滑預測,對高頻部分進行馬爾科夫預測,預測得到油料消耗的低頻系數序列和高頻系數序列。
(3)由低頻系數和高頻系數重構得到時間序列。
以上預測計算結果見表6。
表6 5 a 數據小波分解預測結果
從表6 看出,根據該部隊2001—2009 年間5 a的油料消耗用量對2010 年的油料消耗量進行預測,所得結果為13.709 7 t,與信息完整狀態(tài)下預測的結果13.639 1 t 相比,信息完整狀態(tài)下預測的結果與實際情況更為相符。
根據某部隊2001—2010 年的油料消耗量,對該部隊2011 年的油料消耗量進行預測分析。經過時間序列的小波分解,得到油料消耗量的低頻系數序列和高頻系數序列。分別對低頻部分進行指數平滑預測,預測得到新的油料消耗的低頻系數序列;對高頻部分進行馬爾科夫預測,預測得到新的油料消耗的高頻系數序列;再將新得到的低頻系數序列和高頻系數序列重構即可得到預測結果。經計算,該部隊2011 年的油料消耗量為
本文采用小波分析的方法,將油料消耗量的時間序列分解為低頻趨勢序列和高頻細節(jié)序列2部分,對分解出的低頻小波系數采用指數平滑法進行預測,對分解出的高頻小波系數采用馬爾科夫預測模型進行預測,最后將低頻和高頻的預測結果進行小波重構得到原始時間序列的預測值。這種小波分析的方法在提高預測的精度的同時使預測結果更具有規(guī)律性,對部隊油料保障具有重要的參考意義。
[1] 樊榮,王占俊.信息戰(zhàn)條件下油料保障的發(fā)展趨勢[J].教學與科研,2003(2):13-15.
[2] 常昱,何宏,鐵慶彬.灰色RBF 神經網絡模型在軍用油料消耗預測中的應用[J].中國儲運,2008(5):120-122.
[3] Song A,Lu J. Evolving gaussian RBF network for nonlinear time series modelling and prediction[J]. Electronics Letters,1998,34(12):1241-1243.
[4] Xie W,Yu L,Xu S Y,et al. A new method for crude oil price forecasting based on support vector machines[J].Lecture Notes in Computer Science,2006,3994:444-451.
[5] Mallat S. A Wavelet Tour of Signal Processing[M]. 2nd Edition.Academic Press,1999.
[6] Han J W,Micheline. Data Mining:Concepts and Techniques[M]. California:Morgan Kaufmann Publishers,2000.
[7] 李偉,王紅旗,嚴喬喬. BP 神經網絡:馬爾科夫模型在軍用油料消耗預測中的應用研究[J]. 中國儲運,2012(1):125-126.