統計学 学習ノート

統計検定の4級から1級まで、出題範囲の順に記事と練習問題で学ぶ

準1級-19 応用統計の手法

マルコフ連鎖

  • 推移確率
  • 既約性
  • 再帰性
  • 定常分布

はじめに

「明日の天気を予想するのに、過去1か月分の天気を全部覚えておく必要はある?」

天気予報のない時代を想像してください。明日の天気を予想するなら、まず今日の空を見ますよね。先週の火曜日が雨だったかどうかは、あまり役に立ちません。今日の状態さえ分かれば、それより前の履歴は、ほとんど捨ててよいのです。

実は、この「今だけを見ればよい」という割り切りは、確率のモデルとして非常に強力です。お客さんの店の乗り換え、すごろくのコマの動き、機械の故障と修理。これらは全部、同じ形の数式で扱えます。しかも、遠い将来の割合まで、連立方程式を解くだけで求まります。

そこで登場するのが、今回の主役 マルコフ連鎖 です。次の状態が今の状態だけで決まる確率モデルです。

前回の記事では、順位を使う検定を学び、検定の話が一段落しました。ここまでのデータは互いに独立でした。今回の記事では、時間の順につながったデータを扱う入口として、推移確率、既約性、再帰性、定常分布 について解説します。

マルコフ性と推移確率

はじめに、マルコフ連鎖の定義と推移確率について解説します。

時刻 n=0,1,2,…n = 0, 1, 2, \ldots の状態を XnX_n とします。状態はいくつかの決まった値、例えば「晴れ」と「雨」をとるとします。次の性質を マルコフ性 と呼びます。

P(Xn+1=j∣Xn=i,Xn−1=in−1,…,X0=i0)=P(Xn+1=j∣Xn=i)P(X_{n+1} = j \mid X_n = i, X_{n-1} = i_{n-1}, \ldots, X_0 = i_0) = P(X_{n+1} = j \mid X_n = i)

言葉で言うと、「今の状態が分かれば、過去の履歴は次の状態の確率に影響しない」ということです。すごろくのコマを思い出してください。次にどのマスへ進むかは、今のマスとサイコロの目だけで決まります。そのマスに来るまでの道のりは、関係ありません。

右辺の確率が時刻 nn によらないとき、これを 推移確率 と呼び、pijp_{ij} と書きます。このような連鎖を斉時的と言います。推移確率を並べた行列が、推移確率行列 です。

具体的に見てみましょう。ある街の天気が、次のルールで変わるとします。

【天気のルール】

  • 今日が晴れなら、明日は 0.8 で晴れ、0.2 で雨
  • 今日が雨なら、明日は 0.4 で晴れ、0.6 で雨

状態の順を(晴れ, 雨)として、行列で書くと次のようになります。

P=(0.80.20.40.6)P = \begin{pmatrix} 0.8 & 0.2 \\ 0.4 & 0.6 \end{pmatrix}

行列の読み方はシンプルです。行が今日、列が明日です。今日の状態から必ずどこかへ移るので、各行の合計は1 になります。列の合計は1とは限りません。

nステップ先の確率

では、2日後の天気はどうでしょうか? 今日が晴れのとき、2日後が晴れになる道は2つあります。

【2日後が晴れになる道】

  • 晴れ → 晴れ → 晴れ: 0.8 × 0.8 = 0.64
  • 晴れ → 雨 → 晴れ: 0.2 × 0.4 = 0.08

合計は0.72です。これは行列の積 P2P^2 の (1, 1) 成分です。一般に、次の チャップマン・コルモゴロフの等式 が成り立ちます。

pij(m+n)=∑kpik(m)pkj(n)p_{ij}^{(m+n)} = \sum_{k} p_{ik}^{(m)} p_{kj}^{(n)}

pij(n)p_{ij}^{(n)} は、nn ステップで ii から jj へ移る確率です。途中の時刻に通る状態 kk で場合分けして足し合わせる、という式です。この結果、nn ステップの推移確率行列は PnP^n になります。

P2=(0.720.280.560.44)P^2 = \begin{pmatrix} 0.72 & 0.28 \\ 0.56 & 0.44 \end{pmatrix}

