马尔可夫链

**馬可夫鏈**（英語：Markov chain），又稱**離散時間馬可夫鏈**（discrete-time Markov chain，縮寫為 **DTMC**），因俄國數學家安德烈・馬可夫得名，為狀態空間中經過從一個狀態到另一個狀態的轉換的隨機過程。該過程要求具備「無記憶」的性質：下一狀態的機率分布只能由當前狀態決定，在時間序列中它前面的事件均與之無關。這種特定類型的「無記憶性」稱作馬可夫性質。馬爾科夫鏈作為實際過程的統計模型具有許多應用。

在馬可夫鏈的每一步，系統根據機率分布，可以從一個狀態變到另一個狀態，也可以保持當前狀態。狀態的改變叫做轉移，與不同的狀態改變相關的機率叫做轉移機率。隨機漫步就是馬可夫鏈的例子。隨機漫步中每一步的狀態是在圖形中的點，每一步可以移動到任何一個相鄰的點，在這裡移動到每一個點的機率都是相同的（無論之前漫步路徑是如何的）。

## 介紹

馬可夫鏈是離散狀態、離散時間的馬可夫過程。

## 形式化定義

馬可夫鏈是滿足馬可夫性質的隨機變數序列 _X_1, _X_2, _X_3, ...，即給出當前狀態，將來狀態和過去狀態是相互獨立的。從形式上看，

　
: 如果兩邊的條件分布有定義（即如果 $\Pr(X_{1}=x_{1},...,X_{n}=x_{n})>0$ ），則 $\Pr(X_{n+1}=x\mid X_{1}=x_{1},X_{2}=x_{2},\ldots ,X_{n}=x_{n})=\Pr(X_{n+1}=x\mid X_{n}=x_{n})$ 。

_X_i 的可能值構成的可數集 _S_ 叫做該鏈的「狀態空間」。

通常用一系列有向圖來描述馬可夫鏈，其中圖 _n_ 的邊用從時刻 _n_ 的狀態到時刻 _n+1_ 的狀態的機率 $\Pr(X_{n+1}=x\mid X_{n}=x_{n})$ 來標記。也可以用從時刻 _n_ 到時刻 _n+1_ 的轉移矩陣表示同樣的訊息。但是，馬氏鏈常常被假定為時齊的（見下文的變種），在這種情況下，圖和矩陣與 _n_ 無關，因此也不表現為序列。

這些描述強調了馬可夫鏈與初始分布 $\Pr(X_{1}=x_{1})$ 無關這一結構。當時齊的時候，可以認為馬氏鏈是分配從一個頂點或狀態跳變到相鄰一個的機率的狀態機。可以把機器狀態的機率 $\Pr(X_{n}=x|X_{1}=x_{1})$ 作為僅有元素 $x_{1}$ 的狀態空間為輸入的機器的統計行為分析，或作為初始分布為 $\Pr(X_{1}=y)=[x_{1}=y]$ 狀態為輸入的機器行為，其中 $[P]$ 是艾佛森括號。

一些狀態序列可能會有零機率的事件，對應多連通分量的圖，而我們禁止轉移機率為 0 的邊。例如，若 _a_ 到 _b_ 的機率非零，但 _a_ 到 _x_ 位於圖的不同連通分量，那麼 $\Pr(X_{n+1}=b|X_{n}=a)$ 有意義，而 $\Pr(X_{n+1}=b|X_{1}=x,...,X_{n}=a)$ 無意義。

### 變種

* 連續時間馬可夫過程具有連續索引。
* **時齊馬可夫鏈**（或**靜態馬可夫鏈**）是對於所有 _n_

　
: : $\Pr(X_{n+1}=x\mid X_{n}=y)=\Pr(X_{n}=x\mid X_{n-1}=y)\,$

　
: 的過程。轉移機率與 _n_ 無關。

