始める無料で始める

SARIMA と ARIMA の予測比較

この演習では、季節性のある時系列を予測するときに、ARIMA モデルではなく SARIMA モデルを使うとどのような違いが出るかを確認します。

ARIMA(3,1,2) と SARIMA(0,1,1)(1,1,1)\(_{12}\) の2つのモデルを、Wisconsin の雇用時系列にフィットさせています。これらは AIC に基づいて選ばれた、最良の ARIMA モデルと最良の SARIMA モデルです。

この演習では、これら2つのモデルを用いて今後25か月のダイナミック予測を行い、その期間のホールドアウトデータ wisconsin_test と並べて可視化します。

フィット済みの ARIMA 結果オブジェクトと SARIMA 結果オブジェクトは、それぞれ arima_resultssarima_results として環境に用意されています。

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

Pythonで学ぶARIMAモデル

コースを見る

演習の手順

  • 学習データの終わりから先の25ステップを予測するため、ARIMA モデルの予測オブジェクト arima_pred を作成します。
  • arima_pred から予測の .predicted_mean 属性を取り出し、arima_mean に代入します。
  • 上記の2ステップを SARIMA モデルでも繰り返します。
  • SARIMA と ARIMA の予測、およびホールドアウトデータ wisconsin_test をプロットします。

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

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

# Create ARIMA mean forecast
arima_pred = arima_results.____
arima_mean = arima_pred.____

# Create SARIMA mean forecast
sarima_pred = sarima_results.____
sarima_mean = ____

# Plot mean ARIMA and SARIMA predictions and observed
plt.plot(dates, sarima_mean, label='SARIMA')
plt.plot(dates, arima_mean, label='ARIMA')
plt.plot(wisconsin_test, label='observed')
plt.legend()
plt.show()
コードを編集して実行