時系列データ解析 上級編 其の弐 - Prediction: Autoregressive model (2008年05月18日)

時系列データを解析する目的の一つに未来の予測というものがある。 つまり、過去の時系列データの変動から 未来の数値変動を予測するのだ。 代表的なものには天気予報や株値、為替変動の予測がある。 今回と次回の2回にわたって 時系列データの予測に用いられる代表的なアルゴリズムの Autoregressive modelNeural network model について解説する。

今回はまず Autoregressive mode について解説する。 Autoregressive mode では 過去の時系列データに適当な重みをかけ、それらを足し合わせて未来の数値を予測する。 式で書くと下記のようになる[Kantz, H. and Schreiber, T. (2005), P237] [Sprott, J. C. (2006), P245]

(47)

MLは 適当に設定し最適な値を経験的に求める必要がある。 Mが遅延埋め込み法(delay embedding method)における埋め込み次元(embedding dimension)L遅延時間(time lag)と考えてもらっても良い。

(47)では1ステップ未来の値しか予測するようにしか書いてないが、予測した値を再帰的に右辺に代入することにより 2,3....ステップと順により未来の値を予測することが可能だ。

(47)を式(13)、(14)で与えられる時系列データ 図-13図-34 に適用した結果が下の図-35になる。 ここで、M=3L=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=16L=1とし、データ64点を用いて係数をフィットし、32ステップ再帰的に予測した。 フィッティングしたパラメータの数は17になる。

図-35

フィッティング精度に関しても 予測データに関しては、まったく話になっていない。


(47)に2次の項も追加して 上記の式(13)、(14)で与えられる時系列データにも応用できるようにした。

(48)

式(13)、(14)で与えられる時系列データ 図-13図-35 に適用した結果が下の図-36になる。 ここで、M=3L=1とし、データ32点を用いて係数をフィットし、32ステップ再帰的に予測した。 フィッティングしたパラメータの数は7になる。 極めて良い精度で予測ができている。 まぁ、至極当然。

図-36

同様に R-R Interval データに適用した結果が下の図-37になる。 ここで、M=16L=1とし、データ160点を用いて係数をフィットし、32ステップ再帰的に予測した。 フィッティングしたパラメータの数は153になる。

図-37

係数のフィッティング精度は (47)を使った場合に比べてわずかに悪くなっているように見える。 予測に関しては、なんとかしようという気持ちは見えるが(笑) まったく追随できていない。 これは R-R Interval データには 本質的に更に高次の項が含まれているためと考えられる。 つまり、(47)や(48)のようなモデルでは R-R Interval データには歯が立たないということだ。