Markov matrix

Markov matrix, 又稱為轉移矩陣, 是用來描述 Markov chain 的轉變的矩陣.

矩陣裡每一個元素都代表機率, 因此是個介於

0
1
之間的實數, 並且 column sum 等於
1
.


General
n×n
Markov matrix

Let

PMn×n be a Markov matrix, then
0Pij1
and
(1)i=1nPij=1.


2×2
Markov matrix - part 1

對於

2×2 的 Markov matrix, 我們可以把他表示為
(2)P=[ab1a1b],

其中
0a,b1
.

Examples

  • (a,b)=(1,0)
    , 那
    P
    就變成 identity matrix,
    (3)P=[1001].
    • (3) 這個矩陣的 eigenvalues 是兩個
      1
      , eigenvector 的 basis 則是
      (1,0)T
      以及
      (0,1)T
      .
    • 此外,
      Px=x
      , 所以這個轉移矩陣完全沒有做任何事, 轉移完後還是同樣的狀態.
  • (a,b)=(1,1)
    ,
    (4)P=[1100].
    • (4) 這個矩陣的 eigenvalues 是
      1
      0
      , 相對應的 eigenvector 的 basis 則是
      (1,0)T
      以及
      (1,1)T
      .
    • 如果初始狀態是個機率,
      x=[x1,x2]T
      並且
      x1+x2=1
      , 則
      P[x1x2]=[x1+x20]=[10].

      也就是說這個轉移矩陣是把所有狀態堆到第一個元素去.
  • (a,b)=(0,0)
    . 基本上同
    (a,b)=(1,1)
    , 不過這個轉移矩陣是把所有狀態堆到第二個元素去
  • (a,b)=(0,1)
    ,
    (5)P=[0110].
    • (5) 這個矩陣的 eigenvalues 是
      1
      1
      , 相對應的 eigenvector 的 basis 則是
      (1,1)T
      以及
      (1,1)T
      .
    • 如果初始狀態是
      x=[x1,x2]T
      , 則
      (6)P[x1x2]=[x2x1].

      也就是說這個轉移矩陣是把兩個狀態對調.

對於 Markov matrix 我們最想知道的是在不斷的轉移之後, 會不會"收斂"到某個狀態去. 也就是我們想求

limnPnx.

Observation

第一件重要的事就是 Markov matrix 他的 column sum 等於

1. 因此,

(7)[11]P=1[11].

也就是說

[1,1]T 是 Markov matrix 的左 eigenvector, 並且 Markov matrix 的 eigenvalue 一定有一個是
1
.

接著我們看一下左 eigenvector 以及其相關性質.


Left eigenvector

以下是對

n×n 方陣左 eigenvector 的定義以及一些性質.

Definition:
Let

yRn{0} satisfies
(8)yTA=λyT,

then
y
is called the left eigenvector of
A
that corresponds to the eigenvalue
λ
.

Remark:
Taking tranpose to each side of (8) we have

ATy=λy. So the left eigenvector is also the eigenvector of
AT
.

Lemma 1:

A and
AT
share exactly the same eigenvalues.

pf:

det(AλI)=det(ATλI). So the roots are exactly the same.

Lemma 2: Let

v0 and
w0
be the right and left eigenvector of
A
that corresponds to different eigenvalues, i.e.,
Av=λ1v,wTA=λ2wT,λ1λ2.

Then
wTv=0
.

pf:

wTAv=wT(Av)=λ1wTv and
wTAv=(wTA)v=λ2wTv
.

Therefore

(λ1λ2)wTv=0, and
wTv=0
due to
λ1λ2
.


因此, 對一般

n×n 的 Markov matrix, 我們也知道它一定有一個 eigenvalue 是
1
.

Lemma 3: An

n×n Markov matrix has an eigenvalue
1
and corresponding left eigenvector
1=[1,1,,1]T
.

pf: Using (1) we have

1P=1=11. Therefore,
1
is the left eigenvector corresponds to eigenvalue
1
, and Markov matrix has an eigenvalue
1
.