状態の分布も同じです。時刻 nn の分布を行ベクトル μ(n)\mu^{(n)} で表すと、μ(n+1)=μ(n)P\mu^{(n+1)} = \mu^{(n)} P です。

せっかくなので、別の例も見てみましょう。ある街の3つのスーパーA, B, Cのお客さんが、1か月ごとに次の確率で店を変えるとします。

Q=(0.70.20.10.30.50.20.20.30.5)Q = \begin{pmatrix} 0.7 & 0.2 & 0.1 \\ 0.3 & 0.5 & 0.2 \\ 0.2 & 0.3 & 0.5 \end{pmatrix}

今月のシェアが (0.2,0.5,0.3)(0.2, 0.5, 0.3) なら、来月のシェアは μQ\mu Q です。Aのシェアは 0.2×0.7+0.5×0.3+0.3×0.2=0.350.2 \times 0.7 + 0.5 \times 0.3 + 0.3 \times 0.2 = 0.35 と計算でき、全体では (0.35,0.38,0.27)(0.35, 0.38, 0.27) です。

試験のポイント:分布は行ベクトルで、左から PP を掛けます。各行の和が1であることは、問題の行列の向きを判断する手がかりになります。

以上が、マルコフ性と推移確率についての解説です。

状態の分類:既約性と再帰性

次に、状態の性質を分類する言葉を説明します。

連鎖が長い目で見てどう振る舞うかは、「どの状態からどの状態へ行けるか」で決まります。路線図を見て、終点があるのか、環状線なのかを確かめるようなものです。1つずつ見ていきましょう。

1. 既約性

状態 ii から jj へ、何ステップかで正の確率で行けるとき、「ii から jj へ到達可能」と言います。互いに到達可能な状態どうしは、同じ クラス に属します。

すべての状態が1つのクラスにまとまるとき、連鎖は 既約 であると言います。この性質が 既約性 です。どの駅からどの駅へも行ける路線図のことです。

天気の例もスーパーの例も、既約です。一方、次の連鎖は既約ではありません。

(0.60.401)\begin{pmatrix} 0.6 & 0.4 \\ 0 & 1 \end{pmatrix}

状態2に入ると、もう状態1へ戻れないからです。このように、一度入ると出られない状態を 吸収状態 と呼びます。

2. 周期

状態 ii から ii へ戻れるステップ数の最大公約数を、状態 ii の 周期 と呼びます。周期が1のとき、非周期的 と言います。

例えば、状態1と2を必ず交互に移る連鎖を考えます。

(0110)\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}

戻れるのは2, 4, 6, ……ステップ後だけなので、周期は2です。pii>0p_{ii} > 0 の状態が1つでもあれば、その状態の周期は1です。その場で足踏みできるからです。既約な連鎖では、すべての状態の周期が等しくなります。

3. 再帰性

状態 ii を出発して、いつかは ii へ戻ってくる確率を fif_i とします。

【再帰性の分類】

  • fi=1f_i = 1: 状態 ii は 再帰的(必ず戻る)
  • fi<1f_i < 1: 状態 ii は 一時的(戻らない可能性がある)

この分類を 再帰性 と呼びます。再帰的な状態には何度でも戻るので、無限回訪問します。一時的な状態は、毎回 1−fi1 - f_i の確率で永遠に離れるので、訪問回数は有限です。訪問回数は幾何分布に従い、出発時を含めた平均は 1/(1−fi)1 / (1 - f_i) です。

ふるさとに例えるなら、再帰的な状態は「必ず帰省する実家」で、一時的な状態は「いつか出ていく下宿」です。

先ほどの吸収状態のある連鎖で、確かめてみましょう。状態1を出ると状態2から戻れないので、f1=0.6f_1 = 0.6 です。状態1は一時的で、出発時を含めた平均の訪問回数は 1÷0.4=2.51 \div 0.4 = 2.5 回です。状態2は f2=1f_2 = 1 で再帰的です。

判定には、次の同値な条件も使います。

状態 i が再帰的  ⟺  ∑n=1∞pii(n)=∞\text{状態 } i \text{ が再帰的} \iff \sum_{n=1}^{\infty} p_{ii}^{(n)} = \infty

