与えられた:
- バイアスが不明なコイン(ヘッド)。
- 厳密に正の実数 。
問題:
バイアスランダムなベルヌーイ変量を生成します。
誰もこれを行う方法を知っていますか?たとえば、が正の整数である場合、コインを回反転し、すべての結果がHeadsであるかどうかを確認できます。それらが「0」を発行する場合は「1」を発行します。問題は、が必ずしも整数ではないという事実にあります。また、バイアスわかっていれば、目的のバイアスで別のコインを作成できます。
与えられた:
問題:
バイアスランダムなベルヌーイ変量を生成します。
誰もこれを行う方法を知っていますか?たとえば、が正の整数である場合、コインを回反転し、すべての結果がHeadsであるかどうかを確認できます。それらが「0」を発行する場合は「1」を発行します。問題は、が必ずしも整数ではないという事実にあります。また、バイアスわかっていれば、目的のバイアスで別のコインを作成できます。
回答:
これは、いくつかの「トリック」と少しの数学で解決できます。
基本的なアルゴリズムは次のとおりです。
物をより消化しやすいものにするために、物を細かく分けます。
ピース1:一般性を失うことなく、と仮定し。
場合正の整数とと書くことができます。ただし、2つの独立したベルヌーイの場合、 明白な方法でコインからベルヌーイを 生成できます。したがって、ときにを生成することだけに関心があります。、P A = P N のP 、B、N 0 ≤ B < 1つのP(X 1 = X 2 = 1 )= P 1 、P 2P N B EのR(PのA)∈ (0 、1 )
ピース2:公正なコインフリップから任意のを生成する方法を知っています。
これを行う標準的な方法があります。展開そのバイナリ拡張で、その後、私たちの公正なコインが「一致」の桁に反転し使用。最初の一致により、成功( "heads")または失敗( "tails")を宣言するかどうかが決まります。場合、当社のコインフリップはヘッド、宣言ヘッドを、ある場合と私たちのコインフリップは尾、宣言尾です。そうでない場合は、新しいコインフリップに対する後続の数字を検討してください。Q 、Q 、N = 1 、Q N = 0
ピース3:バイアスが未知の不公平なコインから公正なコインフリップを生成する方法を知っている。
これは、コインをペアで反転させることにより、想定して行われます。を取得した場合、ヘッドを宣言します。を取得した場合、テールを宣言し、それ以外の場合は、前述の2つの結果のいずれかが発生するまで実験を繰り返します。それらは同様にありそうなので、確率持たなければなりません。H T T H 1 / 2
ピース4:いくつかの数学。(テイラーの救助。)
を周りに展開することにより、テイラーの定理は、 なおため、後の各用語が最初に負我々は持っているので、 は先験的に知られています。したがって ここで、およびp 0 = 1 p a = 1 − a (1 − p )− a (1 − a )0 < A < 1 、P A = 1 - ∞ Σ N = 1、B N(1 - P )nは
そして、コインを使用して成功確率幾何ランダム変数を生成する方法をすでに知っています。
ピース5:モンテカルロトリック。
LETの値をとる離散ランダム変数であるで。ましょう。次に、 P(X = X N)= P N U | X 〜B E R(X )P(U = 1 )= Σ N X N P N。
しかし、およびをとると、確率変数を生成する方法がわかります。これは 1。x n = f n B e r(1 − p a)B e r(p a)
次の答えは愚かですか?
場合独立していると分布している、は場合としてほぼ分布します。B eY n Y n B e r(p a)n → ∞
あなたがわからない場合したがって、、しかし、あなたは、このコインを投げることができ、多くの時間のを、それから(約)サンプルすることが可能である確率変数。B e r(p a
サンプルR
コード:
n <- 1000000
p <- 1/3 # works for any 0 <= p <= 1
a <- 4
x <- rbinom(n, 1, p)
y <- rbinom(n, 1, mean(x)^a)
cat("p^a =", p^a, "\n")
cat("est =", mean(y))
結果:
p^a = 0.01234568
est = 0.012291
この質問の以下の説明と枢機'の回答を、Courseraの現在の分析的コンビナトリクスクラスのGeneral Discussionフォーラム、「ランダムシリーズの構築へのべき級数の適用」に投稿しました。これをコミュニティWikiとしてここに投稿し、これを一般公開し、より恒久的に利用できるようにします。
べき級数に関連するstat.stackexchange.comで興味深い質問と回答がありました。「整数ではない量の連続したベルヌーイの成功を生成する方法は?」私は枢機byによって質問と答えを言い換えます。
確率がで、正の実数ある可能性のある不公平なコインがあるとします。確率があるイベントをどのように構築できますか?α P α
が正の整数である場合、コインを回反転させるだけで、すべての投げが頭であるというイベントを発生させることができます。ただし、が整数(など)でない場合、これは意味がありませんが、この考えを使用して、の場合に減らすことができます。確率がであるイベントを構築する場合、確率がとである独立したイベントの共通部分を取ります。α α 1 / 2 0 < α < 1つのP 3.5 P 3 P 0.5
できることの1つは、既知の確率イベントを構築することです。これを行うために、コインを2回繰り返し反転し、をとして読み取り、をとして読み取り、とを無視することにより、公正なビットのストリームを構築できます。このストリームをのバイナリ展開と比較します。最初の不一致がである場合、確率ます。私たちは知らない、私たちはこれを直接使用することはできませんが、それは便利なツールになります。H T 1 T H 0 H H T TのP ' = 0 1 2 3。。。2 I = 1 、P ' 、P α
主な考え方は、級数を使用することですここでです。コインを回反転し、それらがすべてテールであるかどうかを確認することにより、確率がイベントを構築でき、p の 2進数を公正なビットストリームと比較することにより、確率イベントを生成できます上記のように、n回のトスがすべてテールかどうかを確認します。
パラメーターpで幾何学的ランダム変数を構築します。これは、コイントスの無限のシーケンスにおける最初のヘッドの前のテールの数です。P (G = n )= (1 − p )n p = q n p。(一部の人々は1異なる定義を使用します。)
シーケンスを考えると、t Gを生成できます。最初のヘッドまでコインを反転し、最初のヘッドの前にGテールがある場合、インデックスGのシーケンスの要素を取得します。それぞれの場合、T N ∈ [ 0 、1 ]、我々は比較できtをGに一様確率変数と[ 0 、1 ]の確率でイベントを取得する(上記のように構成された)E [ T。
これは、ほとんど必要なものです。私たちは、その排除したいするための電源シリーズを使用したp αでのq。
検討。してみましょうトンをn個の係数の合計とQを通してq個のn。次いで、1-Pα=ΣNTNQNP。各TN∈[0、1]の係数は正の和であるので、1-0α=1、我々は確率でイベントを構築することができるように1-Pα公平なビットストリームをバイナリ展開と比較することにより。補数は、確率があるのp αを必要に応じて。
繰り返しますが、議論は枢機toによるものです。
枢機inalとその後の貢献による非常に完全な答えは、次の発言/異形を引き起こしました。
PZを "Probability of Zero"および ます。場合XはN IIDベルヌーイPZを有する配列であり、Qは、 M N:= 最大(X 1は、はPZ q nのベルヌーイrv です。今製造 Nランダムすなわち、整数RVによってそれを置き換える N ≥ 1点のベルヌーイRVにリード M Nと PのR { M N = 0 } = ∞ Σ N = 1 P R { M N = 0 したがって、 0 < a < 1であり、枢機'の答えから P r { N = n } = b nを取得した場合、 P r { M N = 0 } = 1 - p aおよび 1 - M N is B e r(p a)必要に応じて。係数 b n
離散分布のみに依存すると0 < < 1、リコール PのR { N = N } = A 興味深い機能があります。無限の期待と重い尾の振る舞い n
ただし、最大でNの RVS、その決意は、多数の必要XのKである≤ N結果を1としてすぐに知られているので、Xのkがある1。計算されたX kの数は幾何学的に分布しています。