時系列データの分析や未来予測に使われる代表的なモデルにARIMAモデルがあります。
ARIMAは一見複雑ですが、いくつかの要素に分けて理解することができます。
このページでは、ARIMAとその構成要素(自己回帰モデルAR、差分化モデルI、移動平均モデルMA)について解説します。
ARIMAとは
ARIMAは時系列データの分析や予測に使われるモデルです。
ARIMAはAutoRegressive Integrated Moving Averageの略です。
日本語では自己回帰和分移動平均モデルといいますが、日本語でもARIMAとよばれることが多いです。
ARIMAは時系列データを3つの要素(自己回帰(AR)、差分化(I)、移動平均(MA))に分けて表現しています。
自己回帰(AR)とは時刻 $ t $ のデータの値がその直前の時刻 $ t -1, t-2, \cdots $ の値の影響を受けることであり、〇期前の過去データの値から未来のデータの値を説明します。
一方、移動平均(MA)は過去データに依存しない摂動(ばらつき)を指し、ホワイトノイズの線形和で値を説明します。
ARとMAを組み合わせたモデルをARMAといいます。
ARMAは原系列(元データ)に直接ARモデルを適用するため、元データが定常性を有する場合しか使用できません。
そこで、非定常過程を定常過程へ変換する要素がI(差分化モデル)です。
非定常な時系列データであっても、前後の値の差分をとる差分化を行うと、差分化後のデータは定常過程と見なせる場合がしばしばあります。
この差分化に相当するのがARIMAのIです。
差分化(I)のおかげで、ARMAとは異なりARIMAでは非定常データも扱うことができます。
ちなみに、SARIMAはARIMAに対して季節性(Seasonality)の要素を追加したものです。
SARIMAまたは季節性ARIMAとよばれることが多いです。
SARIMAに対して季節性を考慮しないARIMAを非季節性ARIMAとよぶこともあります。
ARIMAの構成要素
この項目では、ARIMAを構成する各要素(AR, I. MA)について説明するとともに、ARIMAに季節性の要素を追加したSARIMAのS(季節性)についてもふれます。
AR(自己回帰)
自己回帰モデル(AR, AutoRegressive model)は、時刻 $ t $ における値が $ t $ 以前の時刻での値に依存する確率モデルです。
自己回帰モデルでは、何回前のデータまで参照するか(次数)が変数になります。
たとえば、$ p $ 回前のデータまで参照する自己回帰モデルは $ p $ 次の自己回帰モデルといい、$ AR(p) $ モデルと書きます。
$ AR(p) $ モデルでは、時刻 $ t $ におけるデータの値 $ y_t $ は数式を用いて以下のように表現されます。
$ y_t = c + \phi_1 y_{ t-1 } + \phi_2 y_{ t-2 } + \cdot + \phi_p y_{ t-p } + \epsilon_t $
ここで $ c $ は定数項、$ \phi_i $ は時刻 $ t-i $ におけるデータの値 $ y_{ t-i } $ のウェイト、$ \epsilon_t $ は時刻 $ t $ における誤差項(ホワイトノイズ)です。
一般化した式は一見重回帰の様ですが、予測変数 $ y_t $ のラグ値になっています。
自己回帰モデルを使用することで、時系列データの値が直前の時刻の値に影響される性質を表現できます。
MA(移動平均)
移動平均モデル(MA, Moving Average model)は、時刻 $ t $ における値を過去データの予測誤差(ホワイトノイズ)を足し合わせて表現したモデルです。
いわゆる移動平均を一般化したモデルであるとともに、ARIMAやARMAにおいて自己回帰の影響がない特別な場合にも相当します。
移動平均モデルにおいても、何回前のデータまで参照するか(次数)が変数になります。
たとえば、$ q $ 回前のデータまで参照する移動平均モデルは $ q $ 次の移動平均モデルといい、$ MA(q) $ モデルと書きます。
$ MA(q) $ モデルでは、時刻 $ t $ におけるデータの値 $ y_t $ は以下のように表現されます。
$ y_t = c + \epsilon_t + \theta_1 \epsilon_{ t-1 } + \theta_2 \epsilon_{ t-2 } + \cdot + \theta_q \epsilon_{ t-q } $
ここで $ c $ は定数項、$ \epsilon_t $ は時刻 $ t $ における誤差項、$ \theta_i $ は$ \epsilon_i $ のウェイトです。
移動平均モデルを使用することで、過去データの値に依存しないランダムな摂動(ホワイトノイズ)に基づくデータの変化を表現できます。
I(差分)
ARIMAモデルにおける $ I $ は差分化モデル(Integrated model)を指します。
非定常性なデータであっても、時系列データの前後の値の差分をとると定常過程になる場合があります。
このように時系列データそのもの(原系列)は非定常であるが、その差分をとると定常過程になる時系列データを単位根過程といいます。
単位根過程は1次和分過程(integrated process)または $ I (1) $ 過程ともよばれます。
これを一般化して $ d $ 回差分をとると定常過程になる非定常過程を $ d $ 次和分過程または $ I (d) $ 過程とよびます。
差分化モデルを含まないARMAモデルでは原系列に定常性を仮定できるデータしか扱えませんでしたが、差分化モデルが含まれるARIMAでは非定常なデータも扱うことができます。
一般化
以上をふまえると、ARIMAモデルを一般化した式は、自己回帰モデル(AR)と移動平均モデル(MA)を組み合わせて以下のように表せます。
$ y'_t = c + \phi_1 y'_{ t-1 } + \phi_2 y'_{ t-2 } + \cdot + \phi_p y'_{ t-p } + \theta_1 \epsilon_{ t-1 } + \theta_2 \epsilon_{ t-2 } + \cdot + \theta_q \epsilon_{ t-q } + \epsilon_t $
ここで $ y $ ではなく $ y' $ を使っているのは差分化モデルが(I)の影響で、原系列ではなく差分系列に対してARとMAを適用しているからです。
このようなモデルは3種類の変数 $ p, d, q $ を使って $ ARIMA(p, d, q) $ モデルといいます。
ここで、$ p $ は自己回帰モデル(AR)の次数、$ d $ は差分化の次数、$ q $ は移動平均モデル(MA)の次数を指します。
次数とは、ARとMAでは何回前のデータまで参照するかを表し、差分化モデル(I)では何回差分をとるかの回数のことです。
以上のような一般化した式を使って様々な時系列データをモデル化して表現できます。
ARIMAの特殊な場合
最後にARIMAの特殊な場合について表でまとめます。
$ ARIMA(p, d, q) $ | モデル | 備考 |
$ ARIMA(0, 0, 0) $ | ホワイトノイズ | 定数項 $ c = 0 $ の場合 |
$ ARIMA(0, 1, 0) $ | ランダムウォーク | 定数項 $ c \neq 0 $ の場合はドリフトつきランダムウォーク |
$ ARIMA(p, 0, 0) $ | 自己回帰 | |
$ ARIMA(0, 0, q) $ | 移動平均 |
参考文献
自己回帰和分移動平均モデル ウィキペディア 2024/6/9閲覧
沖本 竜義「経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)」 朝倉書店(2010)
R. J. Hyndman and G. Athanasopoulos, 予測: 原理と実践 (第3版) 2024/6/9閲覧
時系列分析におけるMAモデル(移動平均モデル)とは 株式会社AVILEN 2024/6/9閲覧
自己回帰モデル ウィキペディア 2024/6/9閲覧
移動平均モデル ウィキペディア 2024/6/9閲覧
PythonでのARIMAモデルを使った時系列データの予測の基礎[前編] ブレインズテクノロジー株式会社 2024/6/9閲覧