* **_m_ 階馬可夫鏈**（或記憶為 _m_ 的馬可夫鏈），其中 _m_ 有限，為滿足

　
: : ${\begin{aligned}{}&\Pr(X_{n}=x_{n}\mid X_{n-1}=x_{n-1},X_{n-2}=x_{n-2},\dots ,X_{1}=x_{1})\\=&\Pr(X_{n}=x_{n}\mid X_{n-1}=x_{n-1},X_{n-2}=x_{n-2},\dots ,X_{n-m}=x_{n-m}){\text{ for }}n>m\end{aligned}}$

　
: 的過程。換句話說，未來狀態取決於其前 _m_ 個狀態。It is possible to construct a chain（_Yn_）from (_Xn_) which has the 'classical' Markov property by taking as state space the ordered _m_-tuples of _X_ values, ie. _Yn_ =(_Xn_, _X_n−1, ..., _X_n−_m_+1)。

## 瞬態演變

用 _n_ 步從狀態 _i_ 到狀態 _j_ 的機率為

　
: $p_{ij}^{(n)}=\Pr(X_{n}=j\mid X_{0}=i)\,$

而單步轉移是

　
: $p_{ij}=\Pr(X_{1}=j\mid X_{0}=i).\,$

對於一個時齊馬可夫鏈來說：

　
: $p_{ij}^{(n)}=\Pr(X_{k+n}=j\mid X_{k}=i)\,$

而

　
: $p_{ij}=\Pr(X_{k+1}=j\mid X_{k}=i).\,$

_n_ 步轉移機率滿足查普曼 - 科爾莫戈羅夫等式，對任意 _k_ 使得 0 <_k_ < _n_，

　
: $p_{ij}^{(n)}=\sum _{r\in S}p_{ir}^{(k)}p_{rj}^{(n-k)}$

其中 _S_ 為此馬可夫鏈的狀態空間。

邊際分布 Pr (_X_n = _x_) 為第 _n_ 次狀態的分布。初始分布為 Pr (_X_0 = _x_)。用一步轉移把過程演變描述為

　
: $\Pr(X_{n}=j)=\sum _{r\in S}p_{rj}\Pr(X_{n-1}=r)=\sum _{r\in S}p_{rj}^{(n)}\Pr(X_{0}=r)$ 。

注意：上標（_n_）是索引而非指數。

## 性質

### 可還原性

馬可夫鏈是由一個條件分布來表示的

　
: $P(X_{n+1}|X_{n})\,$

這被稱為是隨機過程中的「轉移機率」。這有時也被稱作是「一步轉移機率」。二、三，以及更多步的轉移機率可以導自一步轉移機率和馬可夫性質：

　
: $P(X_{n+2}|X_{n})=\int P(X_{n+2},X_{n+1}|X_{n})\,dX_{n+1}=\int P(X_{n+2}|X_{n+1})\,P(X_{n+1}|X_{n})\,dX_{n+1}$

同樣，

　
: $P(X_{n+3}|X_{n})=\int P(X_{n+3}|X_{n+2})\int P(X_{n+2}|X_{n+1})\,P(X_{n+1}|X_{n})\,dX_{n+1}\,dX_{n+2}$

這些式子可以通過乘以轉移機率並求 $k-1$ 次積分來一般化到任意的將來時間 $n+k$ 。

### 週期性

邊際分布 $P(X_{n})$ 是在時間為 $n$ 時的狀態的分布。初始分布為 $P(X_{0})$ 。該過程的變化可以用以下的一個時間步幅來描述：

　
: $P(X_{n+1})=\int P(X_{n+1}|X_{n})\,P(X_{n})\,dX_{n}$

這是 Frobenius-Perron equation 的一個版本。這時可能存在一個或多個狀態分布 $\pi $ 滿足

　
: $\pi (X)=\int P(X|Y)\,\pi (Y)\,dY$

其中 $Y$ 只是為了便於對變數積分的一個名義。這樣的分布 $\pi $ 被稱作是「平穩分布」（Stationary Distribution）或者「穩態分布」（Steady-state Distribution）。一個平穩分布是一個對應於特徵值為 $1$ 的條件分布函數的特徵方程式。

平穩分布是否存在，以及如果存在是否唯一，這是由過程的特定性質決定的。「不可約」是指每一個狀態都可來自任意的其它狀態。當存在至少一個狀態經過一個固定的時間段後連續返回，則這個過程被稱為是「週期的」。

### 重現性

### 各態歷遍性

