前言
使用教材:馬文淦《計算物理學》,限于篇幅,這本書上部分知識寫得并不十分詳細,根據(jù)我復習時的一點想法,分享給大家參考。
本篇分享的是連續(xù)分布的隨機變量抽樣的幾種方法(直接、變換抽樣法,三類舍選法,復合抽樣法,課本2.3節(jié))。
〇、前置知識
首先不防問自己一個問題,我們?yōu)槭裁匆私膺@塊知識?
物理模擬中經(jīng)常要對某個隨機變量(比如速度,位置,方向)抽樣,它們都滿足某個分布(比如一定溫度下微觀粒子運動速度滿足玻爾茲曼分布),問題就是如何產(chǎn)生滿足某個分布的隨機變量。
一般來說編程時我們能夠調(diào)用的隨機變量的生成函數(shù),無非是幾個最典型的,比如均勻分布,正態(tài)分布等等,這是遠遠不夠我們使用的,所以要學會自己做符合想要的分布的隨機變量抽樣,這就是這塊知識目的所在。
因此需提前掌握偽隨機數(shù)及其生成方法。
(說是偽隨機數(shù)是因為計算機并不能生成真隨機數(shù),任何代碼生成的隨機數(shù)都會有周期,只不過周期長短有別。我們使用的偽隨機數(shù)周期一般較長,可近似認為是隨機數(shù)。)
假設變量 η \eta η是一個隨機數(shù),那么在選定的隨機數(shù)生成范圍內(nèi),生成每一個數(shù)的幾率是相同的,也就是說 η \eta η滿足均勻分布。下面幾種方法都是建立在掌握均勻抽樣的基礎上,通過變量代換(變換抽樣法)或按某種方式舍棄部分數(shù)據(jù)(舍選法)來生成自己想要的分布的。
一、直接抽樣法
先看課本:
分布密度函數(shù),現(xiàn)在的說法叫概率密度函數(shù),表示的就是抽到這個數(shù)的概率,概率密度函數(shù)越高的地方抽到的可能性越大。同時密度函數(shù)也是分布函數(shù)的導數(shù),對應可知分布函數(shù)上升較快的區(qū)間對應抽樣抽到的概率也很大,如下圖所示。
有了這兩幅
η
\eta
η的分布圖,我們先定性地理解一下直接抽樣法:
1、首先在縱軸[0,1]范圍內(nèi)均勻抽樣,記作
ξ
\xi
ξ;
2、分布函數(shù)值為
ξ
\xi
ξ的點的橫坐標就是
η
\eta
η,即為最終抽樣的結(jié)果。
ξ
\xi
ξ均勻抽樣抽到[0.1,0.9]區(qū)間內(nèi)的概率為0.8,對應的
η
\eta
η為[-0.1,0.1]區(qū)間上,短短區(qū)間長度0.2竟有這么大的概率,可見是與概率密度函數(shù)符合的。
但這畢竟只是定性分析,究竟符不符合呢?可以證明這種抽樣方法 η \eta η確實滿足的分布函數(shù)是F(x),具體方法見上面的課本內(nèi)容。
附課本例題:
二、變換抽樣法
直接抽樣法其實是一種由均勻抽樣變換為所期望的隨機抽樣的特例,具體為什么,且看下文~
現(xiàn)在我們提出一個問題,看似所有的隨機變量都有概率密度函數(shù)f(x),那么對其積分就一定能得到分布函數(shù)F(x),再用直接抽樣,非常自然。所以這意味著所有的隨機抽樣都可以用這種方法嗎?
答案是否定的,上面的分析忽略了不是所有的F(x)都能用解析表達式表達出來,它確實存在,也可以畫出圖像,但就是無法解析表達,這種情況就不能用直接抽樣,而要用更一般的變換抽樣法。
上課本!
極簡版: η = g ( δ ) \eta=g(\delta) η=g(δ),對 δ \delta δ抽樣然后代入即可。
我對變換抽樣法的理解(敘述順序可能與課本不同):
首先,
η
\eta
η是我想抽樣的變量,它的概率分布函數(shù)是
f
(
x
)
f(x)
f(x)。假如我事先知道某個隨機變量
δ
\delta
δ的抽樣方法,它是均勻分布,還是指數(shù)分布、正態(tài)分布等等都無所謂,但一定要知道怎么對它抽樣,同時我又知道
δ
\delta
δ和
η
\eta
η之間的關系:
η
=
g
(
δ
)
\eta=g(\delta)
η=g(δ)和
δ
=
h
(
η
)
\delta=h(\eta)
δ=h(η)(這里請體會一下,函數(shù)關系意味著一個
δ
\delta
δ的抽樣可以唯一確定對應的
η
\eta
η的抽樣。另外,不是所有函數(shù)都有反函數(shù)的,這也就要求
δ
\delta
δ和
η
\eta
η一一映射),那么我就先對
δ
\delta
δ抽樣,再代入
η
=
g
(
δ
)
\eta=g(\delta)
η=g(δ)就得到了
η
\eta
η的抽樣。
那么這 “ 某個隨機變量
δ
\delta
δ ” 是不是真的隨便哪一個變量都行?
記
δ
\delta
δ的概率密度函數(shù)為
?
(
x
)
\phi(x)
?(x),
η
\eta
η的記為
f
(
x
)
f(x)
f(x),由
η
=
g
(
δ
)
\eta=g(\delta)
η=g(δ)結(jié)合概率論知識可知,
f
(
x
)
=
?
(
h
(
x
)
)
?
∣
h
′
(
x
)
∣
f(x)=\phi(h(x))\cdot|h'(x)|
f(x)=?(h(x))?∣h′(x)∣,所以要求
h
′
(
x
)
h'(x)
h′(x)存在,即
h
(
x
)
h(x)
h(x)可導。
所以可知,重點在于:
1、找到已知抽樣方法的變量
δ
\delta
δ和未知抽樣方法的變量
η
\eta
η之間的關系
η
=
g
(
δ
)
\eta=g(\delta)
η=g(δ)和
δ
=
h
(
η
)
\delta=h(\eta)
δ=h(η),兩個函數(shù)都要存在,他倆一一映射;
2、
h
(
x
)
h(x)
h(x)可導。(這里
h
(
x
)
h(x)
h(x)括號里的變量是x是
η
\eta
η其實無所謂的,可以體會一下)
而難點在于:找到
η
=
g
(
δ
)
\eta=g(\delta)
η=g(δ)和
δ
=
h
(
η
)
\delta=h(\eta)
δ=h(η)。
δ \delta δ為[0,1]上均勻分布時, η = g ( δ ) = F ? 1 ( δ ) \eta=g(\delta)=F^{-1}(\delta) η=g(δ)=F?1(δ),對 δ \delta δ均勻抽樣反解出 η \eta η,退化為直接抽樣法。
理解后再看課本對二維的敘述就不難了(課本的正態(tài)分布是個很好的例子,建議仔細看看):
三、舍選法
舍選法分為第一、二、三類舍選法,我認為是比較難理解的地方,一些想法如下:
1.第一類舍選法
舍選就是對均勻抽樣的結(jié)果以 f ( x ) f(x) f(x)的概率保留。 f ( x ) f(x) f(x)是概率密度。
通常我們對隨機抽樣的理解是,概率密度大的地方抽的多點,概率密度小的地方抽的少點,這樣就能夠滿足概率密度函數(shù),也就是我們想要的分布了。重點在于它是控制每一處被抽到的概率。
下面換一種方法:假設每一處被抽到的概率是相同的,這樣就是均勻分布,概率密度函數(shù)是一條直線,這不是我們想要的。在抽樣后,我們再根據(jù)想得到的概率密度函數(shù),對抽到的數(shù)據(jù)進行不同程度的舍棄,概率密度函數(shù)大的地方少舍棄一點,小的地方多舍一點。根據(jù)這個思路,人們發(fā)明了第一類舍選法。
具體步驟我就搬運課本了:
稍作解釋:(a)步驟就是我說的“假設每一處被抽到的概率是相同的,這樣就是均勻分布”,(b)步驟就是我說的“根據(jù)想得到的概率密度函數(shù),對抽到的數(shù)據(jù)進行不同程度的舍棄,概率密度函數(shù)大的地方少舍棄一點,小的地方多舍一點”。 λ \lambda λ的作用是控制概率的最大值為1,對應該處數(shù)據(jù)不會被舍棄。
舍選法由于是通過非常簡單的均勻抽樣再舍選得到的,計算量小,速度快,避免了由于變換抽樣法導致的大計算量的問題。但同時也引入了一個新的問題:由于舍棄部分數(shù)據(jù)導致抽樣效率可能不高。尤其是概率密度函數(shù)在某處極端的高的情況,這會導致極大部分數(shù)據(jù)被舍棄,抽樣效率極低,這就有必要引入第二類舍選法了。
2.第二類舍選法
還記得變換抽樣法嗎?當時為了對一個復雜變量抽樣,我們先對一個已知的,簡單的變量抽樣,再做變換。同樣的道理,如果某個變量用第一類舍選法效率很低,那我們就先對效率高的變量用舍選法,再做變換。
課本的敘述:
個人理解:
首先,既然想把低效率的抽樣轉(zhuǎn)化成高效率的抽樣,那就做恒等變換
f
(
x
)
=
f
(
x
)
h
(
x
)
?
h
(
x
)
=
=
=
=
=
g
(
x
)
=
f
(
x
)
h
(
x
)
g
(
x
)
h
(
x
)
f(x)=\frac{f(x)}{h(x)}\cdot h(x)\overset{g(x)=\frac{f(x)}{h(x)}}{=====}g(x)h(x)
f(x)=h(x)f(x)??h(x)=====g(x)=h(x)f(x)?g(x)h(x),但這還不行,
g
(
x
)
g(x)
g(x)是待會兒做篩選舍取用的,要控制最大值為1。因此,用常數(shù)L來調(diào)整:
f
(
x
)
=
L
?
f
(
x
)
L
h
(
x
)
?
h
(
x
)
=
L
g
(
x
)
h
(
x
)
f(x)=L\cdot \frac{f(x)}{Lh(x)}\cdot h(x)=Lg(x)h(x)
f(x)=L?Lh(x)f(x)??h(x)=Lg(x)h(x)。
重點理解上式 f ( x ) = L g ( x ) h ( x ) f(x)=Lg(x)h(x) f(x)=Lg(x)h(x)。概率密度函數(shù)就把他理解成概率,L不用管它,就是把最大值歸一(概率嘛)的一個系數(shù)。如果用第一類舍選法,抽到的數(shù)據(jù)被保留下來的概率為 λ f ( x ) \lambda f(x) λf(x)(同樣的,不用管 λ \lambda λ),那么 f ( x ) = L g ( x ) h ( x ) f(x)=Lg(x)h(x) f(x)=Lg(x)h(x)就可理解為把概率分解成兩個概率相乘。操作上可以理解為先由 h ( x ) h(x) h(x)做一次舍選,得到的結(jié)果再根據(jù) g ( x ) g(x) g(x)做一次舍選。
先對滿足 h ( x ) h(x) h(x)的變量抽樣(變換抽樣、舍選均可),因為抽出來的結(jié)果肯定滿足 h ( x ) h(x) h(x)的概率密度,因此只要再根據(jù) g ( x ) g(x) g(x)做舍選,就能得到最終結(jié)果了。最終的抽樣結(jié)果和直接第一類舍選法結(jié)果一樣,但抽樣效率增加。
附課本例題:
3.第三類舍選法
最難理解的一類舍選法,課本上的敘述也及其抽象:
第二類舍選法中,先根據(jù)
h
(
x
)
h(x)
h(x)抽樣,再根據(jù)
g
(
x
)
g(x)
g(x)舍選,而第三類舍選法中,先根據(jù)
g
(
x
)
g(x)
g(x)抽樣,再根據(jù)
h
(
x
)
h(x)
h(x)舍選,是反過來的,這里注意一下。
課本2.3.38式變形為 f ( x ) = L ? ∫ ? ∞ h ( x ) g ( x , y ) d y ∫ ? ∞ ∞ g ( x , y ) d y ? ∫ ? ∞ ∞ g ( x , y ) d y f(x)=L\cdot\frac{\int_{-\infty}^{h(x)}g(x,y)dy}{\int_{-\infty}^{\infty}g(x,y)dy}\cdot \int_{-\infty}^{\infty}g(x,y)dy f(x)=L?∫?∞∞?g(x,y)dy∫?∞h(x)?g(x,y)dy??∫?∞∞?g(x,y)dy,類比第二類舍選法中 f ( x ) = L g ( x ) h ( x ) f(x)=Lg(x)h(x) f(x)=Lg(x)h(x),我特地調(diào)整了乘的順序,這下對比起來有種一目了然的感覺了。
最后我們再分析一下為什么步驟(b)是判別 η y ≤ h ( η x ) \eta_y \leq h(\eta_x) ηy?≤h(ηx?):把 ∫ ? ∞ h ( x ) g ( x , y ) d y ∫ ? ∞ ∞ g ( x , y ) d y \frac{\int_{-\infty}^{h(x)}g(x,y)dy}{\int_{-\infty}^{\infty}g(x,y)dy} ∫?∞∞?g(x,y)dy∫?∞h(x)?g(x,y)dy?理解為概率,[- ∞ \infty ∞,h( η x \eta_x ηx?)]內(nèi)的 η y \eta_y ηy?保留下來,不是這個區(qū)間的舍取,可以保證保留下來的概率是 ∫ ? ∞ h ( x ) g ( x , y ) d y ∫ ? ∞ ∞ g ( x , y ) d y \frac{\int_{-\infty}^{h(x)}g(x,y)dy}{\int_{-\infty}^{\infty}g(x,y)dy} ∫?∞∞?g(x,y)dy∫?∞h(x)?g(x,y)dy?。
當 x x x和 y y y獨立時, g ( x , y ) g(x,y) g(x,y)可以拆分為 f 1 ( x ) ? f 2 ( y ) f_1(x)\cdot f_2(y) f1?(x)?f2?(y),假設 f 2 f_2 f2?的積分是 F 2 ( x ) F_2(x) F2?(x),則 ∫ ? ∞ h ( x ) g ( x , y ) d y = f 1 ( x ) ? F 2 ( h ( x ) ) \int_{-\infty}^{h(x)}g(x,y)dy=f_1(x)\cdot F_2(h(x)) ∫?∞h(x)?g(x,y)dy=f1?(x)?F2?(h(x)),代入2.2.38式會發(fā)現(xiàn)退化成了第二類舍選法,實際上,第二類舍選法確是第三類舍選法的特例。這也是我理解第三類舍選法的切入點。
附課本例題:文章來源:http://www.zghlxwxcb.cn/news/detail-449014.html
總結(jié)
這幾類抽樣方法之間,直接->變換抽樣、第一->第二->第三類舍選法都是推廣的關系,同時推廣的方式又彼此相似,理解清為什么以這樣的順序來介紹對更深入地理解知識很有幫助。另外,連續(xù)隨機變量的抽樣并未講完,復合抽樣法將放在下一篇分享。文章來源地址http://www.zghlxwxcb.cn/news/detail-449014.html
到了這里,關于計算物理學復習筆記(一) 連續(xù)隨機變量的抽樣(直接、變換抽樣,三類舍選法)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!