《概率統計》10.變與不變:馬爾科夫鏈的極限與穩態


馬爾科夫鏈的極限行為

極限與初始狀態無關的情況

對於轉移概率矩陣

\(\begin{bmatrix}0.7&0.2&0.1\\0.3&0.5&0.2\\0.2&0.4&0.4\end{bmatrix}\)

我們在上一篇已經計算過隨着轉移步數 n 的逐步增大,n 步轉移概率矩陣收斂於:

\(\begin{bmatrix}0.46808511&0.34042553&0.19148936\\0.46808511&0.34042553&0.19148936\\0.46808511&0.34042553&0.19148936\end{bmatrix}\)

我們觀察一下這個收斂矩陣,它最重要的特點就是當n 趨近於 ∞時,矩陣中的每一個值都會收斂於一個極限值,這個極限值不依賴於初始狀態 i。換句話說,你的老祖宗無論是處於貧窮階層、中產階級還是財富自由,過來很多代之后,你處於任何一個階層的概率都是一定的,跟你祖先的狀態已經沒有關系了。

因此當時間 n 比較小的時候,n 步轉移概率矩陣中的值還會比較依賴於它的初始狀態 i,而當 n 不斷增大時,這種依賴性將會逐漸消失,貧窮階層、中產階級和財富自由都趨近於一個正的穩態概率,而位於哪個初始狀態已經可以忽略不計了。

極限依賴於初始狀態的情況

許許多多隨時間變化的概率模型都有上面提到的性質,但這並不是全部。還有一種極限的情況是,隨着 n→∞ 時,矩陣中的每一個值依然會收斂於一個極限值,但不同的是,這些極限值會依賴於最初位於哪一個初始狀態(在矩陣中的具體表現形式就是:矩陣不是每一行都相等)。

我們舉一個例子:這是一個老虎和羊的故事

有一只羊,在圖中的四個區域內移動,每次只能移動一個位置,這只羊如果在區域 2 和區域 3 之間移動,則平安無事,如果一旦移動到區域 1 或者是區域 4,則立馬就會被老虎吃掉,它的屍骨也就永遠的停留在了那里,一切也就結束了。

各個區域之間的轉移概率,我們都已經標注在了上面的這幅轉移概率圖當中了,轉移概率矩陣如下:

\(\begin{bmatrix}1&0&0&0\\0.2&0.4&0.4&0\\0&0.4&0.4&0.2\\0&0&0&1\end{bmatrix}\)

那么我們接下來還是來觀察一下它的 n 步轉移概率矩陣。

from functools import reduce
import numpy as np

A = np.array([[1, 0, 0, 0],
              [0.2, 0.4, 0.4, 0],
              [0, 0.4, 0.4, 0.2],
              [0, 0, 0, 1]])


print(np.array(reduce(np.ndarray.__matmul__, [A] * 5)))
"""
[[1.      0.      0.      0.     ]
 [0.43616 0.16384 0.16384 0.23616]
 [0.23616 0.16384 0.16384 0.43616]
 [0.      0.      0.      1.     ]]
"""
print(np.array(reduce(np.ndarray.__matmul__, [A] * 10)))
"""
[[1.         0.         0.         0.        ]
 [0.59423539 0.00576461 0.00576461 0.39423539]
 [0.39423539 0.00576461 0.00576461 0.59423539]
 [0.         0.         0.         1.        ]]
"""
print(np.array(reduce(np.ndarray.__matmul__, [A] * 20)))
"""
[[0.46808515 0.34042551 0.19148934]
 [0.46808508 0.34042555 0.19148937]
 [0.46808505 0.34042556 0.19148938]]
"""
print(np.array(reduce(np.ndarray.__matmul__, [A] * 100)))
"""
[[1.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]
 [6.00000000e-01 1.01851799e-10 1.01851799e-10 4.00000000e-01]
 [4.00000000e-01 1.01851799e-10 1.01851799e-10 6.00000000e-01]
 [0.00000000e+00 0.00000000e+00 0.00000000e+00 1.00000000e+00]]
"""

