驗證平穩性

以Nile序列擬合ARIMA模型爲案例分析函數

  • 驗證序列的平穩性

驗證平穩性的思路佈局

一、平穩性通常經過時序圖直觀判斷,或者經過ADF(Augmented Dickey-Fuller)統計檢驗來驗證平穩性假定spa

a一、R中 tseries 包中的 adf.test() 可用來作 ADF檢驗,語句爲 adf.test(ts),ts爲檢驗的序列,如過結果顯著,則認爲序列知足平穩性code

二、若是方差不是常數,則須要數據作變換io

三、若有存在趨勢項,則須要對其進行差分ast

a、經過繪製時序圖觀察到各觀測年間的方差彷佛是穩定的,所以無需作數據變換test

b、貌似有趨勢項,因此進行ADF檢驗,差分,而後再ADF檢驗im

> library(forecast)
> library(tseries)
> par(mfrow=c(2,1)) #繪製2*1佈局的圖
> plot(Nile) #繪製時序圖觀察是否平穩,各年間的方差彷佛穩定,所以無需對數據作變換

> adf.test(Nile) #利用adf.test進行驗證平穩性,p value >0.05,不顯著,不平穩,因此須要進行差分

	Augmented Dickey-Fuller Test

data:  Nile
Dickey-Fuller = -3.3657, Lag order = 4, p-value = 0.0642
alternative hypothesis: stationary


> ndiffs(Nile)  #froecast包中的ndiffs找出最有的d(差分次數)
[1] 1
> dNile <- diff(Nile,1)# diff(ts,differences=d)其中d對時序ts的差分次數,默認d=1,可不寫
> plot(dNile)
> adf.test(dNile)      #再用adf.test()進行平穩性驗證

	Augmented Dickey-Fuller Test

data:  dNile
Dickey-Fuller = -6.5924, Lag order = 4, p-value = 0.01  #p value <0.05表示顯著,表示平穩
alternative hypothesis: stationary

Warning message:
In adf.test(dNile) : p-value smaller than printed p-value

 原始序列差分一次(函數默認一階滯後項,即lag=1)並存儲在dNile中,如上圖差分後的序列的折線圖,顯然比原始序列更平穩,對差分後的序列作ADF檢驗,結果顯示顯著,說明序列是平穩的,統計

可繼續下一步選擇模型數據

相關文章
相關標籤/搜索