Успех испытаний Бернулли с разными вероятностями


11

Если проводится 20 независимых испытаний Бернулли, каждое с различной вероятностью успеха и, следовательно, неудачи. Какова вероятность того, что именно n из 20 испытаний было успешным?

Есть ли лучший способ вычисления этих вероятностей, чем просто суммировать комбинации вероятностей успеха и неудачи?

Ответы:


12

Дистрибутив, о котором вы спрашиваете, называется биномиальным распределением Пуассона с довольно сложным pmf (более широкое описание см. В Википедии)

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

Как правило, проблема заключается в том, что вы не можете использовать это уравнение для большего числа испытаний (обычно, когда количество испытаний превышает ). Существуют также другие методы вычисления pmf, например, рекурсивные формулы, но они численно нестабильны. Самым простым способом решения этих проблем являются методы аппроксимации (описанные, например, Hong, 2013 ). Если мы определимn=30

μ=i=1npi

σ=i=1npi(1pi)

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

тогда мы можем приблизить pmf с распределением Пуассона через закон малых чисел или теорему Ле Камса

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

но он видит, что в целом биномиальное приближение ведет себя лучше ( Choi and Xia, 2002 )

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

Вы можете использовать нормальное приближение

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

или cdf может быть аппроксимирован с использованием так называемого уточненного нормального приближения (Волкова, 1996)

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

где .g(x)=Φ(x)+γ(1x2)ϕ(x)6

Другой альтернативой, конечно, является симуляция Монте-Карло.

Простая dpbinomфункция R будет

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 .


Чен, LHY (1974). О сходимости пуассонова бинома к пуассоновским распределениям. Анналы вероятности, 2 (1), 178-180.

Чен, SX и Лю, JS (1997). Статистические применения пуассоново-биномиальных и условных распределений Бернулли. Statistica Sinica 7, 875-892.

Chen, SX (1993). Распределение Пуассона-Бинома, условное распределение Бернулли и максимальная энтропия. Технический отчет. Статистический факультет Гарвардского университета.

Чен, XH, Демпстер, AP и Лю, JS (1994). Взвешенная конечная выборка населения для максимизации энтропии. Биометрика 81, 457-469.

Ван, YH (1993). О количестве успехов в независимых испытаниях. Statistica Sinica 3 (2): 295-312.

Hong Y. (2013). О вычислении функции распределения для биномиального распределения Пуассона. Вычислительная статистика и анализ данных, 59, 41-51.

Волкова А.Ю. (1996). Уточнение центральной предельной теоремы для сумм независимых случайных показателей. Теория вероятностей и ее приложения 40, 791-794.

Чой К.П. и Ся А. (2002). Приближенное число успехов в независимых исследованиях: биномиальное и пуассоновское. Анналы прикладной вероятности, 14 (4), 1139-1148.

Le Cam, L. (1960). Аппроксимационная теорема для биномиального распределения Пуассона. Тихоокеанский математический журнал 10 (4), 1181–1197.


0

Один из подходов заключается в использовании генерирующих функций. Решением вашей проблемы является коэффициент в полиномеxn

i=120(pix+1pi).

Это эквивалент динамического программирования (квадратичное время в числе переменных Бернулли) для суммирования в биномиальном распределении Пуассона из ответа Тима (который будет экспоненциальным временем).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.