掷硬币概率的一个严重的深度问题


10

可以说我正在掷一万枚硬币。我想知道连续获得4个或更多连续磁头需要多少次翻转。

计数将按以下方式进行,您将计数连续的一轮翻转仅是正面(4头或更多)。当一条尾巴击中并破坏了头的条纹时,计数将从下一次翻转开始。然后重复10,000次翻转。

我想知道不仅连续出现4个或更多磁头的概率,而且是6个或更多,10个或更多的概率。为了澄清是否达到9个头的条纹,将其记为1个条纹4个或更多(和/或6个或更多),而不是2个单独的条纹。例如,如果硬币来到THTHTHTHHHHHH /// THAHTHT...。计数将为13,并在下一条尾部再次开始。

假设数据偏右偏;平均为40次翻转,条纹达到4个或更多,分布为u =28。显然是偏斜的。

我正在尽力寻找一种方法来从描述性数据中弄清楚,除非到目前为止我什么都没发现。

我想找到一种方法来从中获得一些合理的可能性。就像+/- 1 SD为68%的正态曲线等。我研究了对数归一化,它仅真正用于参数测试,这并不是我的目标。

有人告诉我Beta发行版,但我提出的每条建议都令人困惑。我一年前曾问过这个问题,并获得了一些见识,但不幸的是我仍然没有答案。谢谢任何有想法的人。


我可能应该澄清一下。1)我正在寻找一种方法,以使偏斜数据集中的每1000次翻转中大于4的连续头的描述性数据有意义(类似于正常曲线概率+/- 1 SD = 68%之类的东西)。2)建议使用Beta发行版,但任何其他建议都很棒!
2013年

1
丹,我刚刚注意到您的示例示例中的首尾包含一个“ A”。
Glen_b-恢复莫妮卡2014年

您所做的编辑是一个很大的改进,但是我们需要做更多更改。当您说“分布为u = 28”时,您的意思是什么?您是在谈论中位数吗?
Glen_b-恢复莫妮卡2014年

@Dan仅当您使用贝叶斯方法并估计正面概率,然后将该分布(及其相关的不确定性)应用到您所陈述问题的数学结果中时,β才有可能导致该问题。
AdamO 2014年

Answers:


12

如果我没有正确理解,那么问题是要找到或更多磁头的第一次运行结束时的概率分布。n

编辑概率可以使用矩阵乘法准确而快速地确定,并且还可以将平均值计算为和方差为其中,但是分布本身可能没有简单的封闭形式。在一定数量的硬币翻转上方,该分布基本上是几何分布:将这种形式用于较大的有意义的。 σ 2 = 2 Ñ + 2μ - ñ - 3 - μ 2 +5μμ= μ - +1μ=2n+11σ2=2n+2(μn3)μ2+5μμ=μ+1t

可以使用针对个状态的转换矩阵来模拟状态空间中概率分布的时间演变,其中连续掷硬币的次数。状态如下:n =k=n+2n=

  • 状态,无头H0
  • 状态,朝向,1 ñ - 1 Hii1i(n1)
  • 状态,或更多的头 ñHnn
  • 状态,或多个头部,后跟一条尾巴 nHn

进入状态您将无法返回其他任何状态。H

进入状态的状态转移概率如下

  • 状态:来自概率,,即包括自身但不包括状态1H0 Hii=0n1Hn12Hii=0,,n1Hn
  • 状态:来自概率1Hi Hi112Hi1
  • 状态:来自概率,即来自具有磁头的状态及其自身1Hn Hn1Hnn112Hn1,Hnn1
  • 状态:来自概率和来自概率1 (自身)1H HnH*12HnH

因此,例如,对于,这给出了转移矩阵n=4

X={H0H1H2H3H4HH01212121200H11200000H20120000H30012000H400012120H0000121}

