Sampling
如何生成連續伯努利成功的非整數數量?
鑑於:
- 帶有未知偏見的硬幣(頭)。
- 嚴格正實數 .
問題:
生成帶有偏差的隨機伯努利變量.
有誰知道如何做到這一點?例如,當是一個正整數,那麼可以拋硬幣次並查看所有結果是否都是正面:如果它們是則發出“0”,否則發出“1”。困難在於以下事實不一定是整數。另外,如果我知道偏見,我可以構建另一個具有所需偏差的硬幣。
我們可以通過幾個“技巧”和一點數學來解決這個問題。
這是基本算法:
- 生成具有成功概率的幾何隨機變量.
- 這個隨機變量的結果決定了一個固定的已知值.
- 生成一個隨機變量使用從我們的塊狀配對翻轉生成的公平硬幣翻轉硬幣。
- 結果將是對於任何,這就是我們所需要的。
為了讓事情更容易消化,我們會將事情分解成碎片。
第 1部分:不失一般性假設.
如果,那麼,我們可以寫對於一些正整數還有一些. 但是,對於任何兩個獨立的伯努利,我們有
我們可以生成一個以明顯的方式從我們的硬幣中提取伯努利。因此,我們只需要關註生成什麼時候. 第 2 部分:知道如何生成任意從公平的硬幣翻轉。
有一種標準方法可以做到這一點。擴張在它的二進制擴展中,然後使用我們公平的硬幣翻轉來“匹配”. 第一個匹配決定我們是聲明成功(“heads”)還是失敗(“tails”)。如果我們的硬幣翻轉是正面,聲明正面,如果我們的硬幣翻轉是反面,聲明反面。否則,考慮下一個數字與新的硬幣翻轉。
第 3部分:知道如何從具有未知偏差的不公平硬幣中產生公平的硬幣翻轉。
這完成了,假設,通過成對拋硬幣。如果我們得到,宣布一個頭;如果我們得到,聲明一個尾巴,否則重複實驗,直到出現上述兩個結果之一。它們是同樣可能的,所以一定有概率.
第 4部分:一些數學。(泰勒來救援。)
通過擴展大約, 泰勒定理斷言
請注意,因為,第一項之後的每一項都是負數,所以我們有
在哪裡是先驗已知的。因此
在哪裡,和為了. 而且,我們已經知道如何使用我們的硬幣生成具有成功概率的幾何隨機變量.
第 5 部分:蒙特卡洛技巧。
讓是一個離散隨機變量,取值和. 讓. 然後
但是,採取和,我們現在看到如何生成一個隨機變量,這相當於生成一個一。