背景
貝葉斯統計推斷是一個非常藝術的東西,他的先驗結果(prior knowledge)是一種專家的經驗,而貝葉斯公式給出的后驗分布是貝葉斯推斷的基本工具。每個大學生都應該學過數理統計,其中提及的貝葉斯統計推斷都是一些基于簡單先驗和簡單后驗的結果。
但當我們一旦碰到復雜的先驗(比如高維參數、復雜先驗分布),我們用貝葉斯公式得出的后驗分布將變得非常復雜,在計算上會非常困難。為此,先人提出了MCMC算法方便我們可以對任何后驗分布進行計算或推斷。其思想就是其名字:兩個MC。
第一個MC: Monte Carlo(蒙特卡洛)。這個簡單來說是讓我們使用隨機數(隨機抽樣)來解決計算問題。在MCMC中意味著:后驗分布作為一個隨機樣本生成器,我們利用它來生成樣本(simulation),然后通過這些樣本對一些感興趣的計算問題(特征數,預測)進行估計。
第二個MC:Markov Chain(馬爾科夫鏈)。第二個MC是這個方法的關鍵,因為我們在第一個MC中看到,我們需要利用后驗分布生成隨機樣本,但后驗分布太復雜,一些package中根本沒有相應的隨機數生成函數(如rnorm(),rbinom()
)怎么辦?答案是我們可以利用Markov Chain的平穩分布這個概念實現對復雜后驗分布的抽樣。
Markov Chain
為了能順利闡述MCMC算法,這里就簡單地講一下所涉及到的馬爾科夫鏈概念。因為都是我個人的理解,這里所講不敢說都是正確的,希望各位童鞋能夠獨立思考。
1.什么是Markov Chain
隨機過程${X_n},X_n$的狀態空間為有限集或可列集,比如當$X_n=i$,就稱過程在n處于狀態i。
定義:如果對任何一列狀態$i_0,i_1,...,i_{n-1},i,j$,及對任何n≥0,隨機過程${X_n}$滿足Markov性質:
$$P{X_{n+1}=j|X_0=i_0,...X_{n-1}=i_{n-1},X_n=i}\=P{X_{n+1}=j|X_n=i}$$
轉移概率
$P{x_{n+1}=j|X_n=i}$成為Markov鏈的一步轉移概率$P_{ij}^{n,n+1}$,當這個概率與n無關,則記之為$P_{ij}$
轉移概率矩陣P
這個矩陣的元素就是一步轉移概率$P_{ij}$
結論
一個Markov鏈可以由它的初始狀態以及轉移概率矩陣P完全確定。(證明略,自行百度或翻書)
2.n步轉移概率
所謂n步轉移概率就是從狀態i走n步正好到狀態j的概率,我們記為$P_{ij}^{(n)}$。
利用概率分割的思想,由基礎概率論中全概率公式可以得到$$P_{ij}{(n)}=\Sigma_{k=0}{\infty}P_{ik}P_{kj}^{(n-1)}$$ 寫成矩陣形式就是$$P^{(n)}=P\times P^{(n-1)}$$
進一步推廣,我們就推出了著名的Chapman-Kolmogorov方程:$$P_{ij}{(n+m)}=\Sigma_{k=0}{\infty}P_{ik}{(n)}P_{kj}{(m)}$$寫成矩陣形式就是$$P{(m+n)}=P{(m)}\times P^{(n)}$$
3.Markov鏈的極限定理和平穩分布
現在我們已經有了n步轉移概率的概念,一個很簡單的想法就是如果n趨向無窮會怎么樣?這個問題也是后面極限分布以及平穩分布的來源,更是MCMC算法中第二個MC的關鍵。
要回答這個問題首先要掌握幾個關鍵概念,我先列出來,如果不熟悉的可以自行百度或翻書:
- 互達性($i \leftrightarrow j$)
- 周期性(d(i))
- 常返與瞬過($f_{ii}=1$)
- 常返時($\T_i$)
3.1互達性、周期性
幾個重要結論(證明略,自行百度,或者call me)
- $i \leftrightarrow j,\Rightarrow d(i)=d(j)$
- $若存在d(i)<\infty,則存在N,對所有n>N,有P_{ii}^{(nd(i))}>0$
- $P_{ji}^{(m)}>0,\Rightarrow 存在N,對所有n>N,有P_{ii}^{(m+nd(i))}>0$
- 對于非周期不可約Markov鏈的轉移概率矩陣P,存在N,當n≥N時,$P^{(n)}>0$
3.2常返、瞬過、常返時
引入重要概率$f_{ij}{(n)}$表示從i出發在n步**首次**到達j的概率,我們約定$f_{ii}{(0)}=0$
$定義f_{ij}=\Sigma_{n=1}{\infty}f_{ij}{(n)}$表示從i出發最終到j的概率。
$定義:如果f_{ii}=1,則狀態i是常返的,否則是瞬過的$
$我們記T_i為首次返回i的步長,且\mu_i=ET_i$
$若\mu_i=\infty,則稱狀態i是零常返,否則正常返$
3.3 極限定理
是時候回答上面那個問題了!(摘自網絡共享PPT)

另外對于一個正常返、非周期的狀態(也稱為遍歷ergodic),我們有結論:$$對所有i\leftrightarrow j,有limP_{ji}{(n)}=limP_{ii}{(n)}=\frac{1}{\mu_i}$$
到這里,我們可以想象了,n步轉移概率矩陣最終的極限形式應該是由相同的行向量組成的!!!我們把那個行向量稱為極限概率分布。 但是,問題還沒完,要計算極限概率,就要根據極限定理,求出很多東西(如$f_{ii}^{(n)}$),實際中并不方便。所以,我們要引入平穩分布這個概念。最關鍵的部分來了!!!!
3.3 平穩分布
什么是平穩分布?它和求極限概率分布有什么關系呢?
定義:Markov鏈有轉移概率矩陣P,如果有一個概率分布${\pi_i }滿足\pi_j =\Sigma_{i=0}^{\infty}\pi_i P_{ij}$,則稱為這個Markov鏈的平穩分布。這個定義用矩陣形式寫出來就是π*P=π.
這個定義內容很豐富:如果一個過程的初始狀態$X_0$有平穩分布π,我們可以知道對所有n,$X_n$有相同的分布π。再根據Markov性質可以得到,對任何k,有$X_n,X_{n+1},...,X_{n+k}$的聯合分布不依賴于n,顯然這個過程是嚴格平穩的,平穩分布也由此得名!!
重要定理
若一個markov鏈中所有的狀態都是遍歷的,則對所有i,j有$limP_{ij}{(n)}=\pi_j存在,且\pi={\pi_j,j≥0}就是平穩分布$。反之,拖一個不可約Markov鏈只存在一個平穩分布,且這個Markov鏈的所有狀態都是遍歷的,則這個平穩分布就是該Markov鏈的極限概率分布。$$limP_{ij}{(n)}=\pi_j$$
上面這條定理就給出了通過求平穩分布來求Markov鏈極限概率分布的簡單方法。到這里我對第二個MC的解讀也就結束了。下一期我們就要開始具體講講怎么應用MCMC算法對后驗分布進行抽樣和推斷。