Успіх випробувань Бернуллі з різною вірогідністю


11

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

Чи існує кращий спосіб обчислення цих ймовірностей, а не просто підсумовування комбінацій ймовірностей успіху та невдачі?

Відповіді:


12

Розподіл, про який ви запитуєте, називається біноміальним розповсюдженням Пуассона з досить складним pmf (ширший опис див. У Вікіпедії)

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

Як правило, проблема полягає в тому, що ви не можете використовувати це рівняння для більшої кількості випробувань (як правило, коли кількість випробувань перевищує ). Існують також інші методи обчислення PMF, наприклад, рекурсивні формули, але вони чисельно нестабільні. Найпростіший спосіб вирішити ці проблеми - методи наближення (описані, наприклад, Hong, 2013 ). Якщо ми визначимосьn=30

μ=i=1npi

σ=i=1npi(1pi)

γ=σ-3i=1нpi(1-pi)(1-2pi)

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

Пр(Х=х)мкхдосвід(-мк)х!

але він бачить, що загалом біноміальне наближення поводиться краще ( Чой і Ся, 2002 )

Пр(Х=х)Бiном(н,мкн)

ви можете використовувати Звичайне наближення

f(х)ϕ(х+0,5-мкσ)

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

Ж(х)макс(0, г(х+0,5-мкσ))

де .г(х)=Φ(х)+γ(1-х2)ϕ(х)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 .


Чень, LHY (1974). Про конвергенцію розподілу Пуассона в біномалі Пуассона до Пуассона. Аннали ймовірності, 2 (1), 178-180.

Chen, SX і Liu, JS (1997). Статистичне застосування розподілу Пуассона-Біномі та умовного розподілу Бернуллі. Statistica Sinica 7, 875-892.

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

Chen, XH, Dempster, AP і Li, 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

Один із підходів - використання функцій генерації. Рішення вашої задачі - коефіцієнт у многочленихн

i=120(piх+1-pi).

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.