左辺の和は、ii への平均の帰還回数です。「帰還回数の平均が無限大なら再帰的」と読めます。状態1では 0.6+0.62+⋯=1.50.6 + 0.6^2 + \cdots = 1.5 で有限です。

再帰的な状態はさらに、戻るまでの平均時間 μi\mu_i で分かれます。μi<∞\mu_i < \infty なら 正再帰的、μi=∞\mu_i = \infty なら 零再帰的 です。零再帰的とは、必ず戻るけれど、平均すると無限に時間がかかる状態です。

再帰性はクラス全体で共通です。そして、次の事実が重要です。

試験のポイント:状態が有限個で既約なマルコフ連鎖では、すべての状態が正再帰的です。一時的・零再帰的になるのは、吸収のある連鎖か、状態が無限個ある連鎖です。

以上が、状態の分類についての説明です。

定常分布:長い目で見た割合

続いて、この記事の中心である定常分布について解説します。

天気の例で、PnP^n を計算してみましょう。

P3=(0.6880.3120.6240.376),P10=(0.66670.33330.66660.3334)P^3 = \begin{pmatrix} 0.688 & 0.312 \\ 0.624 & 0.376 \end{pmatrix}, \qquad P^{10} = \begin{pmatrix} 0.6667 & 0.3333 \\ 0.6666 & 0.3334 \end{pmatrix}

2つの行が、ほとんど同じになりました。今日が晴れでも雨でも、10日後の天気の確率はほぼ同じです。つまり、連鎖はスタート地点を忘れるのです。インクを水に落としても、やがて全体に同じ濃さで広がるようなものです。

この行き着く先を式で表します。確率ベクトル π\pi が次を満たすとき、定常分布 と呼びます。

πP=π,∑iπi=1,πi≥0\pi P = \pi, \qquad \sum_{i} \pi_i = 1, \qquad \pi_i \geq 0

言葉で言うと、「この分布から始めると、1ステップ後も同じ分布のまま」ということです。個々のお客さんは動いていても、全体の割合は変わりません。出ていく人と入ってくる人がつり合っている、という状態です。

例題:定常分布を求める

天気の例の定常分布を求めましょう。

【解き方】

  1. π=(π1,π2)\pi = (\pi_1, \pi_2) として式を書く: π1=0.8π1+0.4π2\pi_1 = 0.8\pi_1 + 0.4\pi_2
  2. 整理する: 0.2π1=0.4π20.2\pi_1 = 0.4\pi_2 より、π1=2π2\pi_1 = 2\pi_2
  3. 合計が1の条件を使う: 3π2=13\pi_2 = 1

答えは π=(2/3,1/3)\pi = (2/3, 1/3) です。長い目で見ると、3日に2日は晴れです。

2状態なら、公式があります。a=p12a = p_{12}、b=p21b = p_{21} とすると、π=(b,a)/(a+b)\pi = (b, a) / (a + b) です。出ていく流れ π1a\pi_1 a と、入ってくる流れ π2b\pi_2 b がつり合う式です。

例題:3状態の定常分布

スーパーの例で、長期のシェアを求めましょう。

【解き方】

  1. πQ=π\pi Q = \pi の最初の2本の式を書く
    • 0.3π1=0.3π2+0.2π30.3\pi_1 = 0.3\pi_2 + 0.2\pi_3
    • 0.5π2=0.2π1+0.3π30.5\pi_2 = 0.2\pi_1 + 0.3\pi_3
  2. 1本目より、π1=π2+23π3\pi_1 = \pi_2 + \dfrac{2}{3}\pi_3
  3. 2本目に代入して、π2=139π3\pi_2 = \dfrac{13}{9}\pi_3、π1=199π3\pi_1 = \dfrac{19}{9}\pi_3
  4. 比は π1:π2:π3=19:13:9\pi_1 : \pi_2 : \pi_3 = 19 : 13 : 9 で、合計を1にする

答えは π=(19/41,13/41,9/41)=(0.463,0.317,0.220)\pi = (19/41, 13/41, 9/41) = (0.463, 0.317, 0.220) です。今のシェアが何であっても、長い目で見ると店Aが約46%を占めます。

