首見時間與首訪時間
首見時間與首訪時間
考慮一個不可分解的馬可夫矩陣,除了穩定態以外,隨機漫步模型裡在意的另一個問題是從點 \(i\) 出發,首次出現在點 \(j\) 所需的平均時間,我們將其稱為 \(i\) 到 \(j\) 的 首見時間(hitting time),記作 \(h_{i,j}\)。如果把所有 \(h_{i,j}\) 記在一個矩陣裡,則 \(H = \begin{bmatrix} h_{i,j} \end{bmatrix}\) 稱為 首見矩陣。
如果單純用定義來看,首見時間通常不容易計算。比如說我們考慮馬可夫矩陣
在這個模型中,點 \(1\) 出發後的下一點必定是點 \(2\),所以 \(h_{1,2} = 1\)。
反之從點 \(2\) 出發後,只有一半的機率回到點 \(1\),有另一半的機率會走到點 \(3\) 再走回點 \(2\),而這一半的機率又有一半會走到點 \(1\),另一半又走到點 \(3\) 再回點 \(2\),所以能夠走到點 \(1\) 的時間是 \(1, 3, 5, \ldots\),而相對應的機率是 \(0.5, 0.5^2, 0.5^3, \ldots\),也就是其期望值是
基於對稱性,我們也知道 \(h_{2,3} = h_{2,1} = 3\)。這時候我們就可以知道 \(h_{1,3} = 1 + h_{2,3} = 4\),因為點 \(1\) 出發以後必定先走一步到點 \(2\)。最後依照定義得到 \(h_{i,i}\) 都是 \(0\),所以
如果我們計算
會發現 \(\check{H}\) 和 \(H\) 除了對角線上的元素以外其它都一樣。這是因為 \(J\) 代表「先走一步」,而 \(MH\) 代表由點 \(i\) 依機率往各鄰近點偷走一步以後,「第二步開始」前往點 \(j\) 的時間。因此 \(\check{H}\) 的各項 \(\check{h}_{i,j}\) 指的是由點 \(i\) 出發且 一定要先走一步 後,首次造訪點 \(j\) 的平均時間,我們稱為 首訪時間(mean first passage time)。自然而然當 \(i\neq j\) 時有 \(h_{i,j} = \check{h}_{i,j}\),而 \(\check{h}_{i,i}\) 指的是一開始不算第一次回到自己的平均時間。
以下整理這些矩陣的相關性質:
- \(H\) 的對角線項均為 \(0\)。
- \(\check{H} = H + D\),其中 \(D\) 是對角矩陣。
- \(MH + J = \check{H} = H + D\)。
我們可以整理第三點得到 \((I - M)H = J - D\),其中 \(H\) 和 \(D\) 是未知的項,但我們知道 \(H\) 在對角線上均為 \(0\)。以上述的例子來說,在給定 \(M\) 以後可以寫下等式
如此就不難回推 \(H\) 和 \(D\),也可以避免解無窮級數。
更精確來說,令 \(A = I - M\) 而 \(A(j)\) 為將 \(A\) 的第 \(j\) 行及列都刪掉的矩陣。當 \(M\) 是不可分解時,每一個 \(A(i)\) 都是可逆的,而 \(A(j)^{-1}\bone\) 所得的 \(n - 1\) 個數字,就會是 \(H\) 中第 \(j\) 行中除了對角線項(該項為 \(0\))以外的 \(n - 1\) 項。
想想以下問題:
- 令
\[ M = \begin{bmatrix} 0 & 1 & 0 & 0 \\ 0.5 & 0 & 0.5 & 0 \\ 0 & 0.5 & 0 & 0.5 \\ 0 & 0 & 1 & 0 \\ \end{bmatrix}. \]
與其在理論上不斷思考自己有沒有算錯,更直接的方法就是寫一個程式來作實驗。
- 寫一個函數
markov_next(i, M)
,其隨機回傳點 \(i\) 出發的下一個點。 - 寫一個函數
from_to(i, j, M)
,其計算從點 \(i\) 出發隨機走到點 \(j\) 所需的時間。 - 寫一個函數
hitting_time(i, j, M)
,其執行from_to(i, j, M)
許多次,並將得到的結果取平均。 - 寫一個函數模擬 \(h_{i,i}\)。
- 寫一個函數
- 說明為什麼
\[ (0.5)\cdot 1 + (0.5)^2\cdot 3 + (0.5)^3\cdot 5 + \cdots = 3. \]
- 令
\[ M = \begin{bmatrix} 0 & 1 & 0 & 0 \\ 0.5 & 0 & 0.5 & 0 \\ 0 & 0.5 & 0 & 0.5 \\ 0 & 0 & 1 & 0 \\ \end{bmatrix}. \]
利用 \((M - I)H = D - J\) 的方法求出 \(H\) 及 \(D\)。
- 說明為什麼當 \(M\) 是不可分解時,\(I - M\) 拿掉任一行任一列後都是可逆矩陣。