对于的情况,概率的初始向量为。通常,初始向量具有 p p = 1 0 0 0 0 0n=4pp = { 1 = 0 0 > 0p=(1,0,0,0,0,0)

pi={1i=00i>0

向量是任意给定时间在空间中的概率分布。所需的cdf是时间上的cdf ,并且是在时间至少看到硬币翻转的概率。它可以表示为,请注意,在连续硬币翻转的最后一次之后,我们到达状态 1个时间步。pt X t + 1 p k H nt(Xt+1p)kH

所需的pmf时间可以写为。但是,从数值上讲,这涉及从大得多的数字()中非常小的数字,并限制了精度。因此,在计算中最好设置而不是1。然后将写入所得矩阵,则pmf为。这是在下面的简单R程序中实现的,该程序适用于任何,1 X ķ ķ = 0 X ' X ' = X | X k k = 0(Xt+1p)k(Xtp)k1Xk,k=0XX=X|Xk,k=0 Ñ 2(Xt+1p)kn2

n=4
k=n+2
X=matrix(c(rep(1,n),0,0, # first row
           rep(c(1,rep(0,k)),n-2), # to half-way thru penultimate row
           1,rep(0,k),1,1,rep(0,k-1),1,0), # replace 0 by 2 for cdf
         byrow=T,nrow=k)/2
X

t=10000
pt=rep(0,t) # probability at time t
pv=c(1,rep(0,k-1)) # probability vector
for(i in 1:(t+1)) {
  #pvk=pv[k]; # if calculating via cdf
  pv = X %*% pv;
  #pt[i-1]=pv[k]-pvk # if calculating via cdf
  pt[i-1]=pv[k] # if calculating pmf
}

m=sum((1:t)*pt)
v=sum((1:t)^2*pt)-m^2
c(m, v)

par(mfrow=c(3,1))
plot(pt[1:100],type="l")
plot(pt[10:110],type="l")
plot(pt[1010:1110],type="l")

上面的图显示了0到100之间的pmf。下面的两个图显示了10到110之间以及1010到1110之间的pmf,这说明了自相似性以及事实,如@Glen_b所说,分布看起来像是稳定期后通过几何分布近似。

在此处输入图片说明

可以使用的特征向量分解来进一步研究此行为。这样做表明对于足够大的,,其中是方程。这种近似随着更好得到和是极好的的范围为约30至50,取决于的值,如示于下面的日志错误的曲线图,用于计算(彩虹的颜色,红色的左移p + 1Ç Ñ p Ç Ñ 2 Ñ + 1个 Ç ÑÇ - 1 + 1 = 0 ÑXtpt+1c(n)ptc(n)2n+1cn(c1)+1=0nñ p 100 Ñ = 2 tnp100n=2)。(实际上由于数字原因,当较大时,对概率使用几何逼近实际上会更好。)t

在此处输入图片说明

我怀疑可能有一个封闭的表格可用于分布,因为我计算它们的均值和方差如下

nMeanVariance2724315144431736563339261271472072556169685112534409102310291201020474151296

(为了达到这个目的,我不得不增加时间范围上的数字,t=100000但是程序仍然在不到大约10秒的时间内运行了所有。)方差较小。过去,我已经解决了一个更简单的三态转换系统,但是到目前为止,对于这个简单的解析解决方案我还是很走运。也许有一些我不了解的有用理论,例如与过渡矩阵有关的理论。n=2,,10

编辑:许多错误的开始后,我想出了一个递归公式。令为在时间处在状态的概率。令为时间处状态,即最终状态的累积概率。NB ħ pi,tHit H tq,tHt

  • 对于任何给定的,和是空间上的概率分布,并且在下面我直接使用它们的概率加1的事实。p tq * pi,t,0inq,ti
  • p,t形成时间的概率分布。后来,我利用这一事实得出均值和方差。t

在时间处处于第一状态的概率(即无正面)由从时间起可以返回到状态的转移概率给出(使用总概率定理)。 但是从状态到需要步,因此和 再次由总概率定理得出处于状态t p 0 t + 1t+1tH0Hn1n1pn1t+n1=1

p0,t+1=12p0,t+12p1,t+12pn1,t=12i=0n1pi,t=12(1pn,tq,t)
H0Hn1n1ppn1,t+n1=12n1p0,tHnt+
pn1,t+n=12n(1pn,tq,t)
Hn在时间为 和使用以下事实,即, 因此,将更改, p n t + 1t+1 qt+1
pn,t+1=12pn,t+12pn1,t=12pn,t+12n+1(1pn,tnq,tn)()
2 q t + 2q,t+1q,t=12pn,tpn,t=2q,t+12q,t
2q,t+22q,t+1=q,t+1q,t+12n+1(12q,tn+1+q,tn)
tt+n
2q,t+n+23q,t+n+1+q,t+n+12nq,t+112n+1q,t12n+1=0

该递归公式检查出和。例如,对于,使用的该公式的绘图给出了机器订单的准确性。n=4n=6n=6t=1:994;v=2*q[t+8]-3*q[t+7]+q[t+6]+q[t+1]/2**6-q[t]/2**7-1/2**7

在此处输入图片说明

编辑我看不到从该重复关系中查找封闭表格的位置。但是,可能获得均值的封闭形式。

从,并注意, 取从到和,并应用均值并注意是概率分布给出的 ()p,t+1=12pn,t

pn,t+1=12pn,t+12n+1(1pn,tnq,tn)()2n+1(2p,t+n+2p,t+n+1)+2p,t+1=1q,t
t=0E[X]=x=0(1F(x))p,t
2n+1t=0(2p,t+n+2p,t+n+1)+2t=0p,t+1=t=0(1q,t)2n+1(2(112n+1)1)+2=μ2n+1=μ
这是达到状态的平均值;头脑风暴结束的平均值比这个少一。H

编辑使用公式的类似方法从这个问题得出方差。 E[X2]=x=0(2x+1)(1F(x))

t=0(2t+1)(2n+1(2p,t+n+2p,t+n+1)+2p,t+1)=t=0(2t+1)(1q,t)2t=0t(2n+1(2p,t+n+2p,t+n+1)+2p,t+1)+μ=σ2+μ22n+2(2(μ(n+2)+12n+1)(μ(n+1)))+4(μ1)+μ=σ2+μ22n+2(2(μ(n+2))(μ(n+1)))+5μ=σ2+μ22n+2(μn3)+5μ=σ2+μ22n+2(μn3)μ2+5μ=σ2

均值和方差可以通过编程轻松生成。例如从上表中检查均值和方差

n=2:10
m=c(0,2**(n+1))
v=2**(n+2)*(m[n]-n-3) + 5*m[n] - m[n]^2

最后,我不确定当您写信时想要什么

当一条尾巴击中并破坏了头的条纹时,计数将从下一次翻转开始。

如果你的意思是对的概率分布下一处的第一次运行时以上的头端,然后将关键点被包含在这个由@Glen_b评论,这就是过程又重新开始一个尾后(比照最初的问题是您可以立即获得或更多的头)。nn

这意味着,例如,第一个事件的平均时间为,但事件之间的平均时间始终为(方差相同)。也可以使用转移矩阵调查系统“稳定下来”后处于状态的长期可能性。要获得适当的转换矩阵,请设置和以便系统立即从状态返回状态。然后,该新矩阵按比例缩放的第一特征向量给出了平稳概率。在这些固定概率为μ1μ+1Xk,k,=0X1,k=1H0Hn=4

H=1

probabilityH00.48484848H10.24242424H20.12121212H30.06060606H40.06060606H0.03030303
状态之间的预期时间由概率的倒数给出。因此,预期的两次访问之间的时间。H=1/0.03030303=33=μ+1

附录:Python程序,用于生成n=连续N抛掷次数的精确概率。

import itertools, pylab

def countinlist(n, N):
    count = [0] * N
    sub = 'h'*n+'t'
    for string in itertools.imap(''.join, itertools.product('ht', repeat=N+1)):
        f = string.find(sub)
        if (f>=0):
            f = f + n -1 # don't count t, and index in count from zero 
            count[f] = count[f] +1
            # uncomment the following line to print all matches
            # print "found at", f+1, "in", string
    return count, 1/float((2**(N+1)))

n = 4
N = 24
counts, probperevent = countinlist(n,N)
probs = [count*probperevent for count in counts]

for i in range(N):
    print '{0:2d} {1:.10f}'.format(i+1,probs[i]) 
pylab.title('Probabilities of getting {0} consecutive heads in {1} tosses'.format(n, N))
pylab.xlabel('toss')
pylab.ylabel('probability')
pylab.plot(range(1,(N+1)), probs, 'o')
pylab.show()

7

我不确定Beta是否特别适合作为解决此问题的方法-“直到...的播放次数”显然是重要的。这是一个整数,您获得正概率的值没有上限。

相比之下,β分布是连续的,并且在有限的间隔内,因此这似乎是一个不寻常的选择。如果您瞬间匹配缩放的beta,则累积分布函数可能在分布的中心部分近似地不太差。但是,其他任何选择都可能会更好地进一步拖入任一尾巴。

如果您有一个概率表达式或分布中的模拟表达式(可能是为了找到一个近似的beta),那么为什么不直接使用它们呢?


如果您的兴趣是寻找概率表达式或所需抛掷次数的概率分布,则最简单的想法可能是使用概率生成函数。这些对于从概率之间的递归关系派生函数很有用,而函数(pgf)又使我们能够提取所需的任何概率。

这是一篇采用代数方法的好答案,它解释了难题,并充分利用了pgfs和递归关系。对于“连续两次成功”的情况,它具有均值和方差的特定表达式:

/math/73758/probability-of-n-successes-in-a-row-at-the-k-th-bernoulli-trial-geometric

当然,四次成功案例将更加困难。另一方面,确实在某种程度上简化了事情。p=12

-

如果只需要数值答案,则模拟相对简单。可以直接使用概率估计,或者可以合理地使模拟的概率平滑。

如果必须使用近似分布,则可以选择效果很好的东西。

否定二项式(“试验次数”版本而不是“成功次数”版本)可能是合理的。除了极端尾部以外,应该期望由两个或三个分量给出近似的近似值。

如果您想使用一个连续分布进行近似,则可能有比beta分布更好的选择。这将是要调查的东西。


好的,自那以后,我已经做了一些代数运算,有些是关于递归关系的,有些是模拟的,甚至还有一点思考。

大致来说,我认为您可以简单地指定前四个非零概率(这很容易),通过递归计算接下来的少数几个值(也很容易),一旦递归关系满足,就使用几何尾消除了最初不太平稳的概率级数。

看起来您可以在k = 20之后使用几何尾巴来达到很高的精度,尽管如果您只担心说4位图形的精度,可以将其提前使用。

这样可以让您计算pdf和cdf的准确性很高。

我有点担心-我的计算得出,平均掷球数为30.0,标准差为27.1;如果我理解您所说的“ x”和“ u”的意思,那么您将分别得到40和28。28看起来还可以,但40看起来似乎还差得远……这让我担心我做错了什么。

====

注意:考虑到我们第一次遇到的后续时间之间的复杂性,我现在只想确定我们正在计数同一件事。

这是一个简短的序列,标记了“ 4个或更多H”序列的结尾(指向最后一个H之后的翻转之间的间隔)

       \/                     \/
TTHHHHHHTTHTTTTTHHTTHTTHHTHHHHHT...
       /\                     /\

在这两个标记之间,我数了23次翻转。也就是说,在前一个序列(在这种情况下为6)H结束时,我们从紧随其后的T开始计数,然后从右数到5个H的序列的末尾(在这种情况下),该序列结束下一个序列,在这种情况下,计数为23。

那是你算的吗?


鉴于以上所述是正确的,这是在完成至少4个头的运行之后直到下一次至少4个头的运行完成之后,抛掷次数的概率函数:

硬币概率

乍一看,它看起来像前几个值是平坦的,然后具有几何形状的尾巴,但是这种印象并不十分准确-需要一段时间才能解决到有效的几何形状的尾巴。

我正在努力寻找一个合适的近似值,您可以使用它来尽可能精确地回答与该过程相关的概率问题。我有一个很好的近似值应该可以工作(我已经对照十亿枚硬币的模拟进行了检查),但是该近似值在部分范围内给出的概率存在一些(较小但一致的)偏差,我想看看我能否从中获得更多的准确性。

可能最好的方法是简单地给您一张概率函数表和cdf,直到可以使用几何分布的点为止。

但是,如果您可以对需要使用近似值的事物范围有所了解,这将有所帮助。


我希望继续采用pgf方法,但是其他人可能会比我更精通它们,不仅可以处理4例,还可以处理其他情况。


为了进一步澄清问题。考虑到4个以上成功喷头的通量,调整或混合模拟的分布将是理想的。例如,如果populatoin平均值是连续4个头部的150次翻转。如果在第8次翻转中有4个或更多的头来。再有20个左右的翻转(我只是在猜测),不太可能再有4个或更多的头部不会出现,并且可能更接近平均值。使我有可能在某个特定的抛掷范围内连续出现4个可能的头部的可能性是惊人的。

当您只有4个头时,如果您获得第5个头,则将最近的4组算作另一个4组,还是将计数重置,因此您从第一个头重新开始(只要看到一)?
Glen_b-恢复莫妮卡

(到目前为止,我假设如果您生成许多四个序列,那么就不会有重叠-一旦得到4,则S的计数将重置为0。)
Glen_b-恢复莫妮卡

它的4头或更多,所以一旦4头后您得到一条尾巴,条纹就会停止。然后计数将重新开始,直到您连续连续看到4个或更多。
2013年

4个或更多的负责人-我看到的是问题中所说的,我只是不太清楚。所以9个头不算作4个头中的两个。这完全改变了我正在做的计算。我使用的重复关系是错误的。基本概念-应该具有几何形状的尾巴-仍然会保留。
Glen_b-恢复莫妮卡

0

您需要几何分布。从维基百科:

要获得一次成功所需的伯努利试验次数的概率分布,受集合{1,2​​,3,...}的支持。X

假设头H为失败,头T为成功。然后,随机变量是看到第一个尾巴所需的硬币翻转次数。例如,将是序列HHHT。这是的概率分布:XX=4X

P(X=x)=(1p)x1p

但是,我们只需要正面数。让我们将定义为头数。这是它的分布:Y=X1

P(Y+1=x)=(1p)x1pP(Y=x1)=(1p)x1pP(Y=y)=(1p)yp

为。我们假设一个公平的硬币,使。因此: y=0,1,2,3...p=0.5

P(Y=y)=(0.5)y(0.5)=0.5y+1

所有这些都假定翻转数足够大(如10,000)。对于较小(有限)的,我们需要在表达式中添加归一化因子。简而言之,我们需要确保总和等于1。我们可以通过将所有概率的和除以来做到这一点:nnα

α=i=0n1P(Y=i)

这意味着表示为的的校正形式为:YZ

P(Z=z)=1α(1p)zp=1i=0n1(1p)ip(1p)zp

同样,在,我们可以使用大地序列累加来进一步减小此值:p=0.5

P(Z=z)=1i=0n10.5i+10.5z+1=110.5n0.5z+1=0.5z+110.5n

并且我们可以看到,随着,我们的修改版本从更早的时候接近ž ÿnZY


2
我认为您可能错过了该问题的一些细节。除非我严重误解了这个问题,否则它不是简单的几何图形。
Glen_b-恢复莫妮卡2014年

我更新了它以处理有限n。是的,我现在看到他想移动一个窗口,而不是精确计数。我的仅适用于连锁店,不适用于它们之间的时间。
clintonmonk 2014年

好的第一步是查看@Glen_b帖子中的图表,并查看是否可以复制它。我还添加了我编写的Python程序来检查确切的概率。如果能够执行此操作,请取消注释打印匹配的行,并减少N到5到7之间的某个位置,这样您就可以很好地了解所需的事件(注释pylab仅用于绘图)。
TooTone 2014年

不幸的是,我现在还没有可以测试的PC。我开始使用马尔可夫过程来证明固定的sol'n是几何的(并且E [返回时间] = 1 /),但是我没有时间充分充实它。πi
clintonmonk 2014年

是的,如果通过固定解,您正在谈论的是尾巴中连续概率收敛至常数的比率,那么固定解的确是几何的,正如前面的两个答案都说过的那样。
Glen_b-恢复莫妮卡2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.