始める無料で始める

MAモデルでの予測

ARモデルのときと同様に、statsmodels の plot_predict() 関数を使って、サンプル内とサンプル外のデータを予測します。

\(\small \theta=-0.9\) のシミュレーション系列 simulated_data_1 について、サンプル内とサンプル外の予測をプロットします。MA(1) モデルと AR(1) モデルのサンプル外予測の大きな違いとして、MA(1) では2期先以降の予測がサンプルの平均そのものになる点に注目してください。

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

Pythonで学ぶ時系列解析

コースを見る

演習の手順

  • クラス ARIMA をインポートし、関数 plot_predict もインポートします
  • シミュレーションデータ simulated_data_1 を用い、モデルの (p,d,q)(この場合は MA(1))として order=(0,0,1) を指定し、ARIMA クラスのインスタンス mod を作成します
  • .fit() メソッドでモデル mod を推定し、結果オブジェクト res に保存します
  • データ点 950 からサンプル内データをプロットします
  • plot_predict() 関数を使い、データ点 950 から開始し、1010 で終了するサンプル外予測と信頼区間をプロットします

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

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

# Import the ARIMA and plot_predict from statsmodels
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.graphics.tsaplots import plot_predict

# Forecast the first MA(1) model
mod = ARIMA(___, order=___)
res = mod.fit()

# Plot the data and the forecast
fig, ax = plt.subplots()
simulated_data_1.loc[950:].plot(ax=ax)
plot_predict(res, start=___, end=___, ax=ax)
plt.show()
コードを編集して実行