時間序列2擬合檢驗和預測#R
一、擬合
1、自動擬合模型
要使用auto.arima( )函數需要先下載zoo和forecast程序包,並用library調用這兩個程序包。auto.arima()函數的命令格式如下
auto.arima(x, max.p=5, max.q=, ic=)
其中:
-x:需要定階的序列名。
-max.p:自相關系數最高階數,不特殊指定的話,系統默認值為5。
-max.q:自相關系數最高階數,不特殊指定的話,系統默認值為5。
-ic:指定信息量準則。ic有三個選項"aicc","aic"和"bic"。
2、人為設定模型
如果不是通過auto.arima()函數自動定階並自動得到模型的擬合結果,通常我們需要分兩步來完成auto.arima()函數自動完成的工作。第一步就是模型定階,第二步就是參數估計。參數估計通過arima( )函數完成,該函數的命令格式為:
arima(x, order = , include.mean = , method = )
-x:要進行模型擬合的序列名
-order:指定模型階數。order =c(p,d,q),p為自回歸階數,d為差分階數,本章不涉及差分問題,所以d=0,q為移動平均階數。
-include.mean :要不要常數項。include.mean =T需要擬合常數項,這也是系統默認設置。如果不需要擬合常數項,需要特別指定include.mean =F。
-method :指定參數估計方法,默認的是條件最小二乘與極大似然估計結合的方法method="CSS-ML" ,也可以特別指定為極大似然估計方法method="ML", 或者條件最小二乘估計方法method="CSS"。
二、顯著性檢驗
1、參數的顯著性檢驗
調用t分布P值函數pt( )即可獲得該統計量的P值。pt( )函數的命令格式為
pt(t, df=, lower.tail=)
其中:
-t:t統計量的值
-df:自由度
-lower.tail:確定計算概率的方向。如果lower.tail=T,計算Pr(X ≤ x)。反之lower.tail=F,計算Pr(X >x)。對於參數檢驗,如果參數估計值為正,選擇lower.tail=F,如果參數估計值為負,選擇lower.tail=F。
2、方程的顯著性檢驗:
白噪聲檢驗
假如殘差序列的白噪聲檢驗結果顯示,殘差為非白噪聲序列。這意味著擬合模型對信息的提取不夠充分,殘差序列裏蘊含著值得進一步提取的相關信息。這時可以調用tsdiag( )函數,診斷一下殘差序列殘存的相關信息特征。tsdiag( )函數的命令格式為:
tsdiag(object)
其中:
-object:擬合信息文件名。例:x.fit
如果:
我們應該重新定階,重新擬合模型。
三、預測
如果擬合模型通過了白噪聲檢驗,我們可以使用該模型進行序列預測。在下載並調用forecast包之後。我們可以調用forecast( )函數完成預測工作。
forecast( )函數的命令格式為
forecast(object, h = , level=)
其中:
-object:擬合信息文件名
-h:預測期數
-level:置信區間的置信水平。不特殊指定的話,系統會自動給出置信水平分別為80%和95%的雙層置信區間。
使用如下命令可以獲得圖3-21:
時間序列2擬合檢驗和預測#R