无限抛硬币概率

机器算法验证 可能性
2022-04-03 01:17:11

假设你有一个公平的硬币。你从1美元,如果抛H,你的钱翻倍,如果抛T,你的钱减半。如果你无限掷硬币,你所拥有的钱的期望值是多少?

为什么以下两个论点会导致不同的答案?为什么2不正确?

  1. X表示抛掷,则E(X)=122+1212=54. 然后我们有E(i=1nXi)=i=1nE(Xi)=(54)n.

  2. Mn成为您在步骤中拥有的金额n, 然后Mn=2nHnT, 和nH+nT=n, 在哪里nH是第一个正面的数量n投掷,和nT是第一个中的尾巴数n折腾。由于硬币是公平的,所以对于大n,nH=nT, 因此Mn1.

3个回答

为了一个公平的硬币nH/nT1,但事实并非如此nHnT0. 我们知道中心极限定理的近似分布nHN(n/2,n/4), 这样的近似分布nHnTN(0,n). 那是,nHnT均值为零,但具有典型大小n.

的近似分布Mn=2nHnT是对数正常。如果

log2MnN(0,n)
然后
logMnN(0,(n)(log2)2)

对数均值为对数正态分布的均值μ和对数方差σ2exp(μ+σ2/2),这就是

exp(0+(n/2)(log2)2)1.27n

这不完全是(5/4)n你从第一种方法中得到的,但考虑到小的正常近似的相对粗糙度,它并没有那么远n.

你的第一个案例

你可以做出你的表情E(X)=122+1212=54更正确的是:

E(Mn+1)=122E(Mn)+1212E(Mn)=54E(Mn)

结果:

E(Mn)=(54)n

我相信这是正确的表达方式,因为我可以将其与其他两条路径联系起来:

  • 计算通过模拟很多案例,我发现系数为 5/4 的幂律似乎是正确的。

    模拟

     # settings
     set.seed(1)
     ktoss <- 1:50
     n <- 10^6
     Q <- rep(0,length(ktoss))
    
     # compute for 1 to 50 tosses   n <- 10^6 million trials
     for (k in ktoss) {
       t <- rbinom(n,k,0.5)
       Q[k-min(ktoss)+1] <- mean(2^(k-2*t))
     }  
    
     # plotting
     plot(ktoss,Q, log = "y")
     lines(ktoss,(5/4)^ktoss)
    
  • 精确表达式有一种直接的方法可以使用矩生成函数来计算二项式分布的幂的期望(这在这个问题中得到了证明:对数二项式分布的均值和方差

    对于二项分布,我们有

    E(ekX)=MX(k)=(1p+pek)n

    并使用矩生成函数的移位和缩放属性,您可以得到

    E(22Xnn)=M2Xnn(ln(2))=eln(2)n(1p+peln(2)2)n=1.25n


我不确定为什么对数正态分布不接近对数二项式分布。


你的第二个 cse

第二个论点的问题在于

E(2Xn)2E(Xn)

但是对货币对数的期望在时间上是恒定的。

这里需要注意:从1美元的“财富”开始,在所描述的模型下,财富的差异变得无限大。对有限次数的抛硬币的分析是可以的,但最初的问题要求行为为n.

不需要大量连续的 H 或 T 来溢出或下溢财富的双精度表示。(比世界上更多的钱,或者是一分钱的极小部分。)最终,在一连串的投掷中,如此长的运行是不可避免的。

例如,六次模拟实验的命运图(每次通过计划的 100,000 次硬币抛掷)如下所示。的垂直刻度money是对数刻度,因此水平线位于0 代表没有收益或损失。

在此处输入图像描述

set.seed(2020);  n = 10^5
par(mfrow=c(2,3))
 for(i in 1:6){
  ht = sample(c(.5,2), n, rep=T)
  money = cumprod(ht)
  plot(1:n, log(money), ylim=c(-300,300), type="l")
   abline(h=0, col="darkgreen")  }
par(mfrow=c(1,1))