マルコフ過程の問題の解き方3通り

マルコフ過程の問題の解き方を考えたので忘れないように書き留めておきます。

1.マルコフ過程とは

マルコフ過程とは、Wikipediaの記述を借りると、「未来の挙動が現在の値だけで決定され、過去の挙動と無関係であるという性質を持つ確率過程」です。具体例としては、天気の推移、マーケットシェアの推移、人口推移、機械の状態推移などが挙げられます。

 

2.問題例

具体的な問題例を見てもらいましょう。名古屋大学2006年工学部後期の入試問題です。2006 名古屋大学 後期理学部MathJaxを参考にさせてもらいました。

 

A,B2つの町がある.毎年1月1日に,A町の前年の住民のうち4割がB町に,B町の前年の住民のうち2割がA町に,それぞれ引っ越す(住民の数は十分に多く,引っ越す住民の割合は正確に4割,2割と見なしてよい).それ以外には住民の移動はなく,A町,B町両方をあわせた住民の数は不変である.次の各問に答えよ.

((1)〜(3)はここでは省略)

(4) n年後にA町とB町それぞれに住んでいる住民の数をanbnとで表す.このとき,つぎの極限を求めよ.
limnanbn

 

3.解き方1:簡便法

上記の(4)で聞かれていることは、長期的にはA町とB町の人口比が何対何になるかということです。

 

n+1年後にA町に住んでいる住民の数=n年後にA町に住んでいてとどまった人+n年後にB町に住んでいて引っ越した人」と考えることができます。これを数式にすると

an+1=0.6an+0.2bn…①

となります。

同様に

bn+1=0.4an+0.8bn…②

です。

 

このようなマルコフ過程では定常状態に落ち着くということを前提にしてもよいならば、定常状態でのA町の人口をa、B町の人口をbとして、①の式に代入すると(②に代入しても最終的に同じ式になります)

a=0.6a+0.2b

となります。

これを変形すると

2a=b

となるので、長期的にはA町とB町の人口比はa:b=a:2a=1:2になることがわかります。

 

この問題のようなマルコフ過程では定常状態に落ち着くということを前提にしてもよいなら上記の簡便法を用いることができます。しかしどちらかというと簡便法で数値を求めることよりも、この問題のようなマルコフ過程では初期値とは関係なく定常状態に落ち着くという事実のほうが興味深いです。そこで以下の方法でそのことを数学的に示します。

 

 

4.解き方2:数列の連立漸化式

先ほどと同じように考えて、①と②の式を作ります。

an+1=0.6an+0.2bn…①
bn+1=0.4an+0.8bn…②

これは高校数学で言うところの連立漸化式です。ここではan+1sbn+1=t(ansbn)と変形して解きます(隣接3項間漸化式に持ち込んで解く方法もありますが、この問題では計算が煩雑になります)。

an+1sbn+1=t(ansbn)に①と②を代入して

0.6an+0.2bns(0.4an+0.8bn)=t(ansbn)

これを整理してanbnの係数を比較すると

0.60.4s=t…③
0.20.8s=st…④

となる。③を④に代入してこれを解くと(s,t)=(1,1),(0.5,0.4)となる。

an+1sbn+1=t(ansbn)に今求めた(s,t)を代入して

an+1+bn+1=an+bn…⑤
an+10.5bn+1=0.4(an0.5bn)…⑥

⑤や⑥は等比数列を表しているので

an+bn=a1+b1…⑦
an0.5bn=(a10.5b1)0.4n1…⑧

⑧より

1.5bn=a1+b1(a10.5b1)0.4n1

bn=23{a1+b1(a10.5b1)0.4n1}

+×2より

3an=a1+b1+2(a10.5b1)0.4n1

an=13{a1+b1+2(a10.5b1)0.4n1}

以上より

limnanbn

=limn13{a1+b1+2(a10.5b1)0.4n1}23{a1+b1(a10.5b1)0.4n1}

=13(a1+b1)23(a1+b1)

=12

となります。

 

5.解き方3:行列

再三使っている①と②の式

an+1=0.6an+0.2bn…①
bn+1=0.4an+0.8bn…②

を行列でまとめて表記すると

(an+1bn+1)=(0.60.20.40.8)(anbn)

となります。

(anbn)=(0.60.20.40.8)(an1bn1)

(an1bn1)=(0.60.20.40.8)(an2bn2)

と順に考えていくと

(anbn)=(0.60.20.40.8)n(a0b0)

となります。