πQ=π\pi Q = \pi の3本の式のうち、1本は他の2本から出てきます。だから、3本目の代わりに「合計が1」を使います。

定常分布の基本定理

定常分布があれば、いつでも収束するのでしょうか? 実は、そうとは限りません。次の定理を押さえましょう。

【マルコフ連鎖の基本定理】

  1. 既約で正再帰的なら、定常分布はただ1つ存在し、πi=1/μi\pi_i = 1 / \mu_i である
  2. さらに非周期的なら、どの出発点でも pij(n)→πjp_{ij}^{(n)} \to \pi_j である
  3. 既約で正再帰的なら、状態 jj に滞在する時間の割合は、確率1で πj\pi_j に収束する

3つ目は エルゴード定理 と呼ばれます。時間平均と分布の平均が一致する、という大切な性質です。

πi=1/μi\pi_i = 1 / \mu_i は、見た目よりずっと役に立ちます。天気の例では π雨=1/3\pi_{\text{雨}} = 1/3 なので、雨の日の次に雨が来るまでの平均は3日です。雨の日の割合が3分の1なら、3日に1度の間隔で来るはずだ、という素直な結果です。

周期のある例も見ておきましょう。状態を交互に移る連鎖の定常分布は (0.5,0.5)(0.5, 0.5) です。ところが、p11(n)p_{11}^{(n)} は 0, 1, 0, 1, ……と振動して、収束しません。それでも、滞在時間の割合はきちんと0.5になります。定理の2は使えず、3は使えるわけです。

補足(ここは読み飛ばしてOK): すべての i,ji, j で πipij=πjpji\pi_i p_{ij} = \pi_j p_{ji} が成り立つとき、詳細釣り合い の条件と呼びます。この条件を満たす π\pi は定常分布です。ベイズ法の記事で学ぶMCMCは、この条件を満たす連鎖を作って、望みの分布から乱数を得る方法です。

試験のポイント:定常分布は πP=π\pi P = \pi と ∑πi=1\sum \pi_i = 1 の連立方程式で求めます。平均再帰時間は 1/πi1 / \pi_i です。

以上が、定常分布についての解説です。

吸収のある連鎖:最初の一歩で解く

最後に、吸収状態のある連鎖の計算を見ていきましょう。

既約でない連鎖では、「どの吸収状態へ入るか」「入るまで何ステップかかるか」が関心の的になります。解き方のコツは、最初の一歩で場合分けする ことです。将棋の感想戦のように、1手目で局面を分けて考えます。

【最初の一歩の考え方】

  1. 状態 ii からゴールに入る確率を hih_i とおく
  2. 1ステップ後に kk へ移ったら、その先は kk から始めたのと同じ(マルコフ性)
  3. したがって hi=∑kpikhkh_i = \sum_{k} p_{ik} h_k が成り立つ

平均のステップ数 tit_i も、同じ形です。1歩進んだ分の1を足します。

ti=1+∑kpiktkt_i = 1 + \sum_{k} p_{ik} t_k

例題:卒業できる確率

ある2年制の学校で、学生の状態が1年ごとに次のように変わるとします。

【学生の状態】

  • 1年生: 0.8 で2年生へ、0.1 で留年、0.1 で退学
  • 2年生: 0.85 で卒業、0.1 で留年、0.05 で退学

卒業と退学は吸収状態です。1年生が卒業する確率と、在学年数の平均を求めましょう。

【解き方】

  1. 2年生が卒業する確率: h2=0.85+0.1h2h_2 = 0.85 + 0.1h_2 より、h2=0.85÷0.9=0.944h_2 = 0.85 \div 0.9 = 0.944
  2. 1年生が卒業する確率: h1=0.8h2+0.1h1h_1 = 0.8h_2 + 0.1h_1 より、h1=0.8×0.944÷0.9=0.840h_1 = 0.8 \times 0.944 \div 0.9 = 0.840
  3. 2年生の平均在学年数: t2=1+0.1t2t_2 = 1 + 0.1t_2 より、t2=1.11t_2 = 1.11
  4. 1年生の平均在学年数: t1=1+0.1t1+0.8t2t_1 = 1 + 0.1t_1 + 0.8t_2 より、t1=1.889÷0.9=2.10t_1 = 1.889 \div 0.9 = 2.10

