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_results と sarima_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()