Sucesso dos ensaios de Bernoulli com diferentes probabilidades

11

Se 20 ensaios independentes de Bernoulli forem realizados, cada um com uma probabilidade diferente de sucesso e, portanto, fracasso. Qual é a probabilidade de exatamente n dos 20 ensaios terem sucesso?

Existe uma maneira melhor de calcular essas probabilidades em vez de simplesmente resumir as combinações de probabilidades de sucesso e falha?

Maha123
fonte

Respostas:

12

A distribuição que você está perguntando é chamada de distribuição Binomial de Poisson , com pmf bastante complicado (consulte a Wikipedia para uma descrição mais ampla)

Pr(X=x)=UMAFxEuUMApEujUMAc(1-pj)

Geralmente, o problema é que você não pode usar essa equação para um número maior de tentativas (geralmente quando o número de tentativas excede ). Existem também outros métodos para calcular o pmf, por exemplo, fórmulas recursivas, mas são numericamente instáveis. A maneira mais fácil de contornar esses problemas são os métodos de aproximação (descritos, por exemplo, por Hong, 2013 ). Se definirmosn=30

μ=Eu=1npEu

σ=Eu=1npEu(1-pEu)

γ=σ-3Eu=1npEu(1-pEu)(1-2pEu)

então podemos aproximar o pmf com a distribuição de Poisson através da lei de pequenos números ou do teorema de Le Cams

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

mas vê que geralmente a aproximação binomial se comporta melhor ( Choi e Xia, 2002 )

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

você pode usar aproximação normal

f(x)ϕ(x+0,5-μσ)

ou cdf podem ser aproximados usando a chamada aproximação normal refinada (Volkova, 1996)

F(x)max(0 0, g(x+0,5-μσ))

onde .g(x)=Φ(x)+γ(1-x2)ϕ(x)6

Outra alternativa é, obviamente, uma simulação de Monte Carlo.

dpbinomFunção R simples seria

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 
  }
}

A maioria dos métodos (e mais) também são implementados no pacote R poibin .


Chen, LHY (1974). Sobre a convergência do binômio de Poisson para as distribuições de Poisson. The Annals of Probability, 2 (1), 178-180.

Chen, SX e Liu, JS (1997). Aplicações estatísticas das distribuições Poisson-Binomial e Bernoulli condicional. Statistica Sinica 7, 875-892.

Chen, SX (1993). Distribuição de Poisson-Binomial, distribuição condicional de Bernoulli e entropia máxima. Relatório técnico. Departamento de Estatística, Universidade de Harvard.

Chen, XH, Dempster, AP e Liu, JS (1994). Amostragem de população finita ponderada para maximizar a entropia. Biometrika 81, 457-469.

Wang, YH (1993). Sobre o número de sucessos em ensaios independentes. Statistica Sinica 3 (2): 295-312.

Hong, Y. (2013). Ao calcular a função de distribuição para a distribuição binomial de Poisson. Estatística Computacional e Análise de Dados, 59, 41-51.

Volkova, AY (1996). Um refinamento do teorema do limite central para somas de indicadores aleatórios independentes. Teoria da Probabilidade e suas Aplicações 40, 791-794.

Choi, KP e Xia, A. (2002). Aproximando o número de sucessos em ensaios independentes: Binomial versus Poisson. The Annals of Applied Probability, 14 (4), 1139-1148.

Le Cam, L. (1960). Teorema da aproximação para a distribuição binomial de Poisson. Pacific Journal of Mathematics 10 (4), 1181-1197.

Tim
fonte
0

Uma abordagem é usar funções geradoras. A solução para o seu problema é o coeficiente no polinômioxn

Eu=120(pEux+1-pEu).

Este é o equivalente de programação dinâmica (tempo quadrático no número de variáveis ​​de Bernoulli) de fazer a soma na distribuição binomial de Poisson da resposta de Tim (que seria o tempo exponencial).

Neil G
fonte