摘要:研究中國消費品零售總額的SARIMA模型,發現用稀疏系數法處理其季節性所得模型,比常規方法(既做季節差分又做一階差分)所得模型好;在用EViews做預測時,對預測對話框的“Sample range for forecast”的值應該設置為真實的預測范圍,才能得到好的預測。
關鍵詞:SARIMA模型;稀疏系數;中國;消費品零售總額
中圖分類號:F71文獻標志碼:A文章編號:1673-291X(2010)19-0176-03
一、問題提出
EViews軟件是在科學數據分析與評價、金融分析、宏觀經濟預測,銷售預測和成本分析等領域應用非常廣泛的統計分析和預測軟件,其前身是時間序列回歸軟件TSP。TSP軟件基于DOS的操作系統,EViews軟件在Windows環境下運行,更多地使用菜單和窗口方式,操作直觀,界面友好,很多視窗操作都使用默認,使本來復雜的數據分析過程變得易學易用[1~4]。
盡管如此,在應用時也是困難重重的,還需要技巧。例如,作者用B-J法對1993年1月至2007年12月的中國消費品零售總額(月度數據,數據來自《中華人民共和國國家統計數據庫》,http://219.235.129.54/cx/index.jsp)建立ARIMA模型。觀察圖形時發現數據具有季節性,于是應該建立SARIMA模型。建模時是先進行季節差分還是進行常規的一階差分?預測時采用默認預測范圍還是要改變預測范圍?這都是問題,是初學者要花很多時間才能弄清楚的問題[1~4]。
現將探索到的技巧托出,供養各位同仁,惟愿各位同仁得到真實利益。
二、建立中國消費品零售總額的SARIMA模型
(一)觀察序列圖的趨勢
先作原序列中國消費品零售總額ccs的線圖,前后波動幅度不一致,知道數據存在異方差。作對數變換并令變量名為lncc。由lnccs的線圖知道前后波動幅度基本一致,可以認為lncc的方差是齊性。下面對序列lnccs建立ARIMA模型,其模型可以用于對序列進行分析,也可以用于預測。
(二)建立SARIMA模型
1.模型一。由lncc的線圖可知,序列具有季節性且非平穩的,對lnccs實施差分以平穩化:Series dlnccs=dlog(ccs,1)。得到lncc一階差分序列dlncc。對其進行平穩性檢驗(單位根檢驗),檢驗結果:dlnccs是平穩的。結合多種模型選擇原則,對平穩序列dlnccs選定的ARMA模型如下:
dlnccst=-0.4195dlnccst-1+0.9311dlnccst-12+0.4297dlnccst-13+
εt-0.2641εt-2-0.6147εt-12+0.3998εt-14-0.1380εt-20(1)
其中,各參數的P值prob均<0.01,{εt}為白噪聲序列。其中模型的確定系數R2=0.864 5是較理想的; DW=1.920 4,說明其殘差檢驗基本通過,再者模型(1)殘差的相關圖全部落隨機區間(略),所以殘差近似服從白噪聲分布。AIC=-4.229,S.E=0.0286,Log likelihood=358.0099。其中稀疏系數表示了圖中呈現的季節性,季節步長為12。即log(ccs)~稀收系數的ARIMA(13,1,18)。稀疏系數的選擇,根據序列的相關圖,選擇超出隨機區間的項予估計之。
2.模型二。如模型(1),序列{dlnccst}呈現了步長為12的季節性,因此根據EViews幫助文檔以及易丹輝[1,P145.]、高鐵梅[2,P165.]提出模型(1)可以用如下的命令估計
LS DLOG(CCS,1) AR(1) SAR(12) MA(2) SMA(12)
所得結果如下
dlnccst=-0.3484dlnccst-1+0.9555dlnccst-12+εt-0.2703εt-2
-0.6420εt-12(2)
其中,各參數的P值均有prob<0.01,{εt}為白噪聲序列。其中模型的確定系數R2=0.8464是較理想的;其中DW=2.0318,說明其殘差檢驗基本通過,再者模型(2)殘差的相關圖(略)全部落隨機區間,所以殘差近似服從白噪聲。AIC=-4.158,S.E=0.0299,Log likelihood=349.136。所以模型(2)也是適宜的,它比模型(1)更簡潔,但是根據模型選擇的各種準則,模型(2)沒有模型(1)優。
3.模型三。由lncc的線圖觀察到了序列的季節性,由此也可能想到對季節序列的一般方法:先對其季節差分序列slnccs=dlog(ccs,0,12)建模,但此序列是非平穩的,而其一階差分序列是平穩的。所以根據常規可以對上述序列的階差分序列dslnccs=dlog(ccs,1,12)建立ARMA模型。篩選得模型(3)。
dslnccst=-0.4068dslnccst-1-0.3003dslnccst-2-0.5798dslnccst-12-0.1361dslnccst-13-0.2949dslnccst-24(3)
其中各參數的P值prob均<0.05,{εt}為白噪聲序列。其中模型的確定系數R2=0.4736太小了,不是較理想的;其中DW=2.0318,說明其殘差檢驗基本通過,再者模型(3)殘差的相關圖(略)全部落隨機區間,所以殘差近似服從白噪聲。AIC=-4.0385,S.E=0.03158,Log likelihood=293.7540。由此可以看到,模型(3)雖然也是適宜的,但是根據各種準則,模型(3)沒有模型(1),(2)優良。但原因是什么呢?可能是“過差分”的原因。dslnccs=dlog(ccs,1,12)實際上是對log(ccs)進行了兩次差分:
dslnccs=dlog(ccs,1,12)=(1-L)(1-L12)log(ccs)
其中,L是滯后算子。所以形成如下規律:
對于只有一個單位根(一階差分平穩)的序列,即使原序列有季節性,也只能對一階差分擬合ARMA模型,而其季節性可以用稀疏系數反映。即模型(1)和模型(2)的形式。
所以,在對中國消費品零售總額的對數序列建模型時,模型的選擇應是稀疏系數的的ARIMA模型。
三、基于EViews的預測
(一)預測技巧1
1.用原序列建立模型。在EViews中 ,為了對原序列進行預測,必須對原序列建模,否則在預測多期數據時,要用方程逐步地算,很復雜。對原序列建立模型(1)、(2)、(3)的命令分別為
LS DLOG(CCS,1) AR(1) AR(12) AR(13) MA(2) MA(12) MA(14) MA(18)(4)
LS DLOG(CCS,1) AR(1) SAR(12) MA(2) SMA(12)(5)
LSDLOG(CCS,1,12) AR(1) AR(2) AR(12) AR(13) AR(24)(6)
分別以名字EQ01、EQ02、EQ03表示模型(1)、(2)、(3)的方程?;贓Views的預測,可以在命令行用命令:eq01.forecast ccsf1。也可以用菜單操作之。打開eq01的窗口,點擊forecast即可打開預測對話框(如圖1)。預測對話框的左上角有兩個選擇,一者對原序列CCS進行預測,二者對方程的響應變量DLOG(CCS,1)進行預測。若不用原序列重建方程,而用差分后的序列如模型(1)的命令
Ls DLNCCS AR(1) AR(12) AR(13) MA(2) MA(12) MA(14) MA(18)(7)
則選擇只有一項:預測DLNCCS。所以,我們在探索模型時,要逐步進行數據差分變換,在預測階段,要用原序列重建模型,以便用EViews進行預測。
2.擴展樣本范圍。為了預測未來,還需要擴展時間范圍。例如為了預測2008年各月份的中國消費品零售總額,擴展時間的命令是:Expand 1993.01 2008.12。在擴展時間范圍后,打開預測對話框。在對話框中,大多數同仁選擇動態預測“Dynamic”,將Sample range for forecast修改為”1993:012008:12”。點擊”ok”即可[1~4]。但這種預測通常是不精確的。
(二)基于EViews的兩種預測
EViews有兩種預測方法:Dynamic和Static(如上圖1),有兩種選擇Dynamic或Static。
Dynamic預測方法:用滯后被解釋變量的前一個時期的預測值對預測區間(樣本范圍的第一期除外)的各項進行預測。即是逐步迭代的。從“sample range for forecast” 的第一期開始迭代。如圖4的CCSF1是從樣本的第二期開始預測并迭代的,所以到最后就預測誤差大。
Static預測方法:它是指運用真實值來進行預測。所以這種預測方法只能預測超前一期的值。
如圖2,對中國消費品零售總額序列CCS的預測,CCSF1是動態預測(Dynamic),而CCSF1S是靜態預測(Static)。
CCS的圖形是下凸的,這種數據的動態預測偏差大,如圖2方程EQ01(模型(1))的動態預測與原始數據的比較圖。CCSF1S是靜態預測圖,基本與原始值CCS重合。而動態預測值(CCSF1)越往后越偏大。
圖3是模型(1)、模型(2)與模型(3)的動態預測值的比較,CCSF1是模型(1)的動態預測值,CCSF2是模型(2)的動態預測值,CCSF3是模型(3)的動態預測值。顯然模型(3)的動態預測值的后期偏離很大。這種動態預測是不可取的。
(三)預測技巧2
根據時間序列的條件預測原理,設已知樣本y1,y2,…,yT,則預測值:
=Y,(t=1,2,…,T);=f(y,y,…,y,,…,),(t>T)
其中f(·)表示模型的方程。于是我們從t=T+1期開始預測即可。仔細觀察預測對話框圖2,“Sample range for forecast”即是要預測的樣本范圍,所以為了要得到中國消費品零售總額在2008的預測值,“Sample range for forecast”應改為“2008:012008:12”,即真實預測范圍。實施方法(如圖4)。
如圖5,是方程eq01即模型(1)的三個預測序列:原序列CCS,CCSF1S是靜態預測序列,CCSF是改變樣本范圍的動態預測。在t≤T=180(15×12)時是重合的,陰影部分是CCSF的樣本外預測,是改變樣本范圍的動態預測值。表1是模型(1)、模型(2)預測精度分析。
表1 也驗證了2.2.2節的結論:模型(2)沒有模型(1)優。
四、結論
1.關于季節差分的問題。對于一階差分平穩的非平穩序列(只有一個單位根),即使原序列有季節性,也只能對一階差分擬合ARMA模型,而其季節性可用“稀疏系數”反映,其模型是稀疏系數的ARIMA模型。如果按常規,先進行季節差分,而季節差分又不平穩,所以還要進行一階差分再建立ARMA模型,就會產生“過差分”的問題,如模型(3)就不適宜的模型。
2.關于EViews的動態預測問題。EViews的靜態預測(Static)只能得到樣本外一期的預測值,如果欲得到多期的預測值,就要用動態預測(Dynamic)。如果預測范圍仍然從樣本的第一期開始,經過多次迭代到后期勢必會預測誤差增大。特別是下凸的序列,預測誤差很大。作者探索的結論是:不默認“Sample range for forecast”起始值,而是將“Sample range for forecast”的值修改為“真實”的預測范圍。例如,本文作者欲預測2008年各月份的中國消費品零售總額,則“Sample range for forecast”的值修改為“真實”的預測范圍:“2008:01 2008:12”。而不是文獻[1~4]中默認的“1993:01 2008:12”。
參考文獻:
[1]易丹輝.數據分析與EViews應用[M].北京:中國人民出版社,2008.
[2]高鐵梅.計量經濟分析方法與建模[M].北京:清華大學出版社,2008.
[3]張曉峒.計量經濟學軟件EViews使用指南[M].天津:南開大學出版社,2003.
[4]田應福,基于EViews的ARIMA模型及其預測——以貴州省人口時間序列為例[J].貴州大學學報(自),2008,(5)(增刊二).