2×2
Markov matrix - part 2

利用 Lemma 2 我們可以推論一件有一點點神奇的事. 我們已經知道 (2) 的這個

P 矩陣他一定有個 eigenvalue 是
1
. 那假設他另一個 eigenvalue 不是
1
, 並且假設這個對應的 eigenvector 叫做
[y1,y2]T
, 那根據 Lemma 2 我們有

(9)[11][y1y2]=0,
也就是
y1+y2=0
. 然後就知道這個 eigenvector 的 basis 一定是
[1,1]T
.

然後我們再反過來算一下它的 eigenvalue

(10)P[11]=[abba]=(ab)[11].

因此知道 eigenvalue 是

ab, eigenvector 是
[1,1]T
.

那這個推論的原始假設是"第二個 eigenvalue 不是

1". 因此只有
ab=1
的時候推論才會錯. 而由於
0a,b1
, 可以發現只有在
(a,b)=(1,0)
的時候才會有
ab=1
. 也就是
P
是 identity matrix.

Lemma 4: Let

P be a
2×2
Markov matrix, written as (2). Assume
P
is not an identity matrix, then it has eigenvalue
λ2=(ab)
with corresponding eigenvector
v2=[1,1]T
.

First eigenvector

接著我們來試著將

P 對角化. 先算一下
λ=1
的 eigenvector:

P1I=[a1b1ab].

因此可以很輕易看出 eigenvector 的 basis 是

[b,1a]T. 不過我們把它 normalize 一下, 使它是個機率 (元素和為
1
):

v1=11+ba[b1a].

Diagonalization

有了所有的 eigenvalue 跟 eigenvector 我們就可以將矩陣對角化.

假設

PI,

(11)P[v1v2]=[v1v2][100ab].

V=[v1,v2], 那我們就有

(12)P=V[100ab]V1.

並且

(13)Pn=V[100(ab)n]V1.


接著我們再稍微整理一下, 算一下

V1

V1=[111a1+bab1+ba]=[w1Tw2T].

也就是我們得到了

w1
w2
分別是
P
的兩個 left-eigenvectors. 而
w1
也如預料中是個元素全為
1
的向量.


因此對角化 (12) 可以改寫為

(14)P=v1w1T+(ab)v2w2T.

以及

(15)Pn=v1w1T+(ab)nv2w2T.

Steady state

最後我們就可以找出 Markov process 的 steady state 了. 假設

ab±1 (也就是
P
不是 identity matrix (3) 或 位置調換的矩陣 (5)), 並且假設
x
是個機率向量, 元素和為
1
, 則有

(16)limnPnx=v1.

這邊我們有利用到

|ab|<1 以及
|ab|n0
.

而如果對

x 沒有任何條件, 令
x=[x1,x2]T
, 則有

(17)limnPnx=(x1+x2)v1.


n×n
Markov matrix

對於一般的 Markov matrix

P 我們也有類似的結果.

Markov matrix 的條件為元素介於

0
1
之間以及 column sum 為
1
.

根據 Lemma 3 我們知道

P 有一個 eigenvalue 是
1
. 我們做以下兩個假設

  1. dim(Null{PI})=1
    . 也就是
    λ=1
    的 eigenvector 是個一維的子空間.
  2. 1
    不是
    P
    的 eigenvalue.

那麼, 假設

Pv1=v1 並且
v1
的元素和為
1
. 那我們有,

(18)limnPnx=v1.

對任何元素和為

1 的向量
x
都會成立.

因此

v1 就是 Markov process 的 Steady state.

所以任給一個 Markov matrix

P, 我們目標就是要找他的
v1
, 這樣就知道最終狀態長怎樣了. 而找
v1
這件事可以利用 power iteration. 再請自行參閱.

不過簡單的說, 其實所謂的以 power iteration 找

v1 的作法我們已經在 (18) 說明完了. 就是先隨機生成一個向量
x0
, 然後再一直以
P
來乘它.

xn=Pxn1,n1.

然後過程中檢驗看看

xn 收斂了沒即可.