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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

UA STAT675 统计计算I 随机数生成7 Envelope Accept-Reject Algorithm

發(fā)布時間:2025/4/14 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UA STAT675 统计计算I 随机数生成7 Envelope Accept-Reject Algorithm 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

UA STAT675 統(tǒng)計計算I 隨機(jī)數(shù)生成7 Envelope Accept-Reject Algorithm

    • Squeeze Principle
    • Atkinson's Poisson Simulation

上一講我們推導(dǎo)了Accept-Reject Algorithm


Algorithm 3: Accept-Reject Algorithm

Step 1: Generate y~gy \sim gyg, u~U(0,1)u \sim U(0,1)uU(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


它對所有的密度都適用,但前提是找到另一個密度作為工具密度,工具密度必須是目標(biāo)密度的強(qiáng)函數(shù);要提高這個算法的效率,最好的做法是設(shè)計一個ggg,它比fff稍微大一點(diǎn)點(diǎn)但又特別接近,使得M≈1M \approx 1M1,這一講我們就介紹一些常用的設(shè)計工具密度的方法。

Squeeze Principle

上一講我們分析了Accept-Reject Algorithm的效率,也就是要生成1個目標(biāo)密度的隨機(jī)數(shù),平均需要MMM個均勻分布與工具密度的隨機(jī)數(shù);一種可行的改進(jìn)是給目標(biāo)密度再找一個下界,進(jìn)一步降低采樣器的計算成本。


Algorithm 4: Envelope Accept-Reject Algorithm

Step 1: Generate y~guy \sim g_uygu?, u~U(0,1)u \sim U(0,1)uU(0,1)
Step 2: If u≤gl(y)Mgu(y)u\le \frac{g_l(y)}{Mg_u(y)}uMgu?(y)gl?(y)?, accept yyy as a random number of fff; otherwise, go to Step 3;
Step 3: if u≤f(y)Mgu(y)u \le \frac{f(y)}{Mg_u(y)}uMgu?(y)f(y)?, accept yyy as a random number of fff; otherwise, repeat Step 1-Step 3


算法分析

  • 算法適用條件:構(gòu)造glg_lgl?gug_ugu?滿足gl≤f≤gug_l \le f \le g_ugl?fgu?其中gug_ugu?是工具密度(instrumental density)、fff是目標(biāo)密度(target density)、glg_lgl?是輔助函數(shù)
  • 算法幾何解釋:gl,Mgug_l,Mg_ugl?,Mgu?構(gòu)成了一個帶狀區(qū)域,glg_lgl?為下界,MguMg_uMgu?為上界,我們在MguMg_uMgu?下面的區(qū)域內(nèi)均勻采樣,一部分落在帶狀區(qū)域內(nèi),另一部分落在帶狀區(qū)域下方;直接接受帶狀區(qū)域下方的點(diǎn),把帶狀區(qū)域內(nèi)的點(diǎn)作為候選;目標(biāo)密度fff把帶狀區(qū)域分割為上下兩部分,落在下部分的候選點(diǎn)就是fff的隨機(jī)樣本
  • 算法的效率:假設(shè)我們生成了一個gug_ugu?U(0,1)U(0,1)U(0,1)的樣本,它被直接接受的概率是∫Rgl(x)dx∫RMgu(x)dx=∫Rgl(x)dxM\frac{\int_{\mathbb{R}}g_l(x)dx}{\int_{\mathbb{R}}Mg_u(x)dx}=\frac{\int_{\mathbb{R}}g_l(x)dx}{M}R?Mgu?(x)dxR?gl?(x)dx?=MR?gl?(x)dx?成為候選點(diǎn)并被接受為隨機(jī)樣本的概率是∫R(f?gl)(x)dx∫RMgu(x)dx=1?∫Rgl(x)dxM\frac{\int_{\mathbb{R}}(f-g_l)(x)dx}{\int_{\mathbb{R}}Mg_u(x)dx}=\frac{1-\int_{\mathbb{R}}g_l(x)dx}{M}R?Mgu?(x)dxR?(f?gl?)(x)dx?=M1?R?gl?(x)dx?于是整體的接受率為∫Rgl(x)dxM+1?∫Rgl(x)dxM=1M\frac{\int_{\mathbb{R}}g_l(x)dx}{M}+\frac{1-\int_{\mathbb{R}}g_l(x)dx}{M}=\frac{1}{M}MR?gl?(x)dx?+M1?R?gl?(x)dx?=M1?因此Envelope Accept-Reject Algorithm與Accept-Reject Algorithm的接受率一樣,在效率上沒有改進(jìn),但是直接接受的樣本,也就是∫Rgl(x)dxM\frac{\int_{\mathbb{R}}g_l(x)dx}{M}MR?gl?(x)dx?這么多的樣本可以用gl(x)g_l(x)gl?(x)的計算代替f(x)f(x)f(x)的計算(這個原則叫Squeeze Principle),因此只要glg_lgl?計算復(fù)雜度足夠低,并且與fff足夠接近,Envelope Accept-Reject Algorithm的計算效率仍然可以得到很大提高
  • 隨機(jī)數(shù)的獨(dú)立性分析:因?yàn)樯厦娴乃惴ㄖ?#xff0c;每一步生成隨機(jī)數(shù)與其他步驟都是可以互相獨(dú)立的,所以最后得到的隨機(jī)數(shù)可以有較強(qiáng)的獨(dú)立性
  • Squeeze Principle給我們提供了另一種改進(jìn)采樣器的思路,從Algorithm 1的簡單rejection采樣到Algorithm 3 Accept-Reject Algorithm,我們通過提高接受率來提高采樣器的效率;從Accept-Reject Algorithm到Envelope Accept-Reject Algorithm,我們通過降低計算量來提高采樣器的效率;提高接受率、降低計算量是兩種改進(jìn)采樣器的主流思路。

    Atkinson’s Poisson Simulation

    早期從Poisson分布中采樣有兩種主流方法,第一種方法是反函數(shù)法;第二種方法是使用Poisson過程法,這兩種方法都比較低效。Atkinson (1979)基于Accept-Reject Algorithm提出了一種從Poisson分布中采樣的方法。

    考慮服從Logistics分布的隨機(jī)變量XXX
    f(x)=1βe?x?αβ(1+e?x?αβ)2,F(x)=11+e?x?αβf(x) = \frac{1}{\beta}\frac{e^{-\frac{x-\alpha}{\beta}}}{(1+e^{-\frac{x-\alpha}{\beta}})^2},F(x)=\frac{1}{1+e^{-\frac{x-\alpha}{\beta}}}f(x)=β1?(1+e?βx?α?)2e?βx?α??,F(x)=1+e?βx?α?1?

    定義N=?x+0.5?N=\lfloor x+0.5 \rfloorN=?x+0.5?,考慮left-truncated Logistics分布,限制x∈[?0.5,+∞)x \in [-0.5,+\infty)x[?0.5,+),則
    P(N=n)={11+e?n+0.5?αβ?11+e?n?0.5?αβ,x>1/2(11+e?n+0.5?αβ?11+e?n?0.5?αβ)1+e?0.5+αβe?0.5+αβ,?1/2<x≤1/2P(N=n)=\begin{cases} \frac{1}{1+e^{-\frac{n+0.5-\alpha}{\beta}}}- \frac{1}{1+e^{-\frac{n-0.5-\alpha}{\beta}}},x>1/2 \\ (\frac{1}{1+e^{-\frac{n+0.5-\alpha}{\beta}}}- \frac{1}{1+e^{-\frac{n-0.5-\alpha}{\beta}}})\frac{1+e^{-\frac{0.5+\alpha}{\beta}}}{e^{-\frac{0.5+\alpha}{\beta}}},-1/2<x \le 1/2\end{cases}P(N=n)=??????1+e?βn+0.5?α?1??1+e?βn?0.5?α?1?,x>1/2(1+e?βn+0.5?α?1??1+e?βn?0.5?α?1?)e?β0.5+α?1+e?β0.5+α??,?1/2<x1/2?

    Atkinson的想法是使用這個分布作為從Poisson分布(記參數(shù)為λ\lambdaλ)中采樣的工具密度,根據(jù)Accept-Reject Algorithm的算法效率,α,β\alpha,\betaα,β的參數(shù)選擇最好使得
    λne?λn!P(N=n)\frac{\lambda^ne^{-\lambda}}{n!P(N=n)}n!P(N=n)λne?λ?

    的上確界越小越好,也就是要求解
    min?α,βsup?nλne?λn!P(N=n)\min_{\alpha,\beta} \sup_{n}\frac{\lambda^ne^{-\lambda}}{n!P(N=n)}α,βmin?nsup?n!P(N=n)λne?λ?

    由此Atkinson推導(dǎo)出了Poisson分布的采樣器:


    Algorithm 5: Atkinson’s Poisson Sampler

    Step 0: Define β=π3λ,α=λβ,c=0.767?3.36/λ,k=log?c?λ?log?β\beta = \frac{\pi}{\sqrt{3\lambda}},\alpha=\lambda \beta,c=0.767-3.36/\lambda,k=\log c-\lambda - \log \betaβ=3λ?π?,α=λβ,c=0.767?3.36/λ,k=logc?λ?logβ;
    Step 1: Generate u1~U(0,1)u_1 \sim U(0,1)u1?U(0,1) and calculate x=α?log?1?u1u1βx=\frac{\alpha-\log \frac{1-u_1}{u_1}}{\beta}x=βα?logu1?1?u1???if x>?0.5x>-0.5x>?0.5, go to Step 2; otherwise, repeat Step 1;
    Step 2: Define N=?x+0.5?N=\lfloor x+0.5 \rfloorN=?x+0.5? and generate u2~U(0,1)u_2 \sim U(0,1)u2?U(0,1)
    Step 3: if α?βx+log?u2(1+eα?βx)2≤k+Nlog?λ?log?N!\alpha-\beta x+\log \frac{u_2}{(1+e^{\alpha-\beta x})^2} \le k+ N\log \lambda - \log N!α?βx+log(1+eα?βx)2u2??k+Nlogλ?logN!, accept NNN as a random number from Poisson(λ)Poisson(\lambda)Poisson(λ)


    總結(jié)

    以上是生活随笔為你收集整理的UA STAT675 统计计算I 随机数生成7 Envelope Accept-Reject Algorithm的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。