(0.60.20.40.8)n

がわかるとうれしいです。

行列のn乗と言えば対角化ですね。詳しい説明は省略しますが、固有値と固有ベクトルを用いて

(0.60.20.40.8)=(1121)(1000.4)(13132313)

と変形することができます。

(13132313)(1121)=(1001)=E

であることに注意すると

(0.60.20.40.8)n=(1121)(1n000.4n)(13132313)

となり、右辺を計算すると

13(1+20.4n10.4n220.4n2+0.4n)

となります。

よって

(anbn)=13(1+20.4n10.4n220.4n2+0.4n)(a0b0)

から

(anbn)=13((1+20.4n)a0+(10.4n)b0(220.4n)a0+(2+0.4n)b0)

となり、

an=13{(1+20.4n)a0+(10.4n)b0}

bn=13{(220.4n)a0+(2+0.4n)b0}

とわかるので、

limnanbn

=13(a0+b0)23(a0+b0)

=12

と最後の答えを求めることができました。

ちなみにこの大学入試問題の省略した小問は以下の通りです。

(1) ある年の末にA町とB町それぞれに住んでいる住民の数をa0b0とする.1年後にA町とB町それぞれに住んでいる住民の数a1b1を表す式を(a1b1)=M(a0b0)とおくとき,2×2の行列Mを具体的に示せ.
(2) 以下の式を満足する実数α,βの値を求めよ.ただしE2×2の単位行列である.
M(MαE)=β(MαE)
(3) (2)で与えられた式は,αβを入れ換えても成り立つ.このことと(2)の結果を用いてMnを求めよ.ただしnは正の整数とする.

(1)

Mは上記で登場した(0.60.20.40.8)です。

(2)

力技で解くのが早いと思います。

M(MαE)=β(MαE)

(0.60.20.40.8)(0.6α0.20.40.8α)=(β(0.6α)0.2β0.4ββ(0.8α))

(0.6(0.6α)+0.080.12+0.2(0.8α)0.4(0.6α)+0.320.08+0.8(0.8α))=(β(0.6α)0.2β0.4ββ(0.8α))

それぞれの要素を比較してうまく式変形をすると

α+β=75, αβ=25

を得ます。

解と係数の関係より、このようなα,β

5x27x+2=0の解であるので、これを解いてx=1,25

以上より、(α,β)=(1,25),(25,1)である。

(3)

M(MαE)=β(MαE)の両辺に左からMをかけると

M2(MαE)=βM(MαE)=β2(MαE)

となる。これを繰り返すと

Mn(MαE)=βn(MαE)

Mn+1αMn=βnMαβnE…(A)

が得られる。

αβを入れ替えて同様の操作をすると

Mn(MβE)=αn(MβE)

Mn+1βMn=αnMαnβE…(B)

が得られる。

(A)(B)より

(βα)Mn=(βnαn)Mαβ(βn1αn1)E

ここにα=25,β=1を代入して

35Mn=(0.6(10.4n)0.2(10.4n)0.4(10.4n)0.8(10.4n))(0.40.4n000.40.4n)

35Mn=(0.2+0.40.4n0.20.20.4n0.40.40.4n0.4+0.40.4n)

Mn=13(1+20.4n10.4n220.4n2+0.4n)

と求めることができました。

(4)は先ほど対角化で解いた際の記述と同じでよいです。

 

6.まとめ

定常状態の比率の数字だけほしければ簡便法が圧倒的に簡単です。行列をやっていない人は数列のほうがとっつきやすいでしょうが、行列のほうが応用しやすいです。

 



  •  ≪…「未来の挙動が現在の値だけで決定され、過去の挙動と無関係であるという性質を持つ確率過程」…≫を、数の言葉ヒフミヨが、平面(2次元)からの送りモノとして眺めると、十進法の基における西洋数学の成果の符号(i e π)が眺望良好となりそうだ・・・
     数の言葉の文脈命題の存在量化の『離散的有理数の組み合わせによる多変数関数』の『存在量化確度方程式』は、[ひ・ふ・み・よ・い・む・な・や・こ・と]の連続性を[e](自然数の底)に象徴できる・・・

     数ならぬ一な思ひそ玉祭    ( ヒフミヨは△廻し□する )

     ヒフミヨはeで廻りて一創る  ( iの意味静と静動計算す )

     この眺望は、3冊の絵本の力で・・・
       すうがくでせかいをみるの
       マンマルさん
       もろはのつるぎ
     


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です