1. 程式人生 > >時間序列2擬合檢驗和預測#R

時間序列2擬合檢驗和預測#R

logs clas 診斷 mean 噪聲 移動平均 clu 常數 設定

一、擬合

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