UA MATH575B 数值分析下 计算统计物理例题2
UA MATH575B 數值分析下 計算統計物理例題2
- 理論解法
- C-K方程法
- 特征值法(近似解)
- 模擬解法
- Rejection Sampling
- Importance Sampling
一個位于原點x0=0x_0=0x0?=0的粒子源,它釋放出的例子下一個時刻有2/3的概率的停在原地,有1/3的概率往右移動一個單位;當粒子位于x=1,2,?,19x=1,2,\cdots,19x=1,2,?,19的位置時,有2/3的概率往左移動一個單位,有1/3的概率往右移動一個單位;x=20x=20x=20是一個吸收狀態。求這個吸收狀態的吸收率γ\gammaγ。
理論解法
這個粒子的運動可以用一個Markov鏈表示,記概率轉移矩陣為TTT:
C-K方程法
用Chapman-Kolmogorov方程的思想,記E(x0→A)E(x_0 \to A)E(x0?→A)表示粒子從狀態x0x_0x0?出發轉移到狀態子集AAA中所需的時間的期望,則
E(x→A)=∑y∈AT(x,y)+∑y?AT(x,y)(1+E(y→A))E(x \to A) = \sum_{y \in A} T(x,y) + \sum_{y \notin A} T(x,y) ( 1 + E(y \to A))E(x→A)=y∈A∑?T(x,y)+y∈/?A∑?T(x,y)(1+E(y→A))
第一項表示經過一步轉移就到了狀態子集AAA中的概率,第二項表示如果第一步沒能直接轉移到位,記轉移到了狀態yyy,對應的概率為T(x,y),y?AT(x,y),y\notin AT(x,y),y∈/?A,然后E(y→A)E(y \to A)E(y→A)表示粒子從狀態yyy出發轉移到狀態子集AAA中所需的時間的期望,但此時已經走了一步了所以加1,
∑y∈AT(x,y)+∑y?AT(x,y)(1+E(y→A))=1+∑y?AT(x,y)E(y→A)\sum_{y \in A} T(x,y) + \sum_{y \notin A} T(x,y) ( 1 + E(y \to A)) = 1+\sum_{y \notin A} T(x,y) E(y \to A)y∈A∑?T(x,y)+y∈/?A∑?T(x,y)(1+E(y→A))=1+y∈/?A∑?T(x,y)E(y→A)
記Ex=E(x→{20})E_x = E(x \to \{20\})Ex?=E(x→{20}),則
E0=1+23E0+13E1E_0 = 1 + \frac{2}{3} E_0 + \frac{1}{3} E_1E0?=1+32?E0?+31?E1?
當x=1,?,18x=1,\cdots,18x=1,?,18時,
Ex=1+23Ex?1+13Ex+1E_x = 1 + \frac{2}{3} E_{x-1} + \frac{1}{3} E_{x+1}Ex?=1+32?Ex?1?+31?Ex+1?
當x=19x = 19x=19時,
E19=1+23E18E_{19} = 1 + \frac{2}{3} E_{18}E19?=1+32?E18?
由此我們得到了一個有二十個未知量、二十個方程的線性方程組,求解這個線性方程組我們可以得到E0=6291390E_0=6291390E0?=6291390。也就是說在原點放出一個粒子,它平均需要移動6291390步才能到達吸收狀態,因此吸收狀態的吸收率是γ=1/6291390\gamma=1/6291390γ=1/6291390。
特征值法(近似解)
假設初始狀態的概率分布是π0\pi_0π0?,則nnn步后的狀態分布是πn=π0Tn\pi_n = \pi_0 T^nπn?=π0?Tn。做轉移概率矩陣的對角化:T^=VΛV?1\hat{T} = V\Lambda V^{-1}T^=VΛV?1,則πn=π0VΛnV?1\pi_n=\pi_0V \Lambda^n V^{-1}πn?=π0?VΛnV?1。注意到這個Markov鏈只有一個吸收狀態,所以不論π0\pi_0π0?取什么值,當nnn足夠大時,πn\pi_nπn?都會退化為δ(xn?20)\delta(x_n - 20)δ(xn??20),并且狀態202020對應的特征值為0。因此我們可以用第二大的特征值來近似πn\pi_nπn?,
πn≈π0λ2n\pi_n \approx \pi_0 \lambda_2^nπn?≈π0?λ2n?
吸收率就近似為1?λ21-\lambda_21?λ2?
模擬解法
Rejection Sampling
這是老師給的答案,大概是用python來寫,先import一下random的包然后設置初始值。當粒子沒有到狀態20時做rejection sampling,輸出所有例子最快到達吸收狀態的時間。
根據這個code可以畫出停時的分布
估計停時的均值為6.2546e+6,吸收率是這個均值的倒數。這個采樣最大的問題是慢,因為往右走的概率更小。
Importance Sampling
在rejection sampling中,我們用的是原始的Markov鏈的轉移概率,現在考慮做重要性采樣加快模擬的速度。這個Markov鏈比較有意思,相當于是一個不對稱的一維的隨機游走,所以要構造一個新的Markov鏈來采樣只需要一個參數ppp(code第二行,手動輸入)。接下來用這個新的Markov鏈做rejection sampling,xxx記錄的是新的Markov鏈的狀態轉移,compensation記錄的是importance sampling的權重,因此每次計數需要加compensation乘以1。
從這個結果可以看出,ppp越大吸收率估計量扭曲得越厲害(Markov鏈被扭曲了),但速度會加快。要在扭曲和速度之間做tradeoff,可以把這兩個Markov鏈合起來,當狀態小于5時就用原來的Markov鏈,大于5時就用參數為ppp的Markov鏈。
總結
以上是生活随笔為你收集整理的UA MATH575B 数值分析下 计算统计物理例题2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UA MATH575B 数值分析下 计算
- 下一篇: UA MATH565C 随机微分方程V