Keberhasilan uji coba Bernoulli dengan probabilitas berbeda

11

Jika 20 uji coba independen Bernoulli dilakukan masing-masing dengan probabilitas keberhasilan dan kegagalan yang berbeda. Berapa probabilitas bahwa tepatnya n dari 20 percobaan berhasil?

Apakah ada cara yang lebih baik untuk menghitung probabilitas ini daripada sekadar merangkum kombinasi probabilitas keberhasilan dan kegagalan?

Maha123
sumber

Jawaban:

12

Distribusi yang Anda tanyakan disebut distribusi Binomial Poisson , dengan PMF yang agak rumit (lihat Wikipedia untuk deskripsi yang lebih luas)

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

Secara umum, masalahnya adalah Anda tidak dapat menggunakan persamaan ini untuk beberapa uji coba yang lebih besar (umumnya ketika jumlah uji coba melebihi ). Ada juga metode lain untuk menghitung PMF, misalnya rumus rekursif, tetapi secara numerik tidak stabil. Cara termudah untuk mengatasi masalah tersebut adalah metode perkiraan (dijelaskan misalnya oleh Hong, 2013 ). Jika kita mendefinisikann=30

μ=i=1npi

σ=i=1npi(1pi)

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

maka kita dapat memperkirakan PMF dengan distribusi Poisson melalui hukum angka kecil atau teorema Le Cams

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

tetapi melihat bahwa umumnya pendekatan Binomial berperilaku lebih baik ( Choi dan Xia, 2002 )

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

Anda dapat menggunakan perkiraan Normal

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

atau cdf dapat diperkirakan menggunakan apa yang disebut dengan perkiraan Normal yang disempurnakan (Volkova, 1996)

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

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

Alternatif lain tentu saja simulasi Monte Carlo.

dpbinomFungsi R sederhana adalah

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

Sebagian besar metode (dan banyak lagi) juga diimplementasikan dalam paket R poibin .


Chen, LHY (1974). Tentang Konvergensi Distribusi Binomial ke Distribusi Poisson. The Annals of Probability, 2 (1), 178-180.

Chen, SX dan Liu, JS (1997). Aplikasi statistik dari distribusi Bernoulli Poisson-Binomial dan bersyarat. Statistica Sinica 7, 875-892.

Chen, SX (1993). Distribusi Poisson-Binomial, distribusi Bernoulli bersyarat dan entropi maksimum. Laporan teknikal. Departemen Statistik, Universitas Harvard.

Chen, XH, Dempster, AP dan Liu, JS (1994). Sampling populasi terbatas hingga tertimbang untuk memaksimalkan entropi. Biometrika 81, 457-469.

Wang, YH (1993). Tentang jumlah keberhasilan dalam uji coba independen. Statistica Sinica 3 (2): 295-312.

Hong, Y. (2013). Pada komputasi fungsi distribusi untuk distribusi binomial Poisson. Statistik Komputasi & Analisis Data, 59, 41-51.

Volkova, AY (1996). Penyempurnaan teorema limit pusat untuk jumlah indikator acak independen. Teori Probabilitas dan Penerapannya 40, 791-794.

Choi, KP dan Xia, A. (2002). Perkiraan jumlah keberhasilan dalam uji coba independen: Binomial versus Poisson. The Annals of Applied Probability, 14 (4), 1139-1148.

Le Cam, L. (1960). Teorema Perkiraan untuk Distribusi Binomial Poisson. Pacific Journal of Mathematics 10 (4), 1181–1197.

Tim
sumber
0

Salah satu pendekatan adalah menggunakan fungsi pembangkit. Solusi untuk masalah Anda adalah koefisien dalam polinomialxn

i=120(pix+1pi).

Ini adalah setara pemrograman dinamis (waktu kuadratik dalam jumlah variabel Bernoulli) untuk melakukan penjumlahan dalam distribusi Binomial Poisson dari jawaban Tim (yang akan menjadi waktu eksponensial).

Neil G
sumber