マルコフ連鎖の同時確率:なぜ単純な「積」で計算できるのか?
マルコフ連鎖を扱う際、観測されたデータ系列 $D = (x_0, x_1, \dots, x_n)$ が生成される確率、すなわち同時確率 $P(X_0=x_0, \dots, X_n=x_n)$ を計算する場面が頻繁に登場します。これは特に、モデルのパラメータを推定する際の**尤度(Likelihood)**そのものになります。
この同時確率が、なぜ以下のようなシンプルな積の形で表せるのか、その導出過程と意味を解説します。
P(X_0, \dots, X_n) = \underbrace{P(X_0)}_{\text{初期確率}} \times \underbrace{\prod_{k=1}^{n} P(X_k|X_{k-1})}_{\text{推移確率の積}}
確率の連鎖律(乗法定理)
まず、どのような確率変数にも成り立つ一般的なルール、「乗法定理」から始めます。これによれば、同時確率は次のように条件付き確率の積に分解できます。
$P(X_0, X_1, \dots, X_n) = P(X_0) \times P(X_1|X_0) \times P(X_2|X_0, X_1) \times \dots \times P(X_n|X_0, \dots, X_{n-1})$
この式が意味するのは、ある時点 $k$ での状態の確率は、それ以前のすべての履歴 $(X_0, \dots, X_{k-1})$ に依存するということです。このままでは、履歴が長くなるにつれて計算が非常に複雑になってしまいます。
マルコフ性の適用
ここで、マルコフ連鎖の最も重要な性質であるマルコフ性が力を発揮します。
マルコフ性: ある時点の未来の状態は、過去の履歴とは無関係に、現在の状態のみに依存する。
数式で表現すると、次のようになります。
$P(X_k | X_0, \dots, X_{k-1}) = P(X_k | X_{k-1})$
つまり、「時点 $k$ の状態の確率は、時点 $k-1$ の状態さえ分かっていれば、それより前の $X_0$ から $X_{k-2}$ までのことは考慮しなくてよい」ということです。
式の単純化
このマルコフ性を、先ほどの一般的な乗法定理の各項に適用します。
- $P(X_2|X_0, X_1)$ は $P(X_2|X_1)$ に
- $P(X_3|X_0, X_1, X_2)$ は $P(X_3|X_2)$ に
- ...
- $P(X_n|X_0, \dots, X_{n-1})$ は $P(X_n|X_{n-1})$ に
と、全ての項が直前の状態のみに依存する単純な条件付き確率に置き換わります。
その結果、複雑だった乗法定理の式は、冒頭で示したように、**「初期状態の確率」と「1ステップずつの推移確率の掛け算」**だけで構成される、非常に見通しの良い形になるのです。
$P(X_0, \dots, X_n) = P(X_0) \times P(X_1|X_0) \times P(X_2|X_1) \times \dots \times P(X_n|X_{n-1})$
まとめ
マルコフ連鎖の同時確率が単純な積で表せるのは、マルコフ性という強力な仮定によって、各ステップの確率が直前の状態のみに依存する形に単純化されるためです。
この性質のおかげで、尤度計算やパラメータ推定が現実的な計算量で可能になり、自然言語処理のn-gramモデルや強化学習のマルコフ決定過程など、多くの応用分野でマルコフモデルが活躍しています。