ARIMAについての感覚的な理解(1/2)
最近ずっと時系列解析について調べています。
その基礎の中に「ARIMA」というモデルがあります。 ARIMAは「Autoregressive Integrated Moving Average」、日本語で言うと「自己回帰和分移動平均」というモデルです。
はあ?なにそれ?
ARIMAモデルは次の3つのモデルを合わせたモデルであるために、よくわからない名前になっています。
- Autoregressive model 自己回帰モデル
- Moving Average model 移動平均モデル
- Integrated model 和分モデル
それぞれはAR、MA、I、という略称で呼ばれ、また、それぞれは1つのパラメタを取ります。
ARはp、MAはq、Iはd
これらを合わせたARIMAモデルは、3つのパラメタを取ることになり、ARIMA(p, d, q)
と記述されます。
私は、ARIMAの理解に手こずったのはそもそもこの3つのモデルをきちんと、数式面だけではなく、納得できてなかったからです。 2回の分けてこれらを平易な言葉と数式の2面から理解し、最終的にはARIMA、さらには季節性を加味したSeasonal ARIMA, SARIMAについて理解する手助けになれるようにまとめてみます。
1. ARモデル
自己回帰モデルは、「現在の値は過去の値によって記述できる」というモデルです。 記述できる、と表現しましたが、端的な例を挙げると、今日、大きな値であった場合は、明日もきっと(正負にかかわらず)大きな値を取る、ということになります。
このモデルは数式から理解したほうが平易だと思いますので次に数式を示します。
はp個のパラメタになります。の値は、p個前までのそれぞれのの値をで重み付けした値にノイズを加えたものになります。
ここでのノイズは、平均・分散が時間によって変化しない、定常過程を仮定しています。 一般的には、ホワイトノイズを言います。
過去pまでの値によって現在の自身の値が決まる=自己が回帰している、という意味で、次元pの自己回帰モデル、と呼ぶわけです。
このモデルで生成した例を上げておきます。
上から順にpを1, 2, 3とし、赤がモデルによって生成された時系列、薄い黒がその時のノイズで、同じ条件で4つずつ生成してみました。
これだけでも「過去の値に影響を受けている」という感じがつかめるかと思います。 すべての値が正だったりすると、ポジティブフィードバック回路となり発散しますがその例も再現されています。
2. MAモデル
上で挙げたように、ARモデルはわかりやすいのですが、MAモデルはちょっと直感的な理解が難しいモデルです。
数式に直すと
と記述されます。
線形回帰の一つで、現在の値は、「q個前までの過去のノイズの重み付き和と現在のノイズ、これに平均値を足しあわせたもの」で表現されることを示しています。
直感的に理解しづらいのですが、「過去、ノイズが大きかった場合」は、「現在の値もの重み付けを受けるものの大きく変化する」ことを意味しています。その意味で、現在の値が過去の移動平均で表現される意味でこのモデルの名前になっています。
このモデルを、MA(q)と呼びます。
3. ARMAモデル
和分モデルの前に、ARMA(自己回帰移動平均)モデルについて説明します。
ARMAは、上記2つのモデルによって現在の値を記述することが可能だ、というモデルです。
準備
下記のように作用する演算子
を「ラグ演算子」とします。 これは、一つ過去の要素に変形する作用素です。つまりのi乗を作用させると、i個以前の値ということになります。
これを導入するとAR(p)モデルは、
と記述することができます。 両辺のをまとめて、最終的には、AR(p)モデルは
と変形することができます。
MAにも同様にラグ演算子を適用すると
として記述することができます。
ARMA(p, q)
ARとMAの両者を合わせると、
というように「p個以前の過去の値」と「q個以前のノイズの値」によって現在の値を記述することができるモデルになり、これをARMA(p,q)と呼びます。
先ほどのラグ要素を適用することで、
を経て
という形式で記述します。
まとめ
ARは直感的に理解しやすいのですが、MAはなんとなく直感的ではありません。 ですが、「過去のブレが現在の値に大きな影響を及ぼす」→「過去大きく平均からずれた場合には現在も大きくぶれる可能性が高い(符号変化はありえる)」というのは感覚として理解しやすいのではないかと思います。
今日はここまでで次回、I(和分)モデルについて説明した後、ARIMAとSARIMAについて説明したいと思います。