時系列データの取り扱いとモデルの作成①(時系列データと定常過程)|時系列分析の基礎を学ぶ #1

f:id:lib-arts:20190526201416p:plain

強化学習などについて取り扱っていくにあたり、通常の時系列データについての取り扱いも一度まとめておく方が良さそうなので時系列分析の基本についてまとめていきます。
#1では時系列データとはどのようなデータであるかやモデリングにおいて重要になる定常過程についてご紹介します。以下目次になります。

1. 時系列データ、時系列分析とは
2. 定常過程とは
3. まとめ


1. 時系列データ、時系列分析とは
時系列分析を扱う前に使用するデータについて知ろうということで、Wikipediaをまず引用します。

時系列(time series)とは、ある現象の時間的な変化を、連続的に(または一定間隔をおいて不連続に)観測して得られた値の系列(一連の値)のこと。

時系列 - Wikipedia

上記を解釈すると、なんらかの時間的な変化を連続的に観測されて得られたデータのこととされています。ここで"連続的"にというのは誤解を生むように思われるのでまず補足します。数学的な連続(continuous)はデジタル形式で表現できないため、計算機的な取り扱いを行う時点で離散(discrete)なデータになっています。Wikipediaの記述の連続はおそらくそこまで意識しないで日常的な意味での連続で使っていると思われるのでここまで気にしなくても良いとは思いますが、連続と離散の対照で見れると色々と便利なので、あえて指摘することにしました。
そのため時系列データはなんらかの観測値を離散的に計測したと考えておくと良いです。また、離散的に観測を行う際に気をつけると良いのが時間の間隔(観測の時間の幅)です。これについては精度が良過ぎても意味がなかったり、データ量が増えたりするので適切な精度を選ぶと良いです。適切な精度(時間間隔)を選ぶにあたっては、一般的なデータを参考にすると良いです。例えば株価であれば公開される株価のチャートが1分おきだったり、5分おきだったり1日単位だったりしますが、投資家はそれぞれの観測単位の情報を元に判断を行います。このように普段大体どのくらいの幅のデータを用いているかについて改めて意識することで、データの適切な時間間隔について見えてくるかと思います。(ちなみにゲームを題材にした強化学習では、ゲームの画面が30FPSであれば1/30秒単位で観測が行われます)
上記までで大体のイメージがつかめたかと思いますので、次に数式的な定義を行えればと思います。時系列解析では下記のようなデータの系列(数列に意味合いは近いが、記号列も系列に含まれる)を取り扱います。
X=\{x_{1}, x_{2}, x_{3},...,x_{n}\}
上記のように、

数列と同様の形式でデータ系列Xを定義します。このデータ系列Xに対し、時系列分析ではモデリングを行なっていきます。
モデリングの概要としては、AR、ARMAなどの考え方を元に、過去のデータを元に未来のデータの予測を行います。AR、ARMAに関しては#2以降で取り扱いますが、ざっくりいうとx_{t}x_{t-1},x_{t-2},...などを元に予測するということなので、x_{t}=f(x_{t-1},x_{t-2},...)のように表現するとだけ一旦抑えておくと良いです。

上記で一通りの概要はつかめたかと思いますので、2節では時系列におけるモデリングにおいて前提とする、定常過程についてご紹介します。

 

2. 定常過程とは
1節では時系列データや時系列分析の大枠についてまとめました。2節では#2以降でモデリングを行なっていくにあたって前提とする定常過程についてご紹介します。

f:id:lib-arts:20190526205136p:plain

定常過程 - Wikipedia
上記がWikipediaの定常過程についての概要の記述です。『時間や位置によって確率分布が変化しない確率過程』というのが主なポイントだと捉えておくと良いです。したがって、正規分布などでもパラメータとなる平均や分散も時間や位置によって変化しないと考えます。
データを定常過程に変換するにあたってよく行われるのが差分を取る処理になります。よく見られる定常過程でないデータに、トレンドデータや周期性のあるデータが挙げられますが、それぞれ差分を取ることで除去することが可能です。これをARMAに組み込んだモデルがI(Integrate)を加えたARIMAになります。
定常過程については深く考えると混乱しがちなので、一旦上記のようなざっくりとした理解でつかんでおいていただけたらと思います。ARMAまでは定常過程を仮定するので、そちらについては意識しておく必要があります。


3. まとめ
#1では時系列データや時系列分析の概要とモデリングにおいて前提として仮定する定常過程について取り扱いました。
#2では時系列データの分析の際によく出てくるAR(Auto Regressive)、MA(Moving Average)、ARMA(Auto Regressive Moving Average)について取り扱っていきます。