日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

求离散马尔科夫链的平稳分布+按照一定概率分布生成想要的样本

發布時間:2023/12/2 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 求离散马尔科夫链的平稳分布+按照一定概率分布生成想要的样本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 求離散馬爾科夫鏈的平穩分布的兩種解法

假設離散馬爾科夫鏈的轉移矩陣為P PP,平穩分布為π \piπ,則平穩分布滿足:

Pπ=πP \pi = \piPπ=π

1.1 迭代法

求平穩分布的一種簡單方法是迭代法,即隨機初始化初始分布π 0 \pi_0π
0
?
,利用上式不斷迭代求解下一時刻的狀態分布直到狀態分布收斂,則求得平穩分布。

"""通過markov_marix迭代得到`平穩分布`. """ pi0 = zeros(num) pi0[0] = 1 pi = list([pi0]) for i in range(200):print('epoch %02d' % (i+1), pi[-1])pi.append(markov_marix.dot(pi[-1]))if sum(abs(pi[-1]-pi[i])) <= 1e-7:print('break...', pi[-1])break steady_vec = pi[-1] # 平穩分布 print('平穩分布:', steady_vec)

1.2 特征分解法

另一種解法是利用特征分解,由于平穩分布滿足P π = π P\pi=\piPπ=π,與特征方程A x = λ x Ax=λxAx=λx聯系可知平穩分布π ππ就是轉移矩陣P PP的特征值為1對應的特征向量(歸一化),因此可以直接對轉移矩陣進行特征分解來求平穩分布。

"""特征分解求平穩分布. """ values, vecs = eig(markov_marix,) for i in range(len(values)):if abs(values[i]-1) <= 1e-9:print(values[i])print(vecs[:, i]/sum(vecs[:, i]))

模擬結果如下,兩種方法求得平穩分布一致

2. MCMC方法: 按照一定概率分布生成想要的樣本

按照一定的概率分布生成我們想要的樣本,實在實際應用中非常重要的方法, 相關的方法也有許多了, 對于給定的一維函數 f(x) , 有許多常用的采樣方法是的樣本符合 f(x) 的概率分布, 但是想要模擬一個其分量為相關隨機變量的隨機向量 X ,確實一件困難的事. 下面我們介紹一個強有力的方法來生成分布近似為 X 的分布的隨機向量. 這種方法被稱為 MCMC 方法.

2.1 馬氏鏈

考慮一組隨機變量: X0,X1,… . 這里把 Xn 解釋為"在時間點n的系統的狀態, 并假設 Xn 可能取值的集合,即系統所能達到的狀態的集合為 1,…,N . 如果存在一組數 Pij,i,j=1,...,NP_{ij},i,j=1,...,NPij?,i,j=1,...,N , 使得過程無論什么時候處于狀態 i , 不用管前面的狀態如何, 其下一個狀態是 j 的概率為 PijP_{ij}Pij? , 我們便稱 {Xn,n≥0} , 構成一個轉移矩陣為 Pij,i,j=1,...,NP_{ij},i,j=1,...,NPij?,i,j=1,...,N 的馬氏鏈. 顯然,從上一個時間點上的狀態 i 轉移到下一個時間點上的所有的狀態的概率之和應該是1:



現在的主要問題是: 我們想要生成一個符合我們要求的穩定概率的馬氏鏈, 那么我們通過運行這個馬氏鏈來獲得樣本,這個樣本就應該符合我們想要的概率.

2.2 Hastings-Metropolos算法

在介紹這個算法之前, 我們先來給出一個結論: 定理:[細致平穩條件] 如果非周期馬氏鏈的轉移矩陣 P 和分布 π(x) 滿足:

π(i)Pij=π(j)Pij,foralli,j(1)π(i)P_{ij}=π(j)P_{ij},\ for\ all\ i,j\ (1)π(i)Pij?=π(j)Pij?,?for?all?i,j?(1)

π(x)\pi(x)π(x) 是馬氏鏈的平穩分布,上式被稱為細致平穩條件(detailed balance condition)。

我們可以通過這個條件, 來構建任意我們想要的穩定概率的轉移矩陣.

原文鏈接:https://blog.csdn.net/weixin_43486780/article/details/104407875
http://logicgogh.github.io/articles/MCMC

總結

以上是生活随笔為你收集整理的求离散马尔科夫链的平稳分布+按照一定概率分布生成想要的样本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。