LoginSignup
2
4

More than 3 years have passed since last update.

時系列分析4 SARIMAモデルの構築

Last updated at Posted at 2020-10-29

Aidemy 2020/10/29

はじめに

 こんにちは、んがょぺです!バリバリの文系ですが、AIの可能性に興味を持ったのがきっかけで、AI特化型スクール「Aidemy」に通い、勉強しています。ここで得られた知識を皆さんと共有したいと思い、Qiitaでまとめています。以前のまとめ記事も多くの方に読んでいただけてとても嬉しいです。ありがとうございます!
 今回は、次系列分析の4つ目の投稿になります。どうぞよろしくお願いします。

*本記事は「Aidemy」での学習内容を「自分の言葉で」まとめたものになります。表現の間違いや勘違いを含む可能性があります。ご了承ください。

今回学ぶこと
・SARIMAモデルの構築

SARIMAモデルについて

SARIMAモデルとは、データを階差系列に変換するARIMA(p,d,q)を、更に季節周期を持つ時系列にも対応できるようにしたモデルのことである。
・SARIMAモデルでは、SARIMA(sp,sd,sq,s)というパラメータを持つ。

sp,sd,sq

sp,sd,sqはそれぞれ「季節性自己相関」「季節性導出」「季節性移動平均」といい、ARIMAのp,d,qと基本的には変わらない。
・sp,sd,sqのデータは過去の季節期間を経たデータに影響されるということが加わった。
・SARIMAのもう一つのパラメータである「s」季節周期を表す。12ヶ月周期なら、s=12とすれば良い。
・sqに関しては、影響される「過去の季節期間」が何周期前のものかを表す。

パラメータの決定

・以上のようなパラメータについて、適切な値を調べる必要がある。
・このときに使われるのが、情報量基準というものである。今回はその中でも「BIC」というものを使う。ただし、今回は詳しくは扱わない。
・BICの値が低ければ低いほどパラメータの値は適切であると言える。

自己相関係数/偏自己相関係数の可視化

偏自己相関とは、自己相関を行う二つの値の間のデータの影響を取り除いたものである。
・例えば、y1とy7の偏自己相関は、その間のy2〜y6の影響を除去したものになる。
・この偏自己相関を可視化することによって、パラメータ「s」の最適な値を設定する
・可視化したとき、周期の部分で偏自己相関の値が高くなるので、ここをsの値にすれば良い。

・偏自己相関の可視化(グラフ化)は以下のように行う。
sm.graphics.tsa.plot_pacf(データ)

・コード(ワインの売り上げデータの相関の可視化)スクリーンショット 2020-10-29 14.27.54.png

・結果スクリーンショット 2020-10-29 14.28.23.png

SARIMAモデルの構築

・構築の手順
 ①データ読み込み:pd.read_csv()
 ②データ整理:pd.date_range()
 ③データ可視化:sm.graphics.tsa.plot_pacf()
 ④データ周期(s)把握:④から。
 ⑤s以外のパラメータ設定:BICで把握
--ここから新しい部分--
 ⑥モデル構築:sm.tsa.statespace.SARIMAX().fit()
 ⑦データ予測/可視化:predict() / plt.show()

・⑥モデル構築のSARIMAX()の引数については以下のようになる。
SARIMAX(データ,order=(p,d,q),seasonal_order=(sp,sd,sq,s))

・⑦データ予測のpredict()は以下のようになる。予測開始時だけは時系列データにある時間である必要がある。
モデル.predict("予測開始時","予測終了時")

・一連のコード実行(⑤は行っていない)スクリーンショット 2020-10-29 14.31.57.png

・結果スクリーンショット 2020-10-29 14.32.20.png

まとめ

SARIMAモデルとは、データを階差系列に変換するARIMA(p,d,q)を、更に季節周期を持つ時系列にも対応できるようにしたモデルのことである。
・SARIMAモデルにはパラメータ(sp,sd,sq,s)がある。
・sp,sd,sqはBICという情報量基準を用いて適切な値を調べる。
・sは偏自己相関を図式化して調べる。
・これらのパラメータをsm.tsa.statespace.SARIMAX().fit()に渡してモデルを構築し、predict()で予測を行う。

今回は以上です。最後まで読んでいただき、ありがとうございました。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4