マルコフ連鎖の確率の数値計算(p041-markov01)
情報
- 出題:2021-05-10
- 実行/提出期限:2021-05-17 15:45:00
- 提出
- markov01.c プログラム.
- markov01.xlsx データとグラフを含むExcelワークシート
- markov01.docx 答を記述したファイル
学習目標
- マルコフ連鎖の初期分布と転置推移確率行列から, 分布の時間発展が計算できる.
- 分布の時間発展のグラフがExcelで描ける.
課題
状況の説明
状態空間 \(S=\{x\}=\{0,1,2,3\}\) 上のマルコフ連鎖を考える. 初期分布を \( \vec{p}(0)= \begin{pmatrix} 1\\ 0\\0\\0 \end{pmatrix} \) とする. 転置推移確率行列は, 各自hig3Moodle課題提出場所付近から得ること.
課題のタスク
- 大注意:乱数は使いません.
- 大注意:これまでと違って, 画面上の縦方向が\(t\)軸, 横方向が\(x\)軸です.
- 配布プログラム(動画解説)を修正して, 下の仕様のプログラムを作ろう
- \(T=100\)で実行してデータを得て, Excelで加工して, 横軸 t, 縦軸 \(p(0,t),p(1,t),p(2,t),p(3,t)\)の(4本の)折れ線グラフを(重ねて)描こう. グラフの描き方は ガイド> CSVデータからExcelでグラフ作成参照 (xとtの見出しを手でつけた後, . もし横軸がtでなくxになってたら, ).
- グラフを目で見たところ\(\vec{q}=\lim_{t\rightarrow+\infty}\vec{p}(t)\)が存在するなら, 簡単な有理数のベクトルとして予想して答えよう. \(\vec{q}\)は定常分布かどうか, 手計算で厳密に判定しよう. 答はmarkov01.docxに書こう(数式の記述は読める程度でいい)
-
以下は今回はやらなくていい(今後の別の課題, またはレポートのときに):
Excelで, 横軸 t, 縦軸 \(d(t)=\log|\vec{p}(t)-\vec{q}|\)の1本の折れ線グラフをmarkov01.xlsx内で描き, (\(t\)が中間程度でグラフが直線になっているときの)傾きから, 転置推移確率行列の第2固有値の絶対値を求め, markov01.docx内で答えよう.
- Excelのセル内に入力する式は,
=ln(sqrt((p1-q1)^2+(p2-q2)^2+…+(pM-qM)^2))
, Mは状態の個数.
- Excelのセル内に入力する式は,
プログラムの入力
- 最終時刻T(0以上の整数)
プログラムの入力例
3
プログラムの出力
- 1行目に#T=に続いて 最終時刻\(T\)
- 2行目にコンマで区切って, 時刻t=0の\(t, p_0,p_1,p_2,p_3,\ldots,p_M,\)
- 3行目にコンマで区切って, 時刻t=1の\(t, p_0,p_1,p_2,p_3,\ldots,p_M,\)
- …
- T+1行目にコンマで区切って, 時刻t=Tの\(t, p_0,p_1,p_2,p_3,\ldots,p_M,\)
プログラムの出力例
#T=3 0,1.0,0.0,0.0,0.0, 1,1.0,0.0,0.0,0.0, 2,1.0,0.0,0.0,0.0, 3,1.0,0.0,0.0,0.0,
アドバイス
- 定常分布の固有値は…
- 極限分布が存在するならそれは定常分布.
- プログラムはサンプルがかなり参考になると思います.
自分でチェック!
- 確率ベクトルの満たす性質って何だっけ?