具有重現性而不具有週期性叫做遍歷的。重現性包括局部重現性。

### 律動性

### 平穩狀態分析和極限分布

### 平穩狀態分析和時齊馬可夫鏈

## 有限狀態空間

若狀態空間是有限的，則轉移機率分布可以矩陣表示，該矩陣稱為轉移矩陣，記為 **P**。其中處於 $(i,j)$ 的元素等於

　
: $p_{ij}=\Pr(X_{n+1}=j\mid X_{n}=i).\,$

由於 **P** 的每一行各元素之和為 1，且 **P** 中所有的元素都是非負的，因此 **P** 是一個右隨機矩陣。

### 穩定分布與特徵向量和單體的關係

穩定分布 **π** 是一個（行）向量，它的元素都非負且和為 1，不隨施加 **P** 操作而改變，定義為

　
: $\pi \mathbf {P} =\pi .\,$

通過將這個定義與特徵向量進行比較，我們看到，這兩個概念是相關的，並且

　
: $\pi ={\frac {e}{\sum _{i}{e_{i}}}}$

是由（ $\textstyle \sum _{i}\pi _{i}=1$ ）歸一化的轉移矩陣 **P** 的左特徵向量 **e** 的倍數，其特徵值為 1。如果有多個單位特徵向量那麼相應穩態的加權和也是穩態。但對於馬可夫鏈來說，我們更關心的是作為一些對初始分布的序列分布的極限的穩態。

穩定分布 $\textstyle \pi _{i}$ 的值與狀態空間 **P** 有關，它的特徵向量保留各自的相對比例。因為 **π** 的成分為正且滿足約束條件 $\textstyle \sum _{i}1\cdot \pi _{i}=1$ ，我們發現 **π** 與一個成分全為 1 的向量的點積是統一的，、**π** 位於一個單體上。

### 有限狀態空間內的時齊馬可夫鏈

對於一個離散狀態空間， $k$ 步轉移機率的積分即為求和，可以對轉移矩陣求 $k$ 次冪來求得。就是說，如果 $\mathbf {P} $ 是一步轉移矩陣， $\mathbf {P} ^{k}$ 就是 $k$ 步轉移後的轉移矩陣。

如果轉移矩陣 $\mathbf {P} $ 不可約，並且是非週期的，則 $\mathbf {P} ^{k}$ 收斂到一個每一列都是不同的平穩分布 $\pi ^{*}$ ，並且，

　
: $\lim _{k\rightarrow \infty }\mathbf {P} ^{k}=\pi ^{*}$ ,

獨立於初始分布 $\pi $ 。這是由 Perron-Frobenius theorem 所指出的。

正的轉移矩陣（即矩陣的每一個元素都是正的）是不可約和非週期的。矩陣被稱為是一個隨機矩陣，若且唯若這是某個馬可夫鏈中轉移機率的矩陣。

注意：在上面的定式化中，元素 $(i,j)$ 是由 j 轉移到 i 的機率。有時候一個由元素 $(i,j)$ 給出的等價的定式化等於由 i 轉移到 j 的機率。在此情況下，轉移矩陣僅是這裡所給出的轉移矩陣的轉置。另外，一個系統的平穩分布是由該轉移矩陣（每列的和為 1）的右特徵向量給出的，而不是左特徵向量。

轉移機率獨立於過去的特殊況為熟知的 Bernoulli scheme。僅有兩個可能狀態的 Bernoulli scheme 被熟知為伯努利過程

### 趨向穩定分布的收斂速度

## 可反轉馬可夫鏈

可反轉馬可夫鏈類似於應用貝氏定理來反轉一個條件機率：

　
: ${\begin{aligned}\Pr(X_{n}=i\mid X_{n+1}=j)&={\frac {\Pr(X_{n}=i,X_{n+1}=j)}{\Pr(X_{n+1}=j)}}\\&={\frac {\Pr(X_{n}=i)\Pr(X_{n+1}=j\mid X_{n}=i)}{\Pr(X_{n+1}=j)}}.\end{aligned}}$

以上就是反轉的馬可夫鏈。因而，如果存在一個 **π**，使得：

　
: $\pi _{i}p_{ij}=\pi _{j}p_{ji}.\,$

