【マルコフ連鎖】標準体重の人が太りすぎになるまで平均何年かかる?

2023年10月16日

Photo by Nathan Dumlao on Unsplash

ある病院では毎年行っている健康診断で肥満度の統計をとっています。

それによると、ある年の健康診断で標準だった人が次の年にも標準である確率は85%、太りすぎになる確率は10%、痩せすぎになる確率は5%です。

また、太りすぎだった人が次の年にも太りすぎである確率は80%、標準になる確率は15%、痩せすぎになる確率は5%です。

逆に、痩せすぎだった人が次の年にも痩せすぎである確率は90%、標準になる確率は8%、太すぎになる確率は2%です。

今年の健康診断で標準だった人が太りすぎになるまで、平均何年間の猶予があるでしょうか?

 

平均初回通過時間(MFPTとは?

【マルコフ連鎖と遷移確率行列】5年後に太ってしまう確率は何%?で見たように、この問題をマルコフ連鎖で表すと遷移確率行列は次のようになります。

 

ここで、1行目から3行目はそれぞれt時間ステップにおける標準、太りすぎ、痩せすぎを表し、1列目から3列目はそれぞれt+1時間ステップにおける標準、太りすぎ、痩せすぎを表します。

この例では1時間ステップはなので、例えば今年標準体重だった人が翌年も標準体重である確率が85%であることは、遷移確率行列の(1,1)成分を見れば分かります。

 

ここで、今年標準体重だった人が太りすぎになるのに平均で何年かかるか考えてみましょう。

今年標準体重だった人が来年太りすぎになる確率は10%しかないので、1年で太りすぎになる可能性は低いでしょう。

ほとんどのケースでは来年も再来年も標準体重にとどまって、何年か後に太りすぎに移行する可能性が高いでしょう。

もしくは可能性は低いものの、来年痩せすぎになって、その後何年かかけて太りすぎに移行する人もいるかもしれません。

これらの可能性をすべて考慮した上で太りすぎになるまでに何年かかるかを調べるのは難しい問題ですね。

 

これは平均初回通過時間(Mean First Passage Time、略してMFPTと呼びます)を調べる問題として知られています。

 

平均初回通過時間(MFPT)を求める公式

これを求めるには次のように考えます。

 

これだけ見てもよく分かりませんね。

まず状態iから状態jにつながっている線を見て下さい。

これは状態iから状態jに到着する時間が1で、そうなる確率はPijであることを示しています。

 

次に状態iから状態1につながる線を見て下さい。

これは状態iから状態1を経由して状態jに到着する時間が1+m1jで、そうなる確率がP11であることを示しています。

ここで1jは状態1から状態jへ到達する平均初回通過時間MFPTを表しています。

つまり1+m1jは、状態iから状態1を経由して状態jに到達する場合の平均初回通過時間を表しています。

 

同様に1+m2jは、状態iから状態2を経由して状態jに到達する場合の平均初回通過時間を表し、1+msjは、状態iから状態sを経由して状態jに到達する場合の平均初回通過時間を表しています。

 

これで状態iから状態jに至るすべてのルートの平均初回通過時間が求まったので、それぞれに対応する確率を掛けて合計すれば、状態iから状態jに至る平均初回通過時間mijが求まります。

(これは期待値の計算です)

以上が平均初回通過時間mijを求める式になります。

また特殊なケースとして

が知られています。

 

不変分布になるか調べる

このようにiiを計算するには不変分布であるΠiが必要なので、まずはこのマルコフ分布の不変分布を求めます。

有名な公式

ΠP=Π

を使います。

マルコフ連鎖が不変分布に収束するための条件を図でわかりやすく解説


 

Excelで計算するとこうなります。

 

よって、不変分布は

Π=0.422

Π=0.244

Π=0.333

と求まりました。

 

公式を使ってm12を求める

次に平均初回通過時間mijを求める公式に代入していきます。

 

に代入していくと、

 

12=1+P1112+P1332

=1+0.85m12+0.05m32

 

13=1+P1113+P1223

=1+0.85m13+0.1m23

 

21=1+P2221+P2331

=1+0.8m21+0.05m31

 

23=1+P2113+P2223

=1+0.15m13+0.8m23

 

31=1+P3221+P3331

=1+0.02m21+0.9m31

 

32=1+P3112+P3332

=1+0.08m12+0.9m32

となります。

 

この連立方程式を解くと、

12=13.6

13=20

21=8

23=20

31=11.6

32=21

となります。

 

知りたいのは標準体重の人(状態1)が太りすぎ(状態2)になるまでの平均時間なので12です。

それは13.6、つまり平均で13.6年かかることが分かりました。

 

Udemyの関連講座

【キカガク流】人工知能・機械学習 脱ブラックボックス講座 – 初級編 –

1000人以上が受講している(株)キカガクの『脱ブラックボックスセミナー』が遂に登場!機械学習の参考書を「閉じてしまった人」への再入門に最適な講座です。微分・線形代数といった数学の基礎からPythonでの実装まで短時間で習得しましょう。

 

【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜

機械学習・ディープラーニング・人工知能に関するビジネス上の課題を、回帰分析・ニューラルネットワーク・K平均法等を使って解いていきます。python、jupyter、numpy、pandas、tensorflow等のスキルも身に付きます。