首先採取的步驟皆是先畫出資料的圖形。透過圖形的檢驗,
可提供關於資料的一些資訊,
像是趨勢、週期、離群值或者變異等。對時間序列資料有時需要經過變異數平穩的轉換或者差分。常用的轉換如對資料取log或開平方。
計算並檢驗原始資料的ACF(autocorrelation function)及
PACF (partial autocorrelation
function)圖形
。
由資料的ACF及PACF圖形通常可推估
,
及
值。
當
, 檢定所決定的趨勢項
。
ACF:
acf(x,
lag.max = NULL, type = c("correlation",
"covariance", "partial"), plot = TRUE)
。
PACF:
pacf(x,
lag.max, plot, na.action, ...)
。
AR模型:
ar(x,
aic = TRUE, order.max = NULL, method=c("yule-walker",
"burg", "ols", "mle", "yw"))
。
參數說明
:
由圖 3的常態Q-Q圖來看, 資料並不是很符合常態分佈,
因此對原始資料作對數轉換。轉換後的資料由圖 4的常態Q-Q圖可明顯看出較原始資料更符合常態分佈。對經過對數轉換後的數據, 利用“plot”、“ acf”及“ pacf”指令分別畫出時間序列圖、ACF及PACF圖,
如圖 5及圖 6。
加拿大山貓數量的常態Q-Q圖
> qqnorm(tlynx,pch=20,main="Normal Q-Q plot of log(lynx)")
> qqline(tlynx)
> plot(tlynx,main="The natural logarithms of yearly number
of lynx")
> acf(tlynx)
> pacf(tlynx)
由圖 5的序列圖及圖10.6的ACF圖形可粗略 看出其具有週期性,
且週期大約在9至10之間。因為ACF呈現指數下降, PACF在
lag=2或11之後大致都落在水平線之間。經由這些圖形的判斷,
我們決定配適一個AR(
)的模型。利用R中的指令`` ar''
可得圖10.7的結果, R自動配適出AR(11)的模型, 並給出每一係數值。
> sqsunspot<-sqrt(sunspot.year)
> par(mfrow=c(1,2))
> qqnorm(sunspot.year,pch=20,main=expression(paste("
The normal Q-Q plot",Z[t])))
> qqline(sunspot.year)
> qqnorm(sqsunspot,pch=20,main=expression(paste("
The normal Q-Q plot",sqrt(Z[t]))))
> qqline(sqsunspot)
par(mfrow=c(1,1))
> plot(sqsunspot,main=expression(paste("The time plot of ",
+ sqrt(Z[t]))))
> par(mfrow=c(1,2))
> acf(sqsunspot)
> pacf(sqsunspot)
由圖 12之ACF可約略看出資料具有週期性, 在一些文獻探討中,
提出週期可能為11。故先將資料去除週期性, 利用“diff”指令對資料作差分, 差分後可畫出時間序列圖、ACF及PACF圖,
如圖 15及圖 16。
最後考慮ARIMA(2,0,0)
(1,1,0)
模型, 利用“ arima”指令來配適太陽黑子資料 , 結果如圖
經差分後, 太陽黑子時間序列圖