Try   HackMD

Markov Chain(馬可夫鏈)

馬可夫鏈 (Markov Chain) 是一種數學模型,是一種用來建立狀態轉換模型的數學工具。它被用於描述具有隨機變化的系統的動態行為,例如天氣、金融市場、語言等。

馬可夫鏈是一種具有馬可夫性質(Markov Property)的隨機過程。所謂馬可夫性質,是指當前狀態的條件下,未來狀態的機率分佈只取決於當前狀態,而與過去狀態無關。換言之,馬可夫鏈的狀態轉移只依賴於當前的狀態,而不依賴於過去的狀態。

馬可夫鏈可以用一個狀態轉移矩陣(State Transition Matrix)來描述,該矩陣的元素表示從一個狀態轉移到另一個狀態的概率

例如,對於一個有限狀態空間

S={s1,s2,,sn} 的馬可夫鏈,狀態轉移矩陣
P
為:

P = [ p11  p12 ... p1n ]
    [ p21  p22 ... p2n ]
    [  .    .       .  ]
    [ pn1  pn2 ... pnn ]

其中

pij 表示從狀態
si
轉移到狀態
sj
的概率,且滿足以下條件:

  1. pij0,i,j
  2. j=1npij=1

馬可夫鏈的演進可以通過矩陣乘法來計算

  • 假設當前的狀態為向量
    v
    ,則下一個狀態的概率分佈為向量
    vP
    ,其中
    vP
    是向量
    v
    乘以矩陣
    P

例子

假設有一個人每天的心情都有好、壞、一般三種狀態,並且該人的今天的心情只與前一天的心情有關,也就是該人的心情是一個一階馬可夫鏈。

假設今天該人的心情是好,那麼明天他的心情有三種可能:

  • 好、壞、一般。根據該人過去的經驗,他從好心情轉移到其他狀態的機率分別為 0.1 和 0.4,而從好心情轉移到好心情的機率為 0.5。

假設明天他的心情是壞,那麼後天他的心情也有三種可能:

  • 好、壞、一般。根據該人過去的經驗,他從壞心情轉移到其他狀態的機率分別為 0.2 和 0.6,而從壞心情轉移到壞心情的機率為 0.2。

同樣地,假設明天他的心情是一般,那麼後天他的心情也有三種可能:

  • 好、壞、一般。根據該人過去的經驗,他從一般心情轉移到其他狀態的機率分別為 0.3 和 0.3,而從一般心情轉移到一般心情的機率為 0.4。

這樣,我們就可以建立一個狀態轉移矩陣,該矩陣描述了該人的心情從一個狀態轉移到另一個狀態的機率。例如,假設現在該人的心情是好,那麼明天他的心情從好轉移到好、壞、一般的機率分別為 0.5、0.1 和 0.4。狀態轉移矩陣如下所示:

一般
0.5 0.4 0.1
0.2 0.2 0.6
一般 0.3 0.3 0.4

我們還可以通過狀態轉移矩陣來計算該人在任意時間內心情的概率分布。例如,假設現在該人的心情是好,我們可以通過矩陣運算來計算他明天、後天、大後天等時間內心情的概率分布。具體地,我們可以將該人的心情表示為一個向量

例如

[0.70.20.1] 表示他現在的心情有 70% 的機會是好、20% 的機會是壞、10% 的機會是一般。然後,我們可以通過矩陣乘法將該向量與狀態轉移矩陣相乘,得到他明天的心情的概率分布。具體地,假設現在該人的心情是好,則他明天的心情的概率分布可以計算如下:

[0.70.20.1]×[0.50.40.10.20.20.60.30.30.4]=[0.430.270.3]

表示他明天有 43% 的機會是好心情、27% 的機會是壞心情、30% 的機會是一般心情。

同樣地,我們可以通過重複進行矩陣乘法來計算該人在任意時間內心情的概率分布。例如,我們可以通過將該向量與狀態轉移矩陣相乘兩次,來計算他後天的心情的概率分布。具體地,假設現在該人的心情是好,則他後天的心情的概率分布可以計算如下:

[0.70.20.1]×[0.50.40.10.20.20.60.30.30.4]×[0.50.40.10.20.20.60.30.30.4]=[0.3610.2980.341]

這表示他後天有 36.1% 的機會是好心情、29.8% 的機會是壞心情、34.1% 的機會是一般心情。

需要注意的是,馬可夫鏈假設當前的狀態只取決於前一個狀態,而不是多個過去的狀態。因此,我們假設任意時間的心情狀態只受前一天的心情狀態影響,而不受更早的天數的心情狀態影響。

這種假設有時可能並不符合實際情況,但是對於一些簡單的系統,馬可夫鏈仍然可以提供有用的信息和預測。