投資のためのデータサイエンス

個人の投資活動に役立つデータ分析にまつわる話題を綴ります。

Pythonで学ぶ統計学(10):予測のための時系列データの統計モデル化(ARIMAモデル)(その1)

時系列データの統計解析に関しては、2014年11月29日の本ブログの記事で、主として経済時系列を想定した単位根検定と共和分の話を書きました。ここでは、あらゆる分野の時系列データの予測のための統計モデル構築に利用されているARMAモデルあるいはARIMAモデルについて、その概要とPythonによる分析事例を紹介します。

期間 t=1,2,\cdots,Tで観測される時系列データをY_1,Y_2,\cdots,Y_Tと表します。この系列の平均と分散を以下のように記述します。

 \displaystyle E[Y_t]=\mu _t,\ \ V[Y_t]=\sigma _{t}^{2}

また、この系列の異なる時点の値同士の関連を表す自己共分散と自己相関を以下のように記述します。

 \displaystyle Cov[Y_t,Y_{t-h}]=\gamma _{t,h},\ \ \rho [Y_t,Y_{t-h}]=\frac{Cov[Y_t,Y_{t-h}]}{\sqrt{V[Y_t]V[Y_{t-h}]}}=\rho _{t,h}

共分散定常過程(弱定常過程)
系列 Y_t が以下を満たすとき、共分散定常過程(弱定常過程)であるといいます。

 \displaystyle E[Y_t]=\mu \  \ (-\infty \lt \mu \lt \infty )
 \displaystyle Cov[Y_t,Y_{t-h}]=\gamma _{|h|} \ \ (0 \lt V[Y_t]=\gamma _0 \lt \infty )

定常な時系列とは、月別アイスクリーム売上高のような季節性や株価のような上がりっぱなしや下がりっぱなしのトレンドがなく、同じ値のまわりを動くような系列です。(弱)定常性は時系列の統計モデル化にあたっての基本です。定常でない場合は階差をとるなどした系列をモデル化します。

ホワイトノイズ
共分散定常過程で平均が0、 h\neq 0 のすべての自己共分散が0である場合、ホワイトノイズといいます。一般的には乱数表から順に数値をとってきて系列化したような、規則性がなく周期やトレンドもない系列を意味します。

自己回帰(AR)過程
以下の式で表される系列をp次の自己回帰過程あるいはAR(p)過程といいます。

 \displaystyle Y_t=c+\phi _{1}Y_{t-1}+\phi _{2}Y_{t-2}+\cdots +\phi _{p}Y_{t-p}+U_t

ここで U_t はホワイトノイズです。これはある時点の値がその直近の過去の値の影響をうけている系列です。

移動平均(MA)過程
以下の式で表される系列をq次の移動平均過程あるいはMA(q)過程といいます。

 \displaystyle Y_t=\mu+U_{t}+\theta _{1}U_{t-1}+\theta _{2}U_{t-2}+\cdots +\theta _{q}U_{t-q}

ここで U_t はやはりホワイトノイズです。これも式からわかるように、時間的に隣り合った値は同じホワイトノイズ項を含んでいるので、関連性があります。

自己回帰移動平均(ARMA)過程
上の2つの過程の特性を両方組み込んだ、以下の式で表される系列を(p,q)次の自己回帰移動平均過程あるいはARMA(p,q)過程といいます。ARMAは「アーマ」と読むことも多いです。

 \displaystyle Y_t=c+\phi _{1}Y_{t-1}+\cdots +\phi _{p}Y_{t-p}+U_t+\theta _{1}U_{t-1}+\cdots +\theta _{q}U_{t-q}

自己回帰和分移動平均(ARIMA)過程
上記ARMA過程は時系列のさまざまな変動パターンを表せることが知られていますが、基本的に定常な時系列に限られます。現実には株価や年間GDPの推移など原系列は定常ではないが階差をとると定常になるケースは多くあります。階差をとった系列をARMAモデル化したものを自己回帰和分移動平均(ARIMA)過程といいます。
ARIMAは「アリマ」と読むのが普通です。 Y_t の一回階差をとった系列 \Delta Y_t がARMA過程に従うARIMA(p,1,q)過程は以下の式で表されます。

 \displaystyle \Delta Y_t=\phi _{1}\Delta Y_{t-1}+\cdots +\phi _{p}\Delta Y_{t-p}+U_t+\theta _{1}U_{t-1}+\cdots +\theta _{q}U_{t-q}