Гаразд, спробуємо це. Я дам дві відповіді - байєсівський, який, на мою думку, простий і природний, і один із можливих частістських.
Байєсівський розчин
Ми припускаємо, що бета-версія на , i, e., , тому що модель бета-біномії є сполученою, а це означає, що задній розподіл також є бета-розподілом з параметрами , (я використовую для позначення кількості успіхів у випробуваннях, а не ). Таким чином, висновок значно спрощується. Тепер, якщо у вас є деякі попередні знання про ймовірні значення , ви можете використовувати його для встановлення значень та , тобто для визначення вашої бета-версії до цього, інакше ви можете припустити рівномірний (неінформативний) раніше, зр ~ Б е т в ( & alpha ; , & beta ) & alpha ; = & alpha ; + до , & beta ; = & beta ; + п - до до п у р & alpha ; & beta ; & alpha ; = & beta ; = 1pp∼Beta(α,β)α^=α+k,β^=β+n−kknypαβα=β=1або інші неінформативні пріори (див. приклад тут ). У будь-якому випадку, ваша задня частина
Pr(p|n,k)=Beta(α+k,β+n−k)
За байесівським висновком, все, що має значення, є задня ймовірність, тобто, коли ви це знаєте, ви можете зробити висновки для всіх інших величин у вашій моделі. Ви хочете зробити висновок щодо спостережуваних : зокрема, на вектор нових результатів , де не обов'язково дорівнює . Зокрема, для кожного , ми хочемо обчислити ймовірність досягнення саме успіхів у наступних випробуваннях, враховуючи, що ми отримали успіхів у попередніх випробуваннях; функція задньої прогностичної маси:y = y 1 , … , y m m n j = 0 , … , m j m k nyy=y1,…,ymmnj=0,…,mjmkn
Pr(j|m,y)=Pr(j|m,n,k)=∫10Pr(j,p|m,n,k)dp=∫10Pr(j|p,m,n,k)Pr(p|n,k)dp
Однак наша біноміальна модель для означає, що, умовно, коли має певне значення, ймовірність досягнення успіхів у випробуваннях не залежить від минулих результатів: це простоp j mYpjm
f(j|m,p)=(jm)pj(1−p)j
Таким чином вираз стає
Pr(j|m,n,k)=∫10(jm)pj(1−p)jPr(p|n,k)dp=∫10(jm)pj(1−p)jBeta(α+k,β+n−k)dp
Результатом цього інтеграла є відомий розподіл під назвою бета-біноміальний розподіл: пропускаючи уривки, ми отримуємо жахливий вираз
Pr(j|m,n,k)=m!j!(m−j)!Γ(α+β+n)Γ(α+k)Γ(β+n−k)Γ(α+k+j)Γ(β+n+m−k−j)Γ(α+β+n+m)
Наша точкова оцінка для урахуванням квадратичної втрати, звичайно, є середнім значенням цього розподілу, тобтоj
μ=m(α+k)(α+β+n)
Тепер давайте розглянемо інтервал прогнозування. Оскільки це дискретний розподіл, у нас немає виразу закритої форми для , так що . Причина полягає в тому, що залежно від того, як ви визначаєте квантил, для дискретного розподілу квантильна функція є або не функцією, або є розривною функцією. Але це не є великою проблемою: для малого ви можете просто записати ймовірності і звідси знайди такий, щоP r ( j 1 ≤ j ≤ j 2 ) = 0,95 м m P r ( j =[j1,j2]Pr(j1≤j≤j2)=0.95mmj 1 , j 2Pr(j=0|m,n,k),Pr(j≤1|m,n,k),…,Pr(j≤m−1|m,n,k)j1,j2
Pr(j1≤j≤j2)=Pr(j≤j2|m,n,k)−Pr(j<j1|m,n,k)≥0.95
Звичайно, ви знайдете більше однієї пари, тому в ідеалі ви б шукали найменшого такого, щоб вищезазначене було задоволено. Зауважте, що[j1,j2]
Pr(j=0|m,n,k)=p0,Pr(j≤1|m,n,k)=p1,…,Pr(j≤m−1|m,n,k)=pm−1
є лише значеннями CMF (функції накопичення маси) бета-біноміального розподілу, і як таке існує вираз закритої форми , але це з точки зору узагальненої гіпергеометричної функції і, таким чином, є досить складним. Я вважаю за краще просто встановити пакет R extraDistr
і закликати pbbinom
обчислити CMF бета-біноміального розподілу. Зокрема, якщо ви хочете за один раз обчислити всі ймовірності , просто напишіть:p0,…,pm−1
library(extraDistr)
jvec <- seq(0, m-1, by = 1)
probs <- pbbinom(jvec, m, alpha = alpha + k, beta = beta + n - k)
де alpha
і beta
є значення параметрів вашої бета-версії, тобто та (таким чином, 1, якщо ви використовуєте рівномірне попереднє значення над ). Звичайно, все було б набагато простіше, якби R забезпечила квантильну функцію для бета-біноміального розподілу, але, на жаль, це не відбувається.β pαβp
Практичний приклад з байєсівським рішенням
Нехай , (таким чином ми спочатку спостерігали 70 успіхів у 100 випробуваннях). Ми хочемо бальної оцінки та 95% -ного інтервалу прогнозування кількості успіхів у наступних випробувань. Потімk = 70 j m = 20n=100k=70jm=20
n <- 100
k <- 70
m <- 20
alpha <- 1
beta <- 1
де я вважав рівномірний попередній : залежно від попередніх знань для вашої конкретної заявки, це може бути, а може і не бути корисним попереднім. Таким чиномp
bayesian_point_estimate <- m * (alpha + k)/(alpha + beta + n) #13.92157
Очевидно, що неціла оцінка для не має сенсу, тому ми можемо просто округлити до найближчого цілого числа (14). Потім для інтервалу прогнозування:j
jvec <- seq(0, m-1, by = 1)
library(extraDistr)
probabilities <- pbbinom(jvec, m, alpha = alpha + k, beta = beta + n - k)
Ймовірності є
> probabilities
[1] 1.335244e-09 3.925617e-08 5.686014e-07 5.398876e-06
[5] 3.772061e-05 2.063557e-04 9.183707e-04 3.410423e-03
[9] 1.075618e-02 2.917888e-02 6.872028e-02 1.415124e-01
[13] 2.563000e-01 4.105894e-01 5.857286e-01 7.511380e-01
[17] 8.781487e-01 9.546188e-01 9.886056e-01 9.985556e-01
Для інтервалу ймовірностей з рівним хвостом ми хочемо, щоб найменший таким, що а найбільший таким, що . Таким чином, у нас буде P r ( j ≤ j 2 | m , n , k ) ≥ 0,975 j 1 P r ( j < j 1 | m , n , k ) = P r ( j ≤ j 1 - 1 | m , n , k ) ≤ 0,025j2Pr(j≤j2|m,n,k)≥0.975j1Pr(j<j1|m,n,k)=Pr(j≤j1−1|m,n,k)≤0.025
Pr(j1≤j≤j2|m,n,k)=Pr(j≤j2|m,n,k)−Pr(j<j1|m,n,k)≥0.975−0.025=0.95
Таким чином, переглядаючи наведені вище ймовірності, ми бачимо, що і . Імовірність цього байєсівського інтервалу прогнозування становить 0,9778494, що більше 0,95. Ми могли б знайти більш короткі інтервали, такі, що , але в цьому випадку принаймні одна з двох нерівностей для хвостових ймовірностей не була б задоволена.j2=18j1=9Pr(j1≤j≤j2|m,n,k)≥0.95
Часте рішення
Я буду стежити за лікуванням Крішнаморті та Пенга, 2011 рік . Нехай і незалежно розподілені біноміном. Ми хочемо інтервал прогнозування для , заснований на спостереженні . Іншими словами, шукаємо таким, що:Y∼Binom(m,p)X∼Binom(n,p)1−2α−YXI=[L(X;n,m,α),U(X;n,m,α)]
PrX,Y(Y∈I)=PrX,Y(L(X;n,m,α)≤Y≤U(X;n,m,α)]≥1−2α
" " пояснюється тим, що ми маємо справу з дискретною випадковою змінною, і тому ми не можемо очікувати отримання точного покриття ... але ми можемо шукати інтервал, який завжди має принаймні номінальне покриття, таким чином, консервативний інтервал. Тепер можна довести, що умовний розподіл заданий є гіпергеометричним з розміром вибірки , кількістю успіхів у популяції та чисельністю популяції . Таким чином, умовний pmf є≥1−2αXX+Y=k+j=ssnn+m
Pr(X=k|X+Y=s,n,n+m)=(nk)(ms−k)(m+ns)
Таким чином, умовний CDF заданий єXX+Y=s
Pr(X≤k|s,n,n+m)=H(k;s,n,n+m)=∑ki=0(ni)(ms−i)(m+ns)
Перша чудова річ у цьому CDF - це те, що він не залежить від , про який ми не знаємо. Друга чудова річ полягає в тому, що вона дозволяє легко знайти наш PI: насправді, якщо ми спостерігали значення з X, то нижня межа прогнозування є найменшим цілим числом таким, щоpk1−αL
Pr(X≥k|k+L,n,n+m)=1−H(k−1;k+L,n,n+m)>α
відповідно, верхня межа прогнозування є найбільшим цілим числом, таким, що1−α
Pr(X≤k|k+U,n,n+m)=H(k;k+U,n,n+m)>α
Таким чином, - інтервал прогнозування для покриття щонайменше . Зауважимо, що коли близький до 0 або 1, цей інтервал є консервативним навіть для великих , , тобто його охоплення досить більше, ніж .[L,U]Y1−2αpnm1−2α
Практичний приклад з рішенням Frequentist
Той самий параметр, що і раніше, але нам не потрібно вказувати та (немає пріорів у програмі Frequentist):αβ
n <- 100
k <- 70
m <- 20
Тепер бальна оцінка отримується з використанням оцінки MLE для ймовірності успіху , що в свою чергу призводить до наступної оцінки кількості успіхів у випробуваннях:p^=knm
frequentist_point_estimate <- m * k/n #14
Для інтервалу прогнозування процедура дещо інша. Шукаємо найбільшу таку, що , таким чином давайте обчислимо вищенаведений вираз для всіх в :UPr(X≤k|k+U,n,n+m)=H(k;k+U,n,n+m)>αU[0,m]
jvec <- seq(0, m, by = 1)
probabilities <- phyper(k,n,m,k+jvec)
Ми можемо бачити, що найбільший такий, що ймовірність все-таки більша за 0,025U
jvec[which.min(probabilities > 0.025) - 1] # 18
Те саме, що і для байєсівського підходу. Нижня межа прогнозування - найменше ціле число, таке, що , таким чиномP r ( X ≥ k | k + L , n , n + m ) = 1 - H ( k - 1 ;LPr(X≥k|k+L,n,n+m)=1−H(k−1;k+L,n,n+m)>α
probabilities <- 1-phyper(k-1,n,m,k+jvec)
jvec[which.max(probabilities > 0.025) - 1] # 8
Таким чином, наш частолістський "точний" інтервал передбачення становить .[L,U]=[8,18]