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