Successo delle prove di Bernoulli con diverse probabilità


11

Se vengono eseguite 20 prove indipendenti di Bernoulli ognuna con una diversa probabilità di successo e quindi di fallimento. Qual è la probabilità che esattamente n delle 20 prove abbia avuto successo?

Esiste un modo migliore per calcolare queste probabilità piuttosto che semplicemente sommare le combinazioni di probabilità di successo e fallimento?

Risposte:


12

La distribuzione di cui stai chiedendo si chiama distribuzione binomiale di Poisson , con pmf piuttosto complicato (vedi Wikipedia per una descrizione più ampia)

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

In generale, il problema è che non è possibile utilizzare questa equazione per un numero maggiore di prove (generalmente quando il numero di prove supera ). Esistono anche altri metodi per calcolare il pmf, ad esempio formule ricorsive, ma sono numericamente instabili. Il modo più semplice per aggirare questi problemi sono i metodi di approssimazione (descritti ad esempio da Hong, 2013 ). Se definiamon=30

μ=i=1npi

σ=i=1npi(1pi)

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

allora possiamo approssimare pmf con la distribuzione di Poisson tramite la legge di piccoli numeri o il teorema di Le Cams

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

ma vede che generalmente l'approssimazione binomiale si comporta meglio ( Choi e Xia, 2002 )

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

puoi usare l'approssimazione normale

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

o cdf può essere approssimato usando la cosiddetta approssimazione normale raffinata (Volkova, 1996)

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

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

Un'altra alternativa è ovviamente una simulazione Monte Carlo.

La dpbinomfunzione R semplice sarebbe

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

La maggior parte dei metodi (e altro) sono anche implementati nel pacchetto R poibin .


Chen, LHY (1974). Sulla convergenza delle distribuzioni binomiali di Poisson in distribuzioni di Poisson. The Annals of Probability, 2 (1), 178-180.

Chen, SX e Liu, JS (1997). Applicazioni statistiche delle distribuzioni di Poisson-Binomial e condizionale di Bernoulli. Statistica Sinica 7, 875-892.

Chen, SX (1993). Distribuzione binomiale di Poisson, distribuzione di Bernoulli condizionale e massima entropia. Rapporto tecnico. Dipartimento di Statistica, Università di Harvard.

Chen, XH, Dempster, AP e Liu, JS (1994). Campionamento finito della popolazione ponderato per massimizzare l'entropia. Biometrika 81, 457-469.

Wang, YH (1993). Sul numero di successi nelle prove indipendenti. Statistica Sinica 3 (2): 295-312.

Hong, Y. (2013). Sul calcolo della funzione di distribuzione per la distribuzione binomiale di Poisson. Statistiche computazionali e analisi dei dati, 59, 41-51.

Volkova, AY (1996). Un perfezionamento del teorema del limite centrale per le somme di indicatori casuali indipendenti. Teoria della probabilità e sue applicazioni 40, 791-794.

Choi, KP e Xia, A. (2002). Approssimazione del numero di successi in studi indipendenti: binomiale contro Poisson. The Annals of Applied Probability, 14 (4), 1139-1148.

Le Cam, L. (1960). Un teorema di approssimazione per la distribuzione binomiale di Poisson. Pacific Journal of Mathematics 10 (4), 1181-1197.


0

Un approccio consiste nell'utilizzare le funzioni di generazione. La soluzione al tuo problema è il coefficiente nel polinomioxn

i=120(pix+1pi).

Questo è l'equivalente di programmazione dinamica (tempo quadratico nel numero di variabili di Bernoulli) di fare la somma nella distribuzione binomiale di Poisson dalla risposta di Tim (che sarebbe tempo esponenziale).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.