那麼這個馬可夫鏈就是可反轉的。

這個條件也被稱為細緻平衡（detailed balance）條件。

對於所有的 _i_ 求和：

　
: $\sum _{i}\pi _{i}p_{ij}=\pi _{j}\,$

所以，對於可反轉馬可夫鏈，_π_ 總是一個平穩分布。

## 伯努利方案

伯努利方案是馬可夫鏈的一種特殊情形，其轉移機率矩陣有相同的行，即下一狀態均勻獨立於當前狀態（除了獨立於過往狀態以外）。 僅有兩個可能狀態的伯努利方案是伯努利過程。

## 一般的狀態空間

對於一般狀態空間上的馬可夫鏈的概述，詳見文章狀態空間可測的馬可夫鏈。

### Harris 鏈

### 局部交互的馬可夫鏈

## 應用

### 物理

馬可夫系統廣泛出現在熱力學和統計力學中，

### 化學

### 測試

### 語音識別

隱馬爾科夫模型是大多數現代自動語音識別系統的基礎。

### 資訊科學

### 排隊理論

### 網際網路應用

谷歌所使用的網頁排序算法（PageRank）就是由馬可夫鏈定義的。如果 $N$ 是已知的網頁數量，一個頁面 $i$ 有 $k_{i}$ 個連結到這個頁面，那麼它到連結頁面的轉換機率為 ${\frac {\alpha }{k_{i}}}+{\frac {1-\alpha }{N}}$ ，到未連結頁面的機率為 ${\frac {1-\alpha }{N}}$ ， 參數 $\alpha $ 的取值大約為 0.85。

馬可夫模型也被應用於分析用戶瀏覽網頁的行為。一階或者二階的馬可夫模型可以用於對一個用戶從某一網絡連結轉移到另一連結的行為進行建模，然後這些模型可以用於對用戶之後的瀏覽行為進行預測。

### 統計

### 經濟和金融

馬爾科夫鏈可以應用於金融與經濟中一系列現象的建模，包括資產價值與市場衝擊。1974 年 Prasad 等人第一次應用馬爾科夫鏈於金融模型，另一個是 James D. Hamilton 1989 年應用的機制轉換模型，其中馬爾科夫鏈用來對高 GDP 增長速度時期與低 GDP 增長速度時期（換言之，經濟擴張與緊縮）的轉換進行建模。

### 社會科學

### 生物數學

馬可夫鏈也有眾多的生物學應用，特別是增殖過程，可以幫助模擬生物增殖過程的建模。隱蔽馬可夫模型還被用於生物訊息學，用以編碼區域或基因預測（見哈代 - 溫伯格定律。）

### 遺傳學

### 遊戲

### 音樂

馬可夫鏈也被用於算法作曲，例如在 Csound 、 Max 和 SuperCollider 等軟體中。在一階鏈中，該系統的狀態是音符或音高，再構建每個音符的轉移機率，完成轉移矩陣。算法根據轉移矩陣生成音符的輸出，該值可以是 MIDI 音符值、音高或其他量。

### 棒球

### 馬可夫文本生成器

馬可夫過程，能為給定樣品文本，生成粗略，但看似真實的文本：他們被用於眾多供消遣的「模仿生成器」軟體。馬可夫鏈還被用於譜曲。

### 資訊理論

用於計算馬可夫信源的極限熵

## 歷史

馬可夫在 1906 年首先做出了這類過程。而將此一般化到可數無限狀態空間是由俄國數學家科摩哥洛夫（俄語：Андре́й Никола́евич Колмого́ров）在 1936 年給出的。馬可夫鏈與布朗運動以及遍歷假說這兩個二十世紀初期物理學重要課題是相聯繫的，但馬可夫尋求的似乎不僅於數學動機，名義上是對於縱屬事件大數法則的擴張。

## 隱馬可夫模型

* 語音辨識

## 參看

* 馬可夫性質
* 隱藏式馬可夫模型
* 量子馬可夫鏈
* 馬爾科夫蒙地卡羅

 

## 參考文獻

### 引用

### 來源

## 外部連結