答えは「卒業する確率は約84%、在学年数の平均は約2.1年」です。

補足(ここは読み飛ばしてOK): 一時的な状態どうしの推移を行列 TT で表すと、(I−T)−1(I - T)^{-1} の (i, j) 成分が、ii から始めたときの jj への平均滞在回数です。この行列を基本行列と呼びます。例題では、行の和が t1t_1、t2t_2 に一致します。

別の例として、手持ち2枚のコインで、1回の勝負で1枚増えるか減るかを繰り返す賭けを考えましょう。0枚か4枚になったら終わりです。勝つ確率が0.5なら、hi=0.5hi−1+0.5hi+1h_i = 0.5h_{i-1} + 0.5h_{i+1} を解いて、4枚になる確率は h2=0.5h_2 = 0.5 です。この問題は次回の記事で、ランダムウォークとして一般の形に広げます。

以上が、吸収のある連鎖についての説明です。

細かい定理が分からなかったとしても問題ありません。ここでは、「πP=π\pi P = \pi を解けば長期の割合が分かる」「吸収のある問題は最初の一歩で場合分けする」という点だけ押さえておきましょう。

今回のまとめ

それでは、今回の内容を振り返ります。

今回は、今の状態だけで次の状態が決まるマルコフ連鎖を紹介しました。過去を捨てるという割り切りのおかげで、将来の確率は行列の積で、長期の割合は連立方程式で求まります。

今回のポイントを振り返りましょう。

振り返り

  • マルコフ性は「今が分かれば過去はいらない」。すごろくのコマの動き方。
  • 推移確率行列は各行の和が1。nn ステップ先は PnP^n で求まる。
  • 既約性は「どの駅へも行ける路線図」。再帰性は「必ず帰ってくる実家」かどうか。
  • 定常分布は πP=π\pi P = \pi の解。既約・正再帰的で一意に存在し、非周期的なら PnP^n の各行が π\pi に近づく。
  • 吸収のある連鎖は、最初の一歩で場合分けして連立方程式を立てる。

キーワードのおさらい

  • マルコフ連鎖: 次の状態の確率が今の状態だけで決まる確率モデル
  • 推移確率: 今の状態 ii から次の状態 jj へ移る確率 pijp_{ij}
  • 既約性: どの状態からどの状態へも到達できるという性質
  • 周期: 元の状態へ戻れるステップ数の最大公約数
  • 再帰性: 状態を出発して、確率1で必ず戻ってくるという性質
  • 定常分布: πP=π\pi P = \pi を満たす、時間がたっても変わらない分布
  • エルゴード定理: 滞在時間の割合が定常分布に収束するという定理

さて、マルコフ連鎖を学んだことで、時間とともに動く確率の見方が身につきました。では、1歩ずつ右か左へ進む酔っぱらいは、どこまで行くのでしょうか? 客が来る時刻や、水に浮いた花粉の動きは、どう表すのでしょうか?

次回は、ランダムウォーク、ポアソン過程、ブラウン運動を扱う「確率過程の基礎」について紹介します。

それでは、次の記事へ進んでいきましょう。

練習問題5問開いて挑戦する
問1. 推移確率行列の第1行が (0.9, 0.1)、第2行が (0.3, 0.7) である2状態のマルコフ連鎖の定常分布として、正しいものはどれか。
問2. 同じ連鎖(第1行 (0.9, 0.1)、第2行 (0.3, 0.7))で、状態1から2ステップ後に状態2にいる確率として、正しいものはどれか。
問3. 状態が有限個で既約なマルコフ連鎖の説明として、正しいものはどれか。
問4. 既約で非周期的な連鎖の定常分布で、状態 ii の確率が πi=0.2\pi_i = 0.2 だった。状態 ii を出てから次に ii へ戻るまでの平均ステップ数として、正しいものはどれか。
問5. 状態1→2→3→1 と確率1で順に移る連鎖の説明として、最も適切なものはどれか。