徐 超 項 薇 季孟忠 謝 勇
(寧波大學(xué)機(jī)械工程與力學(xué)學(xué)院 浙江 寧波 315211)
時間序列預(yù)測是預(yù)測領(lǐng)域中的一個重要分支,它是收集和分析過去在不同時間的歷史觀察數(shù)據(jù),尋找和描述其基礎(chǔ)關(guān)系,并推廣到未來的模型。時間序列預(yù)測已被廣泛應(yīng)用于眾多領(lǐng)域問題的預(yù)測中,如金融領(lǐng)域[1]中股票市場預(yù)測[2]、醫(yī)療領(lǐng)域[3]傳染病發(fā)病率的預(yù)測[4-5]等。
國內(nèi)外學(xué)者開展了大量相關(guān)研究工作。文獻(xiàn)[6]匯總整理了若干預(yù)測方法和數(shù)學(xué)模型,用于不同類型時間序列問題的預(yù)測。其中,自回歸綜合移動平均(ARIMA)模型[7]是最廣泛使用的時間序列模型之一。該模型對所有歷史時間序列數(shù)據(jù)進(jìn)行客觀分析,識別數(shù)據(jù)中的季節(jié)性和趨勢性特征,然后進(jìn)行預(yù)測。它以短期預(yù)測精度高而廣受研究者的青睞[8]。如周奎[9]根據(jù)1978年-2007年的GDP數(shù)據(jù)建立了ARIMA(2,1,6)模型,對2008年-2013年的GDP進(jìn)行預(yù)測,預(yù)測誤差均在5%以內(nèi)。Abdur Rahman等[10]利用1972年-2015年44年的時間序列數(shù)據(jù)建立二氧化碳排放模型,發(fā)現(xiàn)ARIMA(0,2,1)為最佳擬合模型并預(yù)測2016年-2018年二氧化碳排放量,結(jié)果都在95%的置信區(qū)間。在時間序列預(yù)測中還有一種方法就是平滑預(yù)測法,它的特點是首先對時間序列數(shù)據(jù)進(jìn)行平滑處理,過濾由偶然因素而引起的波動,然后再找出其規(guī)律,如移動平均法、指數(shù)平滑法[11]、自適應(yīng)過濾法。其中移動平均法和指數(shù)平滑法的優(yōu)點就是建模過程簡便,缺點是當(dāng)計算移動平均值時,只利用時間序列的前N個數(shù)據(jù),沒有充分利用時間序列的全部數(shù)據(jù)信息,也不能識別時間序列數(shù)據(jù)之間的內(nèi)部關(guān)系,所以這并非一種理想的預(yù)測方法[8]。自適應(yīng)過濾法是在移動平均法的基礎(chǔ)之上,根據(jù)數(shù)學(xué)上最優(yōu)化原理,對移動平均模型中的權(quán)數(shù)進(jìn)行調(diào)整,以減小預(yù)測誤差[12]。該方法在經(jīng)濟(jì)領(lǐng)域和工程檢測應(yīng)用比較普遍,如股票走勢、期貨行情等的預(yù)測[13]。雖然該方法可以減小預(yù)測誤差,但也沒有充分利用時間序列數(shù)據(jù)中的所有信息,所以在實際應(yīng)用中有些復(fù)雜系統(tǒng)的預(yù)測中,只能做到一些趨勢的預(yù)測,如陶庭葉等[14]應(yīng)用自適應(yīng)過濾法模型預(yù)測大壩變形趨勢。
綜上述,ARIMA模型的優(yōu)點是可以充分利用所有時間序列數(shù)據(jù),識別數(shù)據(jù)內(nèi)部關(guān)系中季節(jié)性和趨勢性的預(yù)測。但其只有在短期預(yù)測時精度高,而長期預(yù)測精度較小。自適應(yīng)過濾法可以通過調(diào)整權(quán)數(shù)以減小預(yù)測誤差從而提高預(yù)測精度。本文提出將ARIMA模型和自適應(yīng)過濾法相結(jié)合,提高短期預(yù)測和長期預(yù)測(即增加預(yù)測步長)的預(yù)測精度。
ARIMA模型形式是ARIMA(p,d,q),它是針對非平穩(wěn)時間序列數(shù)據(jù)進(jìn)行預(yù)測建模的一套方法。其一般表達(dá)式為:
xt=φ0+φ1xt-1+…+φpxt-p+εt-θ1ε1-
…-εqεt-q
(1)
即在t時刻時間序列的取值xt是前p期歷史數(shù)據(jù)xt-1,xt-2,…,xt-p和前q期預(yù)測誤差εt-1,εt-2,…,εt-q的多元線性函數(shù),誤差項是當(dāng)期的隨機(jī)干擾εt,為零均值白噪聲序列。
其建模過程分為四個步驟:
① 時間序列的平穩(wěn)化:ARIMA模型只能應(yīng)用于平穩(wěn)的時間序列數(shù)據(jù)中,而該模型序列平穩(wěn)化的方法是將數(shù)據(jù)進(jìn)行差分,其中d是差分的次數(shù)。
② ARIMA模型的識別:也叫模型的定階,即確定p與q,主要是根據(jù)模型的自相關(guān)系數(shù)(ACF)和偏自相關(guān)系數(shù)(PACF)的性質(zhì),選擇合適的模型。
③ 模型參數(shù)估計以及模型驗證:對ARIMA模型進(jìn)行參數(shù)估計,通常采用最小二乘法或極大適然法進(jìn)行參數(shù)估計。同時驗證模型,不合適則返回第2步,重新識別模型。
④ 模型的應(yīng)用:通過滾動的單步預(yù)測計算實現(xiàn)短期預(yù)測。
自適應(yīng)過濾法是以時間序列的歷史觀察值的加權(quán)平均來預(yù)測的,關(guān)鍵在于確定一組“最佳”權(quán)數(shù)。其核心思路是根據(jù)預(yù)測誤差反饋調(diào)整權(quán)數(shù),反復(fù)迭代直到找出一組“最佳”權(quán)數(shù)使誤差最小。自適應(yīng)過濾法預(yù)測模型的一般表達(dá)式如下:
(2)
② 計算實際值與預(yù)測值之間的誤差:
(3)
③ 由誤差ei+1的大小來調(diào)整權(quán)重的大小,使其預(yù)測誤差減小。調(diào)整權(quán)重的公式是:
(4)
(5)
式中:分母代表的意義是歷史時間序列數(shù)據(jù)中N個觀察值的平方和最大值。好的k值不僅可以減少迭代次數(shù),還可以確保誤差值最小。
這樣反復(fù)迭代調(diào)整權(quán)重,直到找到一組“最佳”權(quán)重,使誤差減到最小。從t=N到t=M稱之為一輪迭代。然后將一輪迭代所得到的最后一組權(quán)數(shù)作為初始權(quán)重進(jìn)行下一輪迭代。這樣反復(fù)迭代直至誤差無法改進(jìn)為止,即為一組“最佳”權(quán)重。后續(xù)預(yù)測采用這組“最佳”權(quán)重。
自適應(yīng)過濾法有兩個優(yōu)點:(1) 技術(shù)簡單,可以依據(jù)研究者的需要來選擇“權(quán)重”的個數(shù)和學(xué)習(xí)常數(shù)k,從而控制預(yù)測。(2) 該方法利用所有時間序列的觀察值來尋找“最佳”權(quán)重,而且是隨著歷史數(shù)據(jù)的軌跡變化不斷更新權(quán)重,使得預(yù)測更加精準(zhǔn)。并且自適應(yīng)過濾法中“權(quán)重”的特點是任意的,完全突破了一切約束,即經(jīng)過調(diào)整后得到的權(quán)重之和不但可以不等于1,而且還可以為負(fù)數(shù)。
根據(jù)上文所敘述,在傳統(tǒng)的ARIMA建模過程中,其特點是對于短期預(yù)測精度較高。而隨著預(yù)測步長的增加,ARIMA模型的預(yù)測誤差加大,而自適應(yīng)過濾法是以減小預(yù)測誤差為目的,經(jīng)過層層迭代來調(diào)整“參數(shù)”的思想。將這兩種方法結(jié)合,使得短期預(yù)測的精度比傳統(tǒng)的ARIMA模型更高。同時,當(dāng)預(yù)測步長較大時,也可以保持較高的預(yù)測精度。
傳統(tǒng)的ARIMA建模過程中,其中一個步驟是對模型參數(shù)的估計,即對式(1)中φ1,φ2,…,φp,θ1,θ2,…,θq進(jìn)行估計,而式(1)可以看成一種加權(quán)多項式。根據(jù)自適應(yīng)過濾法中“權(quán)數(shù)”的特點,將φ1,φ2,…,φp,θ1,θ2,…,θq看成式中變量的“權(quán)數(shù)”。在ARIMA建模的第3個步驟后,我們將自適應(yīng)過濾法的思想嵌入其中,即將估計出來的參數(shù)φ1,φ2,…,φp,θ1,θ2,…,θq當(dāng)作初始權(quán)值。用自適應(yīng)過濾法進(jìn)行參數(shù)的調(diào)整,使其預(yù)測誤差盡可能的減小,得到一組“最佳”的參數(shù)返回ARIMA模型中,然后進(jìn)行預(yù)測。該模型通過計算機(jī)編程實現(xiàn),在程序設(shè)計中采用傳統(tǒng)的ARIMA預(yù)測結(jié)果的最小絕對誤差(MAE)來度量。該組合預(yù)測法建模的流程如圖1所示。
圖1 ARIMA與自適應(yīng)過濾組合預(yù)測法流程圖
為了評價組合預(yù)測法的適用范圍及預(yù)測精度,考慮選取不同類型的時間序列數(shù)據(jù)進(jìn)行預(yù)測評價。比較的模型是:ARIMA模型和ARIMA-自適應(yīng)過濾組合模型(以下簡稱組合模型)。所有時間序列的算例均來自澳大利亞Monash大學(xué)的Rob Hyndman教授創(chuàng)建的TSDL。
時間序列數(shù)據(jù)有多種分類,按照時間序列平穩(wěn)性特征可分為:平穩(wěn)時間序列和非平穩(wěn)時間序列。平穩(wěn)時間序列即為均值和標(biāo)準(zhǔn)差沒有隨系統(tǒng)的變化而變化,且嚴(yán)格消除周期性變化的時間序列;非平穩(wěn)時間序列即為均值和標(biāo)準(zhǔn)差等數(shù)字特征隨時間的變化而變化呈現(xiàn)某一種趨勢的時間序列,比如周期性(季節(jié)性)、上升(下降)趨勢。而在實際的應(yīng)用中所獲得的時間序列通常為非平穩(wěn)時間序列。
本文在TSDL中選取的總共13組不同領(lǐng)域規(guī)模的時間序列數(shù)據(jù)(見表1),歸類出四類特征:1) 平穩(wěn)時間序列;2) 既有周期性又有趨勢性;3) 僅有上升趨勢;4) 僅有下降趨勢。在既有周期性又有趨勢性特征的時間序列主要選取兩種類型:一類是隨時間的推移,一個周期內(nèi)數(shù)據(jù)波動的幅度不變(如Wisconsin employment time serie,時間序列圖如圖2所示);另一類是一個周期內(nèi)數(shù)據(jù)的波動幅度隨時間的推移而變化(如Monthly production of Gas in Australia,時序圖如圖3所示)。在僅有上升或下降趨勢特征的時間序列數(shù)據(jù)中,我們也主要選取兩種類型的數(shù)據(jù):一類是數(shù)據(jù)上升或下降趨勢中沒有波動或者波動幅度可以忽略不計;另一種類型是數(shù)據(jù)在上升或下降趨勢中有波動的情況。這樣我們選取的數(shù)據(jù)類型幾乎涵蓋實際應(yīng)用中的大部分情況。
表1 算例分類和算例數(shù)據(jù)量
圖2 1962年—1975年月均就業(yè)人數(shù)觀測值與預(yù)測值的時序圖
圖3 1956年—1994年汽油月均產(chǎn)量觀測值與預(yù)測值時序圖
算例評價中,本文關(guān)注模型的預(yù)測精度。預(yù)測精度的評價一方面采用從短期預(yù)測結(jié)果的相對誤差(PE)的最大值和最小值、平均絕對百分比誤差(MAPE)和相對誤差的標(biāo)準(zhǔn)差四個指標(biāo)來比較。其中:最大值和最小值表示預(yù)測精度的極限情況;MAPE表示預(yù)測精度;相對誤差的標(biāo)準(zhǔn)差表示預(yù)測精度的變化情況。另一方面從長期預(yù)測的角度,即增加預(yù)測步長,從預(yù)測結(jié)果MAPE的變化率比較。
我們使用MATLAB R2014a進(jìn)行編程建模。本文實驗設(shè)計的思路是將所有的時間序列歷史數(shù)據(jù)分為兩部分,前一部分成為觀測組,后一部分為驗證組。用觀測組的數(shù)據(jù)作為新的時間序列歷史數(shù)據(jù)預(yù)測后面的數(shù)據(jù),將預(yù)測值與驗證組的真實值比較,計算出預(yù)測值的相對誤差(PE)([PE=(真實值-預(yù)測值)/真實值]×100%)。算例的分類和數(shù)據(jù)量的大小如表1所示。
通過MATLAB仿真,分別應(yīng)用ARIMA模型和組合預(yù)測模型對這13組數(shù)據(jù)預(yù)測,并計算兩個模型所得各預(yù)測值的相對誤差(PE),提取和計算出PE中的最大、最小值和平均絕對百分比誤差(MAPE),以及PE的標(biāo)準(zhǔn)差的值,其結(jié)果如表2所示和表3所示。表中“PEmax”和“PEmin”分別表示各組數(shù)據(jù)預(yù)測值相對誤差的最大值、最小值,σPE表示PE的標(biāo)準(zhǔn)差。
表2 ARIMA模型預(yù)測值相對誤差
續(xù)表2
表3 ARIMA-自適應(yīng)過濾組合模型預(yù)測值相對誤差
比較表2和表3可知,對于短期預(yù)測,從預(yù)測值相對誤差(PE)角度來看,平穩(wěn)時間序列應(yīng)用ARIMA模型的預(yù)測精度比較小。從表中數(shù)據(jù)可看出,ARIMA模型對平穩(wěn)時間序列的預(yù)測的MAPE在10%~30%之間;而非平穩(wěn)時間序列的應(yīng)用ARIMA模型的預(yù)測精度相對較高,預(yù)測的MAPE在90%~95%之間。本文提出的組合預(yù)測模型不論什么特征的時間序列數(shù)據(jù),預(yù)測精度都在97%以上,甚至接近真實值(如算例3、算例4、算例8)。針對相對誤差的標(biāo)準(zhǔn)差這一指標(biāo),我們發(fā)現(xiàn),時間序列樣本數(shù)據(jù)量較小時(如算例10和算例13),應(yīng)用組合預(yù)測模型的σPE值大于ARIMA模型的該項指標(biāo);其余算例(數(shù)據(jù)量較大),組合預(yù)測模型預(yù)測的σPE指標(biāo)都較之ARIMA模型的小。結(jié)合圖1和圖2,兩種模型所預(yù)測的結(jié)果與觀察值趨勢對比,說明本文提出的組合預(yù)測模型的結(jié)果較ARIMA模型細(xì)致,更加接近實際情況。
對于長期預(yù)測(即增加預(yù)測步長)角度來看,由圖2和圖3可看出,隨著預(yù)測步長的加長,ARIMA模型雖然呈現(xiàn)出數(shù)據(jù)的變化趨勢,但是預(yù)測精度卻越來越小。本文提出的組合預(yù)測模型的預(yù)測精度卻變化不大,圖2對應(yīng)的預(yù)測值的MAPE隨預(yù)測步長的變化情況見圖4。由圖4可知,ARIMA模型的預(yù)測結(jié)果的MAPE隨預(yù)測步長呈線性增加,且變化率較大;組合預(yù)測模型,預(yù)測步長在108個月內(nèi)時,預(yù)測結(jié)果的MAPE幾乎無變化,預(yù)測步長大于108月時,預(yù)測結(jié)果MAPE開始變大。
圖4 預(yù)測步長與MAPE的變化圖
本文提出一種將傳統(tǒng)ARIMA模型與自適應(yīng)過濾法相組合的組合預(yù)測模型。該模型以ARIMA模型為框架,加入自適應(yīng)過濾法調(diào)整權(quán)數(shù)的思想,調(diào)整ARIMA模型中的參數(shù),從而提高預(yù)測精度。本文分別從平穩(wěn)時間序列、周期性+趨勢性、上升趨勢、下降趨勢四個特征共13組時間序列算例對ARIMA模型和組合預(yù)測模型進(jìn)行預(yù)測計算和比較。結(jié)果發(fā)現(xiàn):對于短期預(yù)測,ARIMA-自適應(yīng)過濾組合預(yù)測模型的預(yù)測精度趨勢優(yōu)于傳統(tǒng)ARIMA模型,預(yù)測精度增大了80%~99%,并且預(yù)測出的未來趨勢也更加接近實際情況。對于長期預(yù)測(即預(yù)測步長加長),ARIMA模型預(yù)測結(jié)果平均絕對百分比誤差(MAPE)變化率較大,組合預(yù)測模型預(yù)測結(jié)果平均絕對百分比誤差變化率幾乎為0。所以,本文提出的組合預(yù)測模型對平穩(wěn)和非平穩(wěn)時間序列的預(yù)測是有效的,并且也適用長期預(yù)測。本文的不足之處在于,在組合預(yù)測模型對參數(shù)的調(diào)整過程中,誤差的收斂時間比較長,在接下來的研究中,可以從縮小收斂時間方面著手。