UA STAT675 统计计算I 随机数生成6 Accept-Reject Algorithm
UA STAT675 統(tǒng)計(jì)計(jì)算I 隨機(jī)數(shù)生成6 Accept-Reject Algorithm
- 隨機(jī)模擬基本定理(Fundamental Theorem of Simulation)
- 根據(jù)隨機(jī)模擬基本定理設(shè)計(jì)一元隨機(jī)變量的隨機(jī)數(shù)生成器
- 隨機(jī)模擬基本定理的推論
上一講我們介紹了生成隨機(jī)數(shù)的general transformation method,那是以U(0,1)U(0,1)U(0,1)的隨機(jī)數(shù)為基礎(chǔ),通過變換獲得其他分布的隨機(jī)數(shù)的方法,當(dāng)我們知道各種分布之間的變換規(guī)則,或者知道分布函數(shù)并能比較容易地求出它的反函數(shù)時(shí),這種方法就是最直觀最簡(jiǎn)單的;但是當(dāng)我們想進(jìn)行抽樣的總體分布比較復(fù)雜時(shí),我們就需要設(shè)計(jì)一些其他的方法了。這一講我們介紹第一類采樣的算法:accept-reject methods。
隨機(jī)模擬基本定理(Fundamental Theorem of Simulation)
Target density為fff,則從X~fX \sim fX~f中采樣等價(jià)于從
(X,U)~U{(x,u):0<u<f(x)}(X,U) \sim U\{(x,u):0<u<f(x)\}(X,U)~U{(x,u):0<u<f(x)}
中采樣。
證明
這個(gè)定理的證明非常簡(jiǎn)單,因?yàn)?br /> f(x)=∫0f(x)duf(x) = \int_0^{f(x)}duf(x)=∫0f(x)?du
所以f(x)f(x)f(x)是二元隨機(jī)變量(X,U)~U{(x,u):0<u<f(x)}(X,U) \sim U\{(x,u):0<u<f(x)\}(X,U)~U{(x,u):0<u<f(x)}中XXX的邊緣分布,因此對(duì)二元隨機(jī)變量(X,U)(X,U)(X,U)采樣得到的XXX的樣本服從fff。
但是我們并不需要UUU的樣本,所以稱UUU是一個(gè)auxiliary variable。
根據(jù)隨機(jī)模擬基本定理設(shè)計(jì)一元隨機(jī)變量的隨機(jī)數(shù)生成器
假設(shè)Target density是一元函數(shù),滿足
則
P(a≤X<x)=∫axf(y)dy=∫ax∫0f(y)dudy=∫ax∫0f(y)dudy∫ab∫0f(y)dudy=P(Y≤x∣U<f(Y))P(a \le X< x) = \int_a^x f(y)dy = \int_a^x \int_0^{f(y)}dudy \\ = \frac{\int_a^x \int_0^{f(y)}dudy}{\int_a^b \int_0^{f(y)}dudy}=P(Y \le x|U<f(Y))P(a≤X<x)=∫ax?f(y)dy=∫ax?∫0f(y)?dudy=∫ab?∫0f(y)?dudy∫ax?∫0f(y)?dudy?=P(Y≤x∣U<f(Y))
其中U~U(0,M)U \sim U(0,M)U~U(0,M), Y~U(a,b)Y \sim U(a,b)Y~U(a,b),這個(gè)推導(dǎo)給了我們一種設(shè)計(jì)arget density的隨機(jī)數(shù)生成器的思路:
Algorithm 1
Step 1: Generate y~U(a,b)y \sim U(a,b)y~U(a,b)
Step 2: Generate u~U(0,M)u \sim U(0,M)u~U(0,M)
Step 3: If u<f(y)u<f(y)u<f(y), accept yyy as a random number of fff; otherwise, repeat Step 1-Step 3
算法分析
隨機(jī)模擬基本定理的推論
正如我們?cè)谒惴ǚ治鲋杏懻摰囊粯?#xff0c;基于隨機(jī)模擬基本定理設(shè)計(jì)的算法效率取決于Target density的形狀,如果Target density形狀比較差,比如支撐集為R\mathbb{R}R或者有比較嚴(yán)重的concentration,上面的算法效率就會(huì)很差。不難發(fā)現(xiàn)上述算法局限在于我們總是在試圖用一個(gè)矩形去包圍一個(gè)面積固定但形狀可以千奇百怪的區(qū)域,那么是否可以放棄矩形包圍的思路,針對(duì)不同形狀的區(qū)域設(shè)計(jì)不一樣的包圍方法呢?
隨機(jī)模擬基本定理的推論
Target density f(x)f(x)f(x)
Instrumental density g(x)g(x)g(x)
假設(shè)f(x)≤Mg(x)f(x) \le Mg(x)f(x)≤Mg(x),?M≥1\exists M\ge 1?M≥1,則從X~fX \sim fX~f中抽樣可以用下面的算法:
Algorithm 2
Step 1: Generate y~gy \sim gy~g
Step 2: Generate u~U(0,Mg(y))u \sim U(0,Mg(y))u~U(0,Mg(y))
Step 3: If u<f(y)u<f(y)u<f(y), accept yyy as a random number of fff; otherwise, repeat Step 1-Step 3
證明
如果X~fX \sim fX~f,?B∈B(R)\forall B \in \mathcal{B}(\mathbb{R})?B∈B(R),
P(X∈B)=∫Bf(y)dy=∫B∫0f(y)1Mg(y)dudy=∫B∫0f(y)1Mg(y)dudy∫R∫0f(y)1Mg(y)dudy=P(Y∈B∣U<f(Y))P(X \in B) = \int_{B} f(y)dy = \int_B\int_0^{f(y)}\frac{1}{Mg(y)}dudy\\ = \frac{\int_B \int_0^{f(y)}\frac{1}{Mg(y)}dudy}{\int_{\mathbb{R}} \int_0^{f(y)}\frac{1}{Mg(y)}dudy}=P(Y \in B|U<f(Y)) P(X∈B)=∫B?f(y)dy=∫B?∫0f(y)?Mg(y)1?dudy=∫R?∫0f(y)?Mg(y)1?dudy∫B?∫0f(y)?Mg(y)1?dudy?=P(Y∈B∣U<f(Y))
這個(gè)式子說明,在U<f(Y)U<f(Y)U<f(Y)的條件下,XXX的分布與YYY的分布是相同的,于是此時(shí)的YYY的隨機(jī)數(shù)服從target density;
算法分析
首先,我們把算法2的第2、3步合并一下:
Algorithm 3: Accept-Reject Algorithm
Step 1: Generate y~gy \sim gy~g, u~U(0,1)u \sim U(0,1)u~U(0,1)
Step 2: If u<f(y)Mg(y)u<\frac{f(y)}{Mg(y)}u<Mg(y)f(y)?, accept yyy as a random number of fff; otherwise, repeat Step 1-Step 2
這樣關(guān)于均勻分布的處理就比較標(biāo)準(zhǔn)化了,定義
α(y)=f(y)Mg(y)\alpha(y) = \frac{f(y)}{Mg(y)}α(y)=Mg(y)f(y)?
稱α\alphaα為acceptance rate;在fff與MgMgMg比較接近的區(qū)域,acceptance rate較高。
總結(jié)
以上是生活随笔為你收集整理的UA STAT675 统计计算I 随机数生成6 Accept-Reject Algorithm的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UA PHYS515 电磁理论I 麦克斯
- 下一篇: aMCMC for Horseshoe: