ARIMA モデルでの予測
前の演習の自動選択では、austa データに対して drift ありの ARIMA(0,1,1) モデル、すなわち
\(y_t = c + y_{t-1} + \theta e_{t-1} + e_t\)
が選ばれました。
ここでは、他のさまざまな ARIMA モデルを試して、予測にどのような違いが出るかを確認します。
特定の ARIMA モデルを指定するには Arima() 関数を使います。第1引数 order には、$p$、$d$、\(q\) の値を指定するベクトルを与えます。第2引数 include.constant はブール値で、定数項 $c$(drift)を含めるかどうかを指定します。以下は、drift ありの ARIMA(2,1,2) モデルで usnetelec の予測をプロットするパイプ処理の例です。
> usnetelec %>%
Arima(order = c(2,1,2), include.constant = TRUE) %>%
forecast() %>%
autoplot()
以下の例では、モデルの違いが予測値や予測区間にどのように影響するかに注目してください。austa データはワークスペースに用意されています。
この演習はコースの一部です
Rで学ぶ予測入門
演習の手順
- drift なしの ARIMA(0,1,1) モデルから予測をプロットします。
- drift ありの ARIMA(2,1,3) モデルから予測をプロットします。
- 定数ありの ARIMA(0,0,1) モデルから予測をプロットします。
- 定数なしの ARIMA(0,2,1) モデルから予測をプロットします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Plot forecasts from an ARIMA(0,1,1) model with no drift
austa %>% Arima(order = c(___, ___, ___), include.constant = ___) %>% ___ %>% ___
# Plot forecasts from an ARIMA(2,1,3) model with drift
austa %>% Arima(___, ___) %>% ___ %>% ___
# Plot forecasts from an ARIMA(0,0,1) model with a constant
austa %>% Arima(___, ___) %>% ___ %>% ___
# Plot forecasts from an ARIMA(0,2,1) model with no constant
austa %>% Arima(___, ___) %>% ___ %>% ___