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