很明顯,我們發現隨着 n→∞,n 步轉移概率矩陣收斂於

\(\begin{bmatrix}1&0&0&0\\0.6&0&0&0.4\\0.4&0&0&0.6\\0&0&0&1\end{bmatrix}\)

吸收態與收斂分析

\(\begin{bmatrix}1&0&0&0\\0.6&0&0&0.4\\0.4&0&0&0.6\\0&0&0&1\end{bmatrix}\)

這個矩陣看上去很簡單,實際上內涵卻非常深刻。

  • 首先,在這四個狀態中,有兩個狀態可以被稱作是“吸收”狀態,也就是說一旦到達了這個狀態,就不再有任何機會轉移到其他狀態,而是將永遠處於這個狀態,我們這個例子中的吸收態就是狀態 1 和狀態 4,用圖中的故事來打比方,就是羊一旦走到了區域 1 和區域 4,就羊入虎口,再也回不來了。
  • 其次,雖然 n 步轉移概率矩陣在數值上也會收斂,但是收斂的極限值會依賴於初始狀態。這個很容易理解,最開始羊位於區域 2,它死於區域 1 的老虎的概率是 0.6,而如果羊最開始位於區域 3,則它死於區域 1 的老虎的概率是 0.4,它更大可能是落入區域 4 的虎口。
  • 最后,我們發現隨着 n→∞,n 步轉移概率矩陣中,狀態 2 和狀態 3 兩列都收斂為 0,換句話說就是無論羊初始位於哪個狀態,只要時間給的夠長,最終它們都只有兩個歸宿:落入區域 1 的虎口或者落入區域 4 的虎口,沒有活下來的希望。

可達、常返與常返類

可達性

從我們舉的階級流動和羊入虎口兩個例子可以看出,二者所表現出來的狀態是有很大區別的。一方面是兩個例子中馬爾科夫鏈的狀態性質不同,另一方面也決定了隨着 n→∞ 時,二者的極限表現不同。

我們還是把階級流動的那個圖再拿出來對比看看:

在這幅轉移概率圖中,我們可以發現,任取兩個狀態,狀態 i 和狀態 j,從狀態 i 出發可以到達狀態 j。而羊入虎口那幅圖就不是這么個情況了,如果我們選擇從狀態 2 出發,可以到達其他任意的狀態,但是如果我們從狀態 1 出發,除了自身以外,到達不了任何其他的狀態。

常返

從上述的可達性,我們就能引出常返和非常返的新概念了。

對於一個狀態 i,如果對於每個從狀態 i 出發可達的狀態 j,相應的從狀態 j 出發,反過來也可到達狀態 i,那么狀態 i 就是常返的。這是通俗的說法,我們如果用數學的形式化語言來描述就是:

我們令狀態 i 的可達狀態集合為 A(i),對於集合 A(i) 中的每一個狀態 j,如果 i∈A(j),那么狀態 i 就是可達的。

那么在階級流動概率轉移圖中,中產階級的可達狀態集是 {貧窮階層,中產階級,財務自由},那么這個可達狀態集中任意一個狀態也都可以到達“中產階級”,因此中產階級狀態是常返的。同理其余兩個狀態也都是常返的。

而在羊入虎口這個例子中則不然,對於狀態 2 和狀態 3 而言,它們都可以到達狀態 1 和狀態 4,但是反過來,從狀態 1 和狀態 4 都無法到達狀態 2 和狀態 3,因此狀態 2 和狀態 3 是非常返的。而狀態 1 和狀態 4 的可達狀態集都只包含自身,因此它們是常返的。

我們結合這兩個例子中概率轉移矩陣的極限來直觀的討論常返和非常返的本質內涵:

在羊入虎口的例子中,隨着 n→∞,n 步轉移概率矩陣為:

\(\begin{bmatrix}1&0&0&0\\0.6&0&0&0.4\\0.4&0&0&0.6\\0&0&0&1\end{bmatrix}\)

也就是隨着 n 的增大,在某個時刻之后,馬爾科夫鏈將永遠不會再返回該狀態。從矩陣的數值來看,確實也是如此。

常返類

有了常返狀態和非常返狀態的概念之后,我們再引出常返類的概念就很好理解了。如果狀態 i 是一個常返狀態,那么狀態 i 的可達狀態集就構成了一個常返類,我們把之前的概率轉移圖修改一下,對着圖來說:

我們可以看到,狀態 1 和狀態 2 是常返狀態,狀態 3 是非常返狀態,同時狀態 1 的可達狀態集是 {狀態 1,狀態 2},因此狀態 1 和狀態 2 構成了一個常返類,於是這個馬爾科夫鏈就被分解成為了一個常返類和一個非常返狀態。

從這個圖中,我們很容易概況出一些非常直觀且重要的結論。

第一就是常返類只進不出

一旦一個狀態進入到了一個常返類當中,它將永遠的停留在這個類里面,因為依據常返類的定義,常返類當中的狀態都是相互可達的,而常返類外的狀態是不可達的,就像這幅圖中,一旦從狀態 3 進入到了常返類(狀態 1 或者狀態 2 )中,就只會在里面轉移,不會再離開常返類返回狀態 3 了。

第二就是不管開局如何,終將進入常返類

這個怎么講呢,即使狀態開始位於一個非常返狀態,但是隨着 n 的不斷增大,前期的狀態序列還會包含非常返狀態,但在后期,特別是當 n 很大的時候,狀態序列的后面一定由來自同一個類的常返狀態組成。這里我們如果把常返類看做一個大號的吸收態(這種描述不一定很准確),相信大家就能理解了。一樣的,在這幅圖中,如果開局從狀態 3 起步,早期可能會在狀態 3 那兜兜圈子,到了最后一定落入狀態 1 和狀態 2 的常返類中。

常返類與唯一穩態

因此結合前后的知識我們發現:很顯然,有多個常返類的馬爾科夫鏈,一定不會收斂於一個唯一的穩態分布。

光有單個常返類這一個條件,顯然是不夠的,如果這個常返類是周期性的,就如同下面這個最簡單的圖所示,假設它從狀態 1 出發,即使 n→∞,如果 n 為奇數,則狀態轉移到狀態 2 ,如果 n 為偶數,則狀態轉移到狀態 1,顯然是不收斂的。

具體來說,要判斷一個常返類 R 是不是周期的,這里有一個簡單的判定方法,只要存在一個特定的 n≥1,和 R 中某一個特定的狀態 i,使得經過 n 步之后可以到達常返態 R 中的任意狀態,那么這個常返態就是非周期的。這個判定方法很簡單。

上面的這幅圖,不存在這樣的 n 值,因此驗證了其是周期的,而在下面這幅圖中,我們發現當 n=3 的時候,從狀態 1 出發,可以到達常返類中的四個狀態 {1,2,3,4},因此它是非周期的。

再看階級流動圖,那就更簡單了,當 n=1 時,可以到達其余全部狀態。而對於上面這幅周期性的常返圖,我們扣定義,簡單的做一點小的修改,就能將其改成非周期的:

馬爾科夫鏈的穩態分析

穩態的定義

那么到底什么是穩態?穩態這個概念從何而來,就從我們之前反復提及的當 n→∞ 時,n 步轉移概率矩陣中每個數值的收斂情況而來。

對於馬爾科夫鏈中的每一個狀態 j,n 步轉移概率值 \(r_{ij}(n)\) 會趨近於一個獨立於初始狀態 i 的極限值,我們通常把這個極限值記作是 \(π_{j}\)

更重要的是,獨立於初始狀態 i,就意味着無論從哪個初始狀態開始,經過 n 步轉移(n→∞)到狀態 j 的概率都是 \(π_{j}\),因此在穩態下,處於狀態jj的概率也同樣趨近於極限值\(π_{j}\),即\(P(X_{n}=j)→π_{j}\)(當n→∞)

討論唯一穩態分布的條件

那么此時,我們綜合一下:隨着 n→∞,馬爾科夫鏈要收斂於一個穩態分布,首先它得是非周期的,其次如果要求這個穩態分布是唯一的,則這個馬爾科夫鏈必須只含有一個常返類。

在此基礎上,我們進一步討論兩個更強的約束條件。

不可約條件

較之單個常返類而言,馬爾科夫鏈的不可約條件則更強,從概念上來說,一個不可約的馬爾科夫鏈指的是,從任意一個狀態出發,當經過充分長時間之后,可以到達任意狀態。否則就叫作可約的。很顯然,含有多個常返類的肯定是可約的,即使只有一個常返類,也不一定就是不可約的,看看下面這幅圖,對比一下就明白了:

滿足不可約條件意味着馬爾科夫鏈的各個狀態之間是全聯通的,這個條件是為了確保隨着 n→∞,馬爾科夫鏈收斂的唯一穩態分布中的每個狀態的概率都大於 0。

正常返

正常返也是在常返的概念上更進了一層,指的是對於任意一個狀態,從其他任意一個狀態出發,當時間趨近於無窮時,首次轉移到這個狀態的概率不為 0。正常返是常返的一個子類,表示在常返的概念基礎上,還附加一個轉移步數有限的條件。

這個條件主要針對無限狀態的馬爾科夫鏈,它也是為了保證在這種情況下,馬爾科夫鏈收斂的唯一穩態分布中的每一個狀態的概率都大於 0。

唯一平穩分布存在性的判定

最終,我們得到:在不可約、非周期、正常返的條件下,馬爾科夫鏈擁有唯一穩態分布,且每個狀態的概率都大於 0。

穩態的求法

解決了關於存在性的問題之后,我們其實最關心的還是穩態的求法,這個就要回歸到馬爾科夫鏈的定義中去理解了。

我們還是對照階級流動的馬爾科夫鏈的狀態轉移圖來觀察:

我們令貧窮階層為狀態 1,中產階級為狀態 2,財務自由為狀態 3,當馬爾科夫鏈到達穩態之后,三個概率趨近於極限值:\(π_{1}、π_{2}、π_{3}\)

那么首先依據分布概率的歸一性原則,有:\(π_{1}+π_{2}+π_{3}=1\)

然后,我們思索一下穩態的本質含義,就是到達穩態后,經過下一個時間的狀態轉移,馬爾科夫鏈的概率分布保持不變,這就叫平穩。即狀態一旦進入穩態分布,那么未來任何時候的狀態都保持這個穩態分布不變。

依據這個平穩的概念,我們又可以拿出幾個方程。

針對狀態 1 貧窮階層,我們有:\(0.7π_{1}+0.3π_{2}+0.2π_{3}=π_{1}\)

針對狀態 2 中產階級,我們有:\(0.2π_{1}+0.5π_{2}+0.4π_{3}=π_{2}\)

針對狀態 3 財務自由,我們有:\(0.1π_{1}+0.2π_{2}+0.4π_{3}=π_{3}\)

核心意思就是,經過狀態轉移后,下一個時間點的各狀態概率依然和本時刻相等。

當然我們可以不寫成這么臃腫的形式,寫成一個初始狀態向量乘以一步轉移概率矩陣的形式,意思就更加簡潔明了:

\(\begin{bmatrix}π_{1} & π_{2} & π_{3}\end{bmatrix} \begin{bmatrix}0.7 & 0.3 & 0.2 \\0.2 & 0.5 & 0.4 \\0.1 & 0.2 & 0.4 \end{bmatrix} = \begin{bmatrix}π_{1} & π_{2} & π_{3}\end{bmatrix}\)

同時滿足歸一性\(π_{1} + π_{2} + π_{3} = 1\)的約束條件

我們通過解方程組可以得到:

\(π_{1} = 0.46808511\)

\(π_{2} = 0.34042553\)

\(π_{3} = 0.19148936\)

我們發現其實這和 n→∞ 時的 n 步轉移概率矩陣

\(\begin{bmatrix}0.46808511&0.34042553&0.19148936\\0.46808511&0.34042553&0.19148936\\0.46808511&0.34042553&0.19148936\end{bmatrix}\)

中各行的值是一樣的,的確應該一樣,這正契合了我們前面講過的原理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM