時系列分析(ARIMAモデルの紹介)

今回は時系列分析について書いてみたいと思います。

気温や株価のように日々変動するデータ(時系列データ)をモデリングする際、時系列モデルが使われます。
時系列モデルでは以下の手法がよく使われています。

  • Holt-Winters法(指数平滑化)
  • Box-Jenkins法(ARIMA)
  • 状態空間モデル

最近、ARIMAモデル(SARIMAXモデルを含む)について勉強をする機会があったので、今回はこちらを紹介したいと思います。
(長くなってしまったので、今回は時系列モデルとは?という部分の紹介、
次回でモデリングについて書いていきます。)

以下の書籍を参考にしています。

Box-Jenkins法とは

時系列分析のフレームワークのようなもの。
以下の手順でモデリングをする。

  1. データを分析できる形に変換する
  2. ARIMAなどのモデルを適用し、次数を同定(=モデルの形を特定)する
  3. パラメータを推定する
  4. 推定されたモデルを評価する
  5. 予測する

今回はARIMAモデルについて紹介し、次回、各ステップについて見ていきます。

ARIMAモデルとは

自身の過去のデータを用いて将来予測するモデル。
拡張したものにARIMAX,SARIMA,SARIMAXなどがある。
それぞれ、以下を組み合わせたものである。

  • S  :季節性(周期性変動)
    • 夏はビールが売れる、などの影響を考慮できる
  • AR  :自己回帰
    • 過去t期間のデータから受ける影響を考慮できる。
      ARだけのモデルは以下の数式で表される。


y_t = c + \sum_{i=1}^p\phi_iy_{t-i} + \epsilon_t  \epsilon_t \sim N(0, \sigma^2)

  • I   :和分過程への適用
    • 非定常データを分析する際に差分を取る。
  • MA :移動平均
    • 過去t期間の誤差から受ける影響を考慮できる。
      MAだけのモデルは以下の数式で表される。


y_t = \mu + \sum_{j=1}^q\theta_j\epsilon_{t-j} + \epsilon_t  \epsilon_t \sim N(0, \sigma^2)

  • X  :外生変数
    • 回帰分析のように、変数を取り込める。

定常性

定常性、という言葉が出てきたが、ARIMAモデルは定常データに対して適用することを想定している。
定常性の定義は以下の通り。


\begin{eqnarray} E(y_t) &=& \mu \\
Cov(y_t,y_{t-k}) &=& E[(y_t - \mu)(y_{t-k} - \mu)] = \gamma_k \end{eqnarray}

期待値が地点tによらず一定であり、共分散も地点によらず、時間差kにのみ依存する、ということを示している。
(k=0の場合は分散となり、地点によらず一定である。)

定常性を持たないデータ(上昇トレンドがあるデータなど)を当てはめる場合は、地点間の差分を取るなどして、定常データにしてから当てはめを行う。
(一階の差分系列で定常にならない場合はさらに差分を取り、二階の差分系列で当てはめを行う。)

モデルの表記

何地点前までのデータを使うか、差分を何回取るかにより、同じARIMAモデルでもモデルの形が異なる。一般的に、添え字p,d,qを用いて以下のように表現する。


ARIMA(p,d,q)

pはARの次数、dはIの次数、qはMAの次数を表す。

SARIMAモデルの場合、季節調整のために、さらにP,D,Q,sを追加して、以下のように表現する。


SARIMA(p,d,q)(P,D,Q)[s]

P:P周期前までのデータを参考にする
D:D階差分を取る
Q:Q周期前までの誤差を参考にする

おわりに

今回は、ARIMAモデルとは?という部分を紹介しました。
次回、対象データの定常性を確認し、上に挙げたようなp,d,qなどの次数を特定した後、モデリングを行うところまで確認していきたいと思います。