季節時系列に対する自動 ARIMA モデル
動画で学んだとおり、auto.arima() 関数は季節性のあるデータにも使えます。auto.arima() で lambda = 0(対数変換の適用)を指定すると、モデルは変換後のデータに当てはめられ、予測値は元のスケールに逆変換されます。
この種の当てはめたモデルに対して summary() を適用すると、以下のような出力が表示されることがあり、これは \((p,d,q)(P,D,Q)[m]\) に対応します。
ARIMA(0,1,4)(0,1,1)[12]
この演習では、これらの関数を使って、事前に読み込まれている h02 データ(オーストラリアにおけるコルチコステロイド薬の月次売上)をモデリングし、予測します。
この演習はコースの一部です
Rで学ぶ予測入門
演習の手順
- 標準の描画関数を使って、対数をとった
h02データをプロットし、分散が安定しているか確認します。 h02系列に対してlambda = 0を指定して季節 ARIMA モデルを当てはめ、fitに保存します。- 適切なメソッドで当てはめたモデルを要約します。
- モデルで用いられた階差の次数はいくつですか。ラグ1の階差を
d、季節階差をDに代入します。 - 当てはめたモデルを使って今後2年間の予測をプロットします。
hをそれに合わせて設定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Check that the logged h02 data have stable variance
h02 %>% ___ %>% ___
# Fit a seasonal ARIMA model to h02 with lambda = 0
fit <- ___
# Summarize the fitted model
___
# Record the amount of lag-1 differencing and seasonal differencing used
d <- ___
D <- ___
# Plot 2-year forecasts
fit %>% ___ %>% ___