鉴于:
- 具有未知偏差(正面)的硬币。
- 严格正实数 。
问题:
生成具有偏差的随机伯努利变量。
有谁知道如何做到这一点?例如,当是一个正整数时,则可以掷硬币,并查看所有结果是否都是正面:如果结果为'0',否则为'1'。困难在于不一定是整数。另外,如果我知道偏差,我就可以制造具有期望偏差的另一枚硬币。 一个一个p
鉴于:
问题:
生成具有偏差的随机伯努利变量。
有谁知道如何做到这一点?例如,当是一个正整数时,则可以掷硬币,并查看所有结果是否都是正面:如果结果为'0',否则为'1'。困难在于不一定是整数。另外,如果我知道偏差,我就可以制造具有期望偏差的另一枚硬币。 一个一个p
Answers:
我们可以通过几个“技巧”和一些数学来解决这个问题。
这是基本算法:
为了使事情更容易消化,我们将把事情分解成碎片。
第1部分:在不失一般性的前提下,假设。
如果,然后,我们可以写p 一个 = p Ñ p b为正整数Ñ和一些0 ≤ b < 1。但是,对于任意两个独立的伯努利,我们有 P(X 1 = X 2 = 1 )= p 1 p 2 我们可以生成一个 p ñ从我们在明显的方式硬币伯努利。因此,我们需要只与产生关注自己乙ë - [R (p 一个)时一个∈ (0 ,1 )。
片2:知道如何产生一个任意从公平的硬币翻转。
有一种标准的方法可以做到这一点。展开在其二进制展开,然后使用我们的公平的硬币翻转到“匹配”的数字q。第一场比赛决定了我们宣布成功(“正面”)还是失败(“尾巴”)。如果q n = 1并且我们的硬币翻转为正面,则声明为正面,如果q n = 0并且我们的硬币翻转为背面,则声明为正面。否则,考虑将后续数字与新的硬币翻转相对。
第三部分:知道如何从具有未知偏差的不公平硬币中产生公平的硬币翻转。
这样做时,假设,通过翻转在对硬币。如果得到H T,则声明一个头;如果我们得到T H,则声明一个尾巴,否则重复该实验,直到出现上述两个结果之一。他们是同样可能的,所以必须有概率1 / 2。
第四部分:一些数学。(泰勒为营救。)
通过扩大围绕p 0 = 1,泰勒定理断言 p 一个 = 1 - 一(1 - p )- 一(1 - 一) 请注意,因为 0 < 一< 1,在将各第一项是负的,所以我们有 p 一个 = 1 - ∞ &Sigma; ñ = 1 b Ñ(1 - p )ñ
并且,我们已经知道如何使用硬币生成成功概率为的几何随机变量。
第5部分:蒙特卡洛技巧。
让是一个离散随机变量取值在[ 0 ,1 ]与P(X = X Ñ)= p Ñ。让ü | X 〜乙Ë [R (X )。那么 P(U = 1 )= ∑ n x n p n。
但是,取和X Ñ = ˚F Ñ,我们现在看到如何生成乙ë - [R (1 - p 一个)随机变量,这等同于产生乙ë - [R (p 一)一个。
以下答案愚蠢吗?
如果是独立的B e r(p )且Y n具有分布B e r ((∑ n i = 1 X i / n ) a ),则Y n将近似为B e r分布(p a),当n → ∞时。
因此,如果你不知道,但你能折腾这枚硬币有很多的时候,它可以从一个样品(约)乙Ë [R (p 一)随机变量。
示例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上当前分析组合类的一般讨论论坛上发布了该问题的以下说明和枢机主教的回答:“幂级数在构造随机变量中的应用”。我在这里发布了一个副本,作为社区Wiki,以使其公开且永久可用。
stat.stackexchange.com上有一个与幂级数有关的有趣问题:“如何生成连续次数的伯努利成功次数不成整数?” 我将通过基数来解释问题和答案。
假设我们有一个可能不公平的硬币,其正面为概率,且实数为正α。我们如何构建其概率事件p α?
如果是一个正整数,我们可以将硬币翻转α次,并假设所有掷出都是正面。然而,如果α不是整数,说1 / 2,那么这是没有意义的,但我们可以用这个思路来减少的情况下0 < α < 1。如果我们要构造一个概率为p 3.5的事件,我们将概率为p 3和p 0.5的独立事件相交。
一两件事,我们可以做的是与任何已知的概率构造一个事件。为此,我们可以通过重复两次翻转硬币,将H T读取为1并将T H读取为0并忽略H H和T T来构造一个公平的比特流。我们比较这流与的二进制展开p ' = 0。一个1 一2 一3。。。2。第一个分歧是情况的概率为p '。我们不知道p α,因此我们不能直接使用,但它会是一个有用的工具。
其主要思想是,我们想用幂级数为其中p=1-q。我们可以构建其概率事件qñ通过掷硬币ñ倍,如果他们都尾部看,我们可以生产出概率事件p'qñ通过比较二进制数字p'同一个公平的比特流如上并检查是否n个抛尾全部都是尾巴。
构造一个几何随机变量具有参数p。这是无数次抛硬币中第一个头部之前的尾巴数。P (G = n )= (1 - p )n p = q n p。(某些人使用的定义相差1。)
给定一个序列,我们可以产生t G:翻转硬币直到第一个头部,如果第一个头部之前有G个尾巴,则取下索引为G的元素。如果每个吨Ñ ∈ [ 0 ,1 ],我们可以比较吨ģ以均匀随机变量在[ 0 ,1 ](如上构造),以获得与概率事件ë [ 吨。
这几乎是我们所需要的。我们想消除使用的电源系列p α在q。
同样,该论点是由于枢机主教。