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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

發布時間:2025/4/14 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UA STAT675 统计计算I 随机数生成6 Accept-Reject Algorithm 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UA STAT675 統計計算I 隨機數生成6 Accept-Reject Algorithm

    • 隨機模擬基本定理(Fundamental Theorem of Simulation)
      • 根據隨機模擬基本定理設計一元隨機變量的隨機數生成器
      • 隨機模擬基本定理的推論

上一講我們介紹了生成隨機數的general transformation method,那是以U(0,1)U(0,1)U(0,1)的隨機數為基礎,通過變換獲得其他分布的隨機數的方法,當我們知道各種分布之間的變換規則,或者知道分布函數并能比較容易地求出它的反函數時,這種方法就是最直觀最簡單的;但是當我們想進行抽樣的總體分布比較復雜時,我們就需要設計一些其他的方法了。這一講我們介紹第一類采樣的算法:accept-reject methods。

隨機模擬基本定理(Fundamental Theorem of Simulation)

Target density為fff,則從X~fX \sim fXf中采樣等價于從
(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)}

中采樣。

證明
這個定理的證明非常簡單,因為
f(x)=∫0f(x)duf(x) = \int_0^{f(x)}duf(x)=0f(x)?du

所以f(x)f(x)f(x)是二元隨機變量(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的邊緣分布,因此對二元隨機變量(X,U)(X,U)(X,U)采樣得到的XXX的樣本服從fff

但是我們并不需要UUU的樣本,所以稱UUU是一個auxiliary variable。

根據隨機模擬基本定理設計一元隨機變量的隨機數生成器

假設Target density是一元函數,滿足

  • f(x)≤Mf(x)\le Mf(x)M(密度有界)
  • {x∈R:f(x)>0}?[a,b]\{x \in \mathbb{R}:f(x)>0\} \subset [a,b]{xR:f(x)>0}?[a,b](支撐集有界)

  • 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(aX<x)=ax?f(y)dy=ax?0f(y)?dudy=ab?0f(y)?dudyax?0f(y)?dudy?=P(YxU<f(Y))

    其中U~U(0,M)U \sim U(0,M)UU(0,M), Y~U(a,b)Y \sim U(a,b)YU(a,b),這個推導給了我們一種設計arget density的隨機數生成器的思路:


    Algorithm 1

    Step 1: Generate y~U(a,b)y \sim U(a,b)yU(a,b)
    Step 2: Generate u~U(0,M)u \sim U(0,M)uU(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


    算法分析

  • 算法適用條件:根據上面的推導,這個算法適用于值域與支撐集都有界的密度;用更直白的話講,就是適用于在xxx軸和在yyy軸上都有界的分布;
  • 算法幾何解釋:設想我們畫出了fff的圖像,并且找了[a,b]×[0,M][a,b] \times [0,M][a,b]×[0,M]這個矩形把它包圍起來,fff的圖像把這個矩形分成了上下兩部分,接下來我們從(Y,U)(Y,U)(Y,U)中采樣,得到的樣本(y,u)(y,u)(y,u)其實是矩形中的點,yyy代表橫坐標,uuu代表縱坐標,如果這個點位于矩形的下半部分,就認為yyyfff的樣本;
  • 算法的效率:假設我們想要nnnfff的樣本,則我們平均至少需要生成nM(b?a)nM(b-a)nM(b?a)個隨機數(因為[a,b][a,b][a,b]fff圍成的面積最大為1,矩形圍成的面積為M(b?a)M(b-a)M(b?a)),這說明這個算法的效率取決于Target density的性質,如果Target density厚尾或者存在比較大的峰值,這個算法的效率就會非常低;
  • 隨機數的獨立性分析:因為上面的算法中,每一步生成隨機數與其他步驟都是可以互相獨立的,所以最后得到的隨機數可以有較強的獨立性
  • 隨機模擬基本定理的推論

    正如我們在算法分析中討論的一樣,基于隨機模擬基本定理設計的算法效率取決于Target density的形狀,如果Target density形狀比較差,比如支撐集為R\mathbb{R}R或者有比較嚴重的concentration,上面的算法效率就會很差。不難發現上述算法局限在于我們總是在試圖用一個矩形去包圍一個面積固定但形狀可以千奇百怪的區域,那么是否可以放棄矩形包圍的思路,針對不同形狀的區域設計不一樣的包圍方法呢?

    隨機模擬基本定理的推論
    Target density f(x)f(x)f(x)
    Instrumental density g(x)g(x)g(x)
    假設f(x)≤Mg(x)f(x) \le Mg(x)f(x)Mg(x)?M≥1\exists M\ge 1?M1,則從X~fX \sim fXf中抽樣可以用下面的算法:


    Algorithm 2

    Step 1: Generate y~gy \sim gyg
    Step 2: Generate u~U(0,Mg(y))u \sim U(0,Mg(y))uU(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 fXf?B∈B(R)\forall B \in \mathcal{B}(\mathbb{R})?BB(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(XB)=B?f(y)dy=B?0f(y)?Mg(y)1?dudy=R?0f(y)?Mg(y)1?dudyB?0f(y)?Mg(y)1?dudy?=P(YBU<f(Y))

    這個式子說明,在U<f(Y)U<f(Y)U<f(Y)的條件下,XXX的分布與YYY的分布是相同的,于是此時的YYY的隨機數服從target density;

    算法分析
    首先,我們把算法2的第2、3步合并一下:


    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


    這樣關于均勻分布的處理就比較標準化了,定義
    α(y)=f(y)Mg(y)\alpha(y) = \frac{f(y)}{Mg(y)}α(y)=Mg(y)f(y)?

    α\alphaα為acceptance rate;在fffMgMgMg比較接近的區域,acceptance rate較高。

  • 算法適用條件:Accept-Reject Algorithm對所有的密度都適用,但前提是找到另一個密度作為工具密度,工具密度必須是目標密度的強函數;
  • 算法幾何解釋:與算法1不同,現在我們放松了支撐集有界的假設,改成了用Mg(x)Mg(x)Mg(x)來包圍f(x)f(x)f(x)
  • 算法的效率:不難發現Accept-Reject Algorithm取決于f(x)≤Mg(x)f(x)\le Mg(x)f(x)Mg(x)這個不等式有多tight,也就是Mg(x)Mg(x)Mg(x)f(x)f(x)f(x)的距離有多近,可以簡單計算一下∫RMg(x)dx∫Rf(x)dx=M\frac{\int_{\mathbb{R}}Mg(x)dx}{\int_{\mathbb{R}}f(x)dx}=MR?f(x)dxR?Mg(x)dx?=M所以要得到nnn個服從fff的隨機數,平均需要MMM個均勻分布的隨機變量,因此要提高這個算法的效率,最好的做法是設計一個ggg,它比fff稍微大一點點但又特別接近,使得M≈1M \approx 1M1,這種Accept-Reject sampler就會具有非常高的效率,一個非常好的例子是Horseshoe estimation的算法中的一個rejection sampler,參考James Johndrow, Paulo Orenstein, Anirban Bhattacharya; 21(73):1?61, 2020. appendix S1.
  • 隨機數的獨立性分析:因為上面的算法中,每一步生成隨機數與其他步驟都是可以互相獨立的,所以最后得到的隨機數可以有較強的獨立性
  • 總結

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

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