不同概率的伯努利试验成功


11

如果进行20次独立的伯努利试验,则每个成功或失败的可能性均不同。20个试验中有n个成功的概率是多少?

是否有一种更好的方法来计算这些概率,而不是简单地将成功和失败概率的总和相加?

Answers:


12

您要查询的分布称为Poisson Binomial分布,具有相当复杂的pmf(有关详细说明,请参阅Wikipedia)

Pr(X=x)=AFxiApijAc(1pj)

通常,问题是您不能在更多次试验中使用此方程式(通常在试验次数超过)。还有其他计算pmf的方法,例如递归公式,但是它们在数值上不稳定。解决这些问题的最简单方法是近似方法(例如,Hong,2013年描述)。如果我们定义n=30

μ=i=1npi

σ=i=1npi(1pi)

γ=σ3i=1npi(1pi)(12pi)

那么我们可以通过小数定律或Le Cams定理泊松分布来近似pmf

Pr(X=x)μxexp(μ)x!

但它发现二项式逼近通常表现得更好(Choi和Xia,2002

Pr(X=x)Binom(n,μn)

您可以使用正态近似

f(x)ϕ(x+0.5μσ)

或cdf可以使用所谓的精细法线近似来近似(Volkova,1996)

F(x)max(0, g(x+0.5μσ))

其中。g(x)=Φ(x)+γ(1x2)ϕ(x)6

当然,另一种选择是蒙特卡洛模拟。

简单的dpbinomR函数将是

dpbinom <- function(x, prob, log = FALSE,
                    method = c("MC", "PA", "NA", "BA"),
                    nsim = 1e4) {

  stopifnot(all(prob >= 0 & prob <= 1))
  method <- match.arg(method)

  if (method == "PA") {
    # poisson
    dpois(x, sum(prob), log)
  } else if (method == "NA") {
    # normal
    dnorm(x, sum(prob), sqrt(sum(prob*(1-prob))), log)
  } else if (method == "BA") {
    # binomial
    dbinom(x, length(prob), mean(prob), log)
  } else {
    # monte carlo
    tmp <- table(colSums(replicate(nsim, rbinom(length(prob), 1, prob))))
    tmp <- tmp/sum(tmp)
    p <- as.numeric(tmp[as.character(x)])
    p[is.na(p)] <- 0

    if (log) log(p)
    else p 
  }
}

大多数方法(以及更多方法)也都在R poibin包中实现。


Chen LHY(1974)。关于泊松二项式到泊松分布的收敛性。概率年鉴,2(1),178-180。

Chen,SX and Liu,JS(1997)。泊松二项式和条件伯努利分布的统计应用。统计杂志875-892。

Chen SX(1993)。泊松二项式分布,条件伯努利分布和最大熵。技术报告。哈佛大学统计系。

Chen XH,Dempster,AP和Liu,JS(1994)。加权有限总体采样以最大化熵。Biometrika 81,457-469。

Wang YH(1993)。关于独立试验成功的次数。统计杂志3(2):295-312。

Hong Y(2013)。在计算泊松二项式分布的分布函数时。计算统计与数据分析,59,41-51。

Volkova,AY(1996)。独立随机指标总和的中心极限定理的改进。概率论及其应用40,791-794。

Choi,KP和Xia,A.(2002)。估算独立试验中的成功次数:二项式与Poisson。应用概率年鉴,14(4),1139-1148。

Le Cam,L.(1960年)。泊松二项分布的一个近似定理。太平洋数学杂志10(4),1181-1197年。


0

一种方法是使用生成函数。您的问题的解决方案是多项式中的系数xn

i=120(pix+1pi).

这是动态编程的等效项(伯努利变量的二次时间),它根据蒂姆的答案在泊松二项式分布中求和(这是指数时间)。

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.