マルコフモデルについて

マルコフモデル

時系列${x_1, \ldots, x_n}$のような系列データを最も簡単に扱う方法は、系列であるという性質を無視してそれぞれ観測値が独立同分布に従うものとして扱うことである(下図)。しかし、この方法は、データの順序に関係するパターンを捉えることができない。

例えば、明日、雨が降るかを知りたい場合、これまでに1000日間の観測データがあり、うち100日雨が降っていたとする。これら観測データが独立同分布に従うとすると、100/1000 、つまりは1/10という頻度が明日の雨の降る確率として予測されるだろう。しかし、実際には雨は連続して降ることが多く、今日、雨が降ったかどうかを知ることは、明日、雨が降るか予測するために役立つ。

このようなことを確率モデルで表現するための方法としてマルコフモデル(Markov model)が考えられる。N個の観測系列の同時分布は以下の形で表現できる

$$ \begin{split} p(x_1, \ldots, x_N) = & p(x_1) p(x_2|x_1)p(x_3|x_1,x_2)…p(x_n | x_1, \ldots, x_{n-1})\\=&p(x_1)\prod_{n=2}^{N} p(x_n | x_1, \ldots, x_{n-1}) \end{split} $$

ここで、$ p(x_n | x_1, \ldots, x_{n-1})$ はある観測値 $x_n$は$x_1, \ldots, x_{n-1}$によって条件付けられていることを表す。

明日の天気を予測する際に、今日の天気の情報のみが影響する場合、つまり最も近い観測値以外のすべての過去の観測値が独立し、予測に影響を与えないとすると。N個の観測系列の同時分布は以下のようになる。

$$ \begin{split} p(x_1, \ldots, x_N) =& p(x_1) p(x_2|x_1)p(x_3|x_2)…p(x_n | x_{n-1})\\=& p(x_1)\prod_{n=2}^{N} p(x_n |x_{n-1}) \end{split} $$

この場合、ある観測値$x_n$は$x_{n-1}$にのみ条件づけられており、以下のようなグラフィカルモデルで図示される。

ほとんどのマルコフモデルの応用において$p(x_n |x_{n-1})$がみな同一であるという制約が課されている。たとえば、今日が雨の場合、明日の雨の確率が10%上がるといった条件があるとするが、これが1年を通してずっと成り立つと仮定しているということだ。こうしたモデルを均一マルコフ連鎖(homogeneous Markov chain)と呼ぶ。 実際は、梅雨の時期の方が今日の天気が明日の天気に与える影響が大きいのかもしれず、条件付き確率は同一ではないかもしれないが、ひとまず均一マルコフ連鎖を仮定するモデルが多い。

より過去の情報を予測に利用する例として、昨日、今日と2日分の情報を明日の天気の予測に用いるとする。この場合、N個の観測系列の同時分布は以下のようになる。

$$ \begin{split} p(x_1, \ldots, x_N) =& p(x_1) p(x_2|x_1)p(x_3|x_2, x_1)…p(x_n | x_{n-1}, x_{n-2})\\=& p(x_1)p(x_2|x_1)\prod_{n=3}^{N} p(x_n |x_{n-1}, x_{n-2}) \end{split} $$

このモデルを2次マルコフ連鎖と呼び、グラフィカルモデルは以下のように図示される。

同様にM日分の天気情報を予測に用いることができ、M次のマルコフ連鎖に拡張することができる。過去の情報を多く取り入れることで、予測精度を向上させる可能性があるが、一方でモデルのパラメータ数が指数的に増大し、モデルが複雑になりすぎる可能性がある。

図面は以下から引用  https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf

次の記事 隠れマルコフモデルについて