始める無料で始める

推定したMAモデルからのシンプルな予測

Nile データで MA モデルを推定できたので、次はそのモデルを使って簡単な予測を行います。他の種類のモデルと同様に、推定した MA モデルから単純な予測を作るには predict() 関数を使います。予測値は $pred、その予測に対応する標準誤差は $se に格納され、いずれも当てはめた MA モデルに基づきます。

最後の観測以降の複数期間について予測したい場合は、predict() の呼び出しで n.ahead = h 引数を使います。予測は、観測時系列の末尾から1期先からh期先まで、逐次的に行われます。ただし、1期先予測を除き、MAモデルからのすべての予測は推定された平均(intercept)と等しくなる点に注意してください。

この演習では、Nile データから得た MA モデルを使って、今後のナイル川流量を簡単に予測します。前の演習で作成した MA モデルは環境に用意されています。

この演習はコースの一部です

Rで学ぶ時系列分析

コースを見る

演習の手順

  • predict() を使って、1971年のナイル川流量を予測し、結果を predict_MA に保存します。
  • predict_MA$pred[1] を用いて 1 期先予測を取得します。
  • もう一度 predict() を呼び出し、1971年から1980年までの予測を作成します。その際、n.ahead 引数を 10 に設定します。
  • 用意されたコードを実行して、Nile の時系列に予測値と 95% 予測区間を重ねてプロットします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Make a 1-step forecast based on MA
predict_MA <-

# Obtain the 1-step forecast using $pred[1]


# Make a 1-step through 10-step forecast based on MA


# Plot the Nile series plus the forecast and 95% prediction intervals
ts.plot(Nile, xlim = c(1871, 1980))
MA_forecasts <- predict(MA, n.ahead = 10)$pred
MA_forecast_se <- predict(MA, n.ahead = 10)$se
points(MA_forecasts, type = "l", col = 2)
points(MA_forecasts - 2*MA_forecast_se, type = "l", col = 2, lty = 2)
points(MA_forecasts + 2*MA_forecast_se, type = "l", col = 2, lty = 2)
コードを編集して実行