蒙特卡洛取樣

2021-08-24 17:25:42 字數 1669 閱讀 8755

1.馬爾可夫鏈及其平穩分布

馬爾可夫鏈的定義很簡單,即後乙個狀態只與前面乙個狀態相關

$$p(x_t|x_,\cdots,x_)=p(x_t|x_)$$

2.馬氏鏈定理

如果乙個非週期馬爾可夫鏈具有狀態轉移矩陣\(p\),且它的任意兩個狀態都是連通的,那麼\(\mathop \limits_(p^n)_\)存在且與\(i\)無關,記\(\mathop \limits_(p^n)_=\pi_j\),那麼有

1.$$p^n = \left[\begin \pi_1 & \cdots & \pi_j & \cdots \\ \pi_1 & \cdots & \pi_j & \cdots \\ \pi_1 & \cdots & \pi_j & \cdots\end\right]$$

2.$$\pi_j=\sum_i \pi_ip_$$

3.$$\pi p=\pi$$

其中\(\pi\)稱作馬爾可夫鏈的平穩分布。

3.mcmc

給定乙個概率分布\(p(x)\),如果希望生成它的樣本,那麼可以找到乙個馬爾可夫鏈,使得它的平穩分布為\(p(x)\),那麼根據該馬爾可夫鏈的轉移矩陣進行轉移,在該馬爾可夫鏈收斂之後就能得到\(p(x)\)的樣本

細緻平穩條件

若狀態轉移矩陣和概率分布\pi(x)滿足

$$\pi_ip_=\pi_jp_$$

則稱\pi(x)為該馬爾可夫鏈的平穩分布。

假設想要得到從\(p(x)\)中取樣出它的樣本,且我們已經有了乙個狀態轉移矩陣\(p\),通常

$$p(i)p_\neq p(j)p_$$

因此我們引入乙個\(\alpha_\)並令

$$\alpha_=p(j)p_$$

則有$$p(i)p_\alpha_=p(j)p_\alpha_$$

我們取新的狀態轉移矩陣

$$q_=p_\alpha_$$。

此時\(q\)所對應的馬爾可夫鏈的平穩分布即為p(x)。

其中\(\alpha_\)可以被認為是接受率,也就是說,以\(p_\)的概率從\(i\)轉移到\(j\)時,我們以\(\alpha_\)的概率接受新的狀態\(j\)。

可以將mcmc取樣的過程總結如下

1.初始化狀態\(x_0=x_0\)

2.對於\(t=1,2,\cdots\)

從\(p(x|x_)\)中取樣出y

從[0,1]的均勻分布中取樣\(u\)

若\(u<\alpha_y}\),則接受\(x_t=y\),否則保持原有狀態\(x_t=x_\)

上述過程存在一定缺點,當\(\alpha_\)很小時,大量的轉移會被拒絕,從而導致馬爾可夫鏈收斂緩慢,因此可以對\(\alpha_\)進行一下改造,考慮細緻平穩條件

$$p(i)p_\alpha_=p(j)p_\alpha_$$

將上式子兩邊同時除以\(\alpha_\)我們得到

$$p(i)p_\frac}}=p(j)p_$$

因此我們得到最終的mcmc取樣

1.初始化狀態\(x_0=x_0\)

2.對於\(t=1,2,\cdots\)

從\(p(x|x_)\)中取樣出y

從[0,1]的均勻分布中取樣\(u\)

若\(u<\min(\frac,y)})},1),則接受x_t=y\),否則保持原有狀態\(x_t=x_\)

蒙特卡洛理解

蒙特卡羅演算法並不是一種演算法的名稱,而是是一類隨機方法的統稱。這類方法的特點是,可以在隨機取樣上計算得到近似結果,隨著取樣的增多,得到的結果是正確結果的概率逐漸加大,但在 放棄隨機取樣,而採用類似全取樣這樣的確定性方法 獲得真正的結果之前,無法知道目前得到的結果是不是真正的結果。從特性特性來說,我...

蒙特卡洛演算法

從今天開始要研究sampling methods,主要是mcmc演算法 contents 1.蒙特卡洛介紹 2.蒙特卡洛的應用 3.蒙特卡洛積分 1.蒙特卡洛介紹 蒙特卡羅方法 monte carlo method 也稱統計模擬方法,是二十世紀四十年代中期由於科學技術的 發展和電子計算機的發明,而被...

蒙特卡洛方法

蒙特卡洛方法 monte carlo method,也有翻譯成 蒙特卡羅方法 是以概率和統計的理論 方法為基礎的一種數值計算方法,將所求解的問題同一定的概率模型相聯絡,用計算機實現統計模擬或抽樣,以獲得問題的近似解,故又稱隨機抽樣法或統計試驗法。上述就是蒙特卡洛方法的基本概念,比較抽象,下面結合實際...