R の使い方その4
時系列分析
□ ARIMA モデル(自己回帰和分移動平均モデル)の推定
パッケージの読み込み(ロード)
> library("fArma")
> library("forecast")
システムにインストールされていない場合は、CRAN からダウンロードして
インストールする必要がある。
> install.packages("fArma")
> install.packages("forecast")
> library("fArma")
> library("forecast")
解析用に次の1階の ARIMA モデルに従うデータを作成し、y に保存する。
Δy_t = 0.8 Δy_{t-1} - 0.6 Δy_{t-2} + 0.7 Δy_{t-3}
+ u_t - 0.5 u_{t-1} + 0.6 u_{t-2}
> set.seed(100)
> y <- armaSim(n = 200, model = list(ar = c(0.8, -0.6, 0.7), d = 1,
ma = c(-0.5, 0.6)), n.start = 300)
> ts.plot(y)
最初の 300 個のデータは捨て、最終的に 200 個のデータを保存する。
自己相関係数を図示する。
> acf(y)
前後のデータの差分を求め、その自己相関係数を図示する。
> ts.plot(diff(y))
> acf(diff(y), na.action = na.omit)
AIC (赤池情報量基準)で最適な ARIMA モデルを推定する。
> auto.arima(y)
推定結果が ARIMA(3,1,3) となったので、パラメータの推定とフィッティングを
行う。
> fit <- armaFit(~ arima(3,1,3), data = y)
推定結果の詳細を画像を含めて表示する。
> opar = par(mfrow = c(2,2), cex = 0.7)
> summary(fit)
推定したモデルの出力とデータ y を比較する。
> par(opar)
> ts.plot(fitted(fit), y, col = c(3, 1))
モデルの出力が緑色で、データ y は黒色で図示される。
> dev.off()
GNU R
naniwa@rbt.his.u-fukui.ac.jp