以下のサイトを参考に、状態空間モデルのstatsmodelによる実装を学ぶ

Pythonによる状態空間モデル

ローカルレベルモデルによる推定

ローカル線形トレンドモデルの推定

パラメータの指定を 'local level' から 'local linear trend'に変更するだけ

上記結果で、3つ目のトレンドグラフを見ると周期性がみられるので、周期性(季節)をモデルに組み込む。

上記モデルに、季節変動を取り込む

引数に、seasonal=12 と指定するだけで12か月単位の周期を表せる

せっかくなので、ローカルレベルとローカル線形トレンドモデルの両方に季節変動を組み込む

季節変動ありのローカル線形トレンドモデル

forecast()メソッドの使い方

forecast()で、次の時点の予測、steps= で、何時点先まで予測するか指定できる

get_forecast()メソッドで、信頼区間も求められる