Python 時系列分析

【Python】SARIMAモデルによる時系列予測をやってみる

この記事は約3分で読めます。

 

 

こんにちは、ミナピピン(@python_mllover)です。今日はPythonで時系列モデルの一種であるARIMAモデルを実装して時系列データ予測をしてみたいと思います。

 

使用するデータ

 

今回使用するデータはお馴染みの航空機の乗客データです。アイスクリームの売上データと同じで周期性が明確なのでサンプルにはうってつけです。

 

# ライブラリをインストールする 
$ pip install pydse

 

# ライブラリの読み込み 
import numpy as np 
from pydse import data 
import matplotlib.pyplot as plt
%matplotlib inline 

df = data.airline_passengers() 
df.plot()

 

 

SARIMAのモデルの概要と特徴

 

SARIMAモデルは、ARIMAモデルに季節変動の要因を組み込んだ時系列モデルです。このSARIMAモデルもARIMAモデルと同様に定常過程でないデータに対しても当てはめることが可能です。

 

SARIMAモデルで時系列分析する

 

まずは残差をプロットしてみます。

 

import statsmodels.api as sm 

# モデルをデータに当てはめる
sarima_model = sm.tsa.SARIMAX(df['Passengers'], order=(3,1,2), seasonal_order=(1,1,1,12)).fit()

# 残差をプロット
plt.plot(sarima_model.resid)

 

 

SARIMAモデルでの時系列予測

 

一応SARIMAモデルでの予測もやってみましょう。

 

predict = sarima_model.predict('1960-01-01', '1962-12-01')

# 元データと予測データをプロット
plt.plot(df['Passengers']) 
plt.plot(predict)

 

 

季節成分を考慮したモデルであるためARIMAモデルよりもいい感じの予測できていますね。

 

 

⇒ 【Python】MAモデルによる時系列予測をやってみる

⇒ 【Python】VARモデルによる時系列予測をやってみる

⇒ 【Python】ARIMAモデルによる時系列予測をやってみる

 

 

 

コメント

タイトルとURLをコピーしました