時系列データ解析 上級編 其の弐 - Prediction: Autoregressive model (2008年05月18日)
時系列データを解析する目的の一つに未来の予測というものがある。 つまり、過去の時系列データの変動から 未来の数値変動を予測するのだ。 代表的なものには天気予報や株値、為替変動の予測がある。 今回と次回の2回にわたって 時系列データの予測に用いられる代表的なアルゴリズムの Autoregressive model と Neural network model について解説する。
今回はまず Autoregressive mode について解説する。 Autoregressive mode では 過去の時系列データに適当な重みをかけ、それらを足し合わせて未来の数値を予測する。 式で書くと下記のようになる[Kantz, H. and Schreiber, T. (2005), P237] [Sprott, J. C. (2006), P245]。
(47)
MとLは 適当に設定し最適な値を経験的に求める必要がある。 Mが遅延埋め込み法(delay embedding method)における埋め込み次元(embedding dimension)、Lが遅延時間(time lag)と考えてもらっても良い。
(47)では1ステップ未来の値しか予測するようにしか書いてないが、予測した値を再帰的に右辺に代入することにより 2,3....ステップと順により未来の値を予測することが可能だ。
(47)を式(13)、(14)で与えられる時系列データ 図-13、図-34 に適用した結果が下の図-35になる。 ここで、M=3、L=1とし、データ32点を用いて係数をフィットし、32ステップ再帰的に予測した。 フィッティングしたパラメータの数は4になる。 緑の実線がオリジナルのデータであり -31≤τ≤0 の32点を用いて(47)の係数 a, bi をフィットした。 赤の実線の -31≤τ≤0 の32点は 係数 a, bi をフィットした結果であり、オリジナルのデータと比較することにより どのくらい精度良く係数がフィットされたかを見ることができる。 赤の実線の 1≤τ≤32 の32点がフィットした係数から予測されたデータだ。 下段のグラフは、フィッティングの誤差(-31≤τ≤0 の32点)と予測誤差(1≤τ≤32 の32点)を示している。
![]() |
![]() |
図-34 |
---|
係数のフィットもまた予測においても 満足のいく結果ではない。 これは式(13)、(14)で与えられる時系列データには2次の項も含まれている事を考えると 当然のように思われる。
同様に R-R Interval データに適用した結果が下の図-35になる。 ここで、M=16、L=1とし、データ64点を用いて係数をフィットし、32ステップ再帰的に予測した。 フィッティングしたパラメータの数は17になる。
![]() |
![]() |
図-35 |
---|
フィッティング精度に関しても 予測データに関しては、まったく話になっていない。
(47)に2次の項も追加して 上記の式(13)、(14)で与えられる時系列データにも応用できるようにした。
(48)
式(13)、(14)で与えられる時系列データ 図-13、図-35 に適用した結果が下の図-36になる。 ここで、M=3、L=1とし、データ32点を用いて係数をフィットし、32ステップ再帰的に予測した。 フィッティングしたパラメータの数は7になる。 極めて良い精度で予測ができている。 まぁ、至極当然。
![]() |
![]() |
図-36 |
---|
同様に R-R Interval データに適用した結果が下の図-37になる。 ここで、M=16、L=1とし、データ160点を用いて係数をフィットし、32ステップ再帰的に予測した。 フィッティングしたパラメータの数は153になる。
![]() |
![]() |
図-37 |
---|
係数のフィッティング精度は (47)を使った場合に比べてわずかに悪くなっているように見える。 予測に関しては、なんとかしようという気持ちは見えるが(笑) まったく追随できていない。 これは R-R Interval データには 本質的に更に高次の項が含まれているためと考えられる。 つまり、(47)や(48)のようなモデルでは R-R Interval データには歯が立たないということだ。