Ok, chúng ta hãy thử điều này. Tôi sẽ đưa ra hai câu trả lời - câu trả lời Bayes, theo ý kiến của tôi đơn giản và tự nhiên, và một trong những câu hỏi thường gặp có thể có.
Giải pháp Bayes
Chúng tôi giả định một trước Beta trên , i, e., P ~ B e t một ( α , β ) , bởi vì mô hình Beta-nhị thức là liên hợp, có nghĩa là phân bố sau cũng là một phân phối Beta với các thông số α = α + k , β = β + n - k , (tôi đang sử dụng k để biểu thị số lần thành công trong n thử nghiệm, thay vì y ). Do đó, suy luận được đơn giản hóa rất nhiều. Bây giờ, nếu bạn có một số kiến thức trước về các giá trị có khả năng củapp ∼ B e ta(α,β)α^=α+k,β^=β+n−kkny , bạn có thể sử dụng nó để thiết lập các giá trị của α và β , ví dụ, để xác định Beta của bạn trước, nếu không bạn có thể giả định một bộ đồng phục (noninformative) trước, với α = β = 1 , hoặc priors noninformative khác (xem ví dụở đây). Trong mọi trường hợp, hậu thế của bạn làpαβα=β=1
Pr(p|n,k)=Beta(α+k,β+n−k)
Trong suy luận Bayes, tất cả những gì quan trọng là xác suất sau, nghĩa là một khi bạn biết điều đó, bạn có thể suy luận cho tất cả các đại lượng khác trong mô hình của mình. Bạn muốn làm cho suy luận trên quan sát : đặc biệt, trên một vector của các kết quả mới y = y 1 , ... , y m , nơi m không nhất thiết phải bằng với n . Cụ thể, đối với mỗi j = 0 , ... , m , chúng tôi muốn để tính xác suất của việc có chính xác k thành công trong tiếp theo m thử nghiệm, cho rằng chúng tôi đã nhận kyy=y1,…,ymmnj = 0 , ... , mjmkthành công trong các thử nghiệm trước đó ; chức năng khối dự đoán sau:n
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
Tuy nhiên, mô hình Binomial của chúng tôi cho có nghĩa là, với điều kiện p có một giá trị nhất định, xác suất để có j thành công trong các thử nghiệm m không phụ thuộc vào kết quả trong quá khứ: đơn giản làYpjm
f(j|m,p)=(jm)pj(1−p)j
Do đó, biểu thức trở thành
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
Kết quả của tích phân này là một phân phối nổi tiếng được gọi là phân phối Beta-Binomial: bỏ qua các đoạn, chúng ta có được biểu hiện khủng khiếp
Pr(j|m,n,k)=m!j!(m−j)!Γ(α+β+n)Γ(α+k)Γ(β+n−k)Γ(α+k+j)Γ(β+n+m−k−j)Γ(α+β+n+m)
Ước tính điểm của chúng tôi cho , mất bậc hai, tất nhiên là giá trị trung bình của phân phối này, nghĩa là,j
μ=m(α+k)(α+β+n)
Bây giờ, hãy tìm một khoảng dự đoán. Vì đây là một bản phân phối rời rạc, chúng tôi không có một biểu hiện hình thức đóng cửa cho , sao cho P r ( j 1 ≤ j ≤ j 2 ) = 0,95 . Lý do là, tùy thuộc vào cách bạn xác định một lượng tử, đối với phân phối rời rạc, hàm lượng tử không phải là hàm hoặc là hàm không liên tục. Nhưng đây không phải là vấn đề lớn: đối với m nhỏ , bạn chỉ cần viết ra xác suất m P r ( j = 0[j1,j2]Pr(j1≤j≤j2)=0.95mm và từ đây tìm j 1 , j 2 sao choPr(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
Tất nhiên bạn sẽ tìm thấy nhiều hơn một cặp vợ chồng, vì vậy bạn sẽ lý tưởng nhất là tìm kiếm nhỏ nhất sao cho thỏa mãn ở trên. Lưu ý rằng[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
chỉ là các giá trị của CMF (Hàm khối tích lũy) của phân phối Beta-Binomial và do đó có biểu thức dạng đóng , nhưng điều này là về hàm siêu bội tổng quát và do đó khá phức tạp. Tôi chỉ muốn cài đặt gói R extraDistr
và gọi pbbinom
để tính CMF của bản phân phối Beta-Binomial. Cụ thể, nếu bạn muốn tính toán tất cả các xác suất trong một lần, chỉ cần viết:p0,…,pm−1
library(extraDistr)
jvec <- seq(0, m-1, by = 1)
probs <- pbbinom(jvec, m, alpha = alpha + k, beta = beta + n - k)
nơi alpha
và beta
là những giá trị của các thông số của Beta trước đó, ví dụ, bạn và β (do đó 1 nếu bạn đang sử dụng một bộ đồng phục trước khi qua p ). Tất nhiên mọi thứ sẽ đơn giản hơn nhiều nếu R cung cấp hàm lượng tử cho phân phối Beta-Binomial, nhưng thật không may là không.αβp
Ví dụ thực tế với giải pháp Bayes
Đặt , k = 70 (do đó ban đầu chúng tôi quan sát thấy 70 thành công trong 100 thử nghiệm). Chúng tôi muốn ước tính điểm và khoảng thời gian dự đoán 95% cho số lần thành công j trong m = 20 thử nghiệm tiếp theo . Sau đón=100k=70jm=20
n <- 100
k <- 70
m <- 20
alpha <- 1
beta <- 1
trong đó tôi giả sử đồng phục trước : tùy thuộc vào kiến thức trước cho ứng dụng cụ thể của bạn, điều này có thể hoặc không thể là ưu tiên tốt. Như vậyp
bayesian_point_estimate <- m * (alpha + k)/(alpha + beta + n) #13.92157
Rõ ràng một ước tính không nguyên cho không có ý nghĩa, vì vậy chúng ta chỉ có thể làm tròn đến số nguyên gần nhất (14). Sau đó, cho khoảng dự đoán:j
jvec <- seq(0, m-1, by = 1)
library(extraDistr)
probabilities <- pbbinom(jvec, m, alpha = alpha + k, beta = beta + n - k)
Xác suất là
> 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
Đối với một bằng đuôi xác suất khoảng thời gian, chúng tôi muốn nhỏ mà P r ( j ≤ j 2 | m , n , k ) ≥ 0.975 và lớn j 1 mà P r ( j < j 1 | m , n , k ) = P r ( j ≤ j 1 - 1 | m , n , kj2Pr(j≤j2|m,n,k)≥0.975j1 . Bằng cách này, chúng ta sẽ cóPr(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
Do đó, bằng cách xem xét các xác suất trên, chúng ta thấy rằng và j 1 = 9 . Xác suất của khoảng dự đoán Bayes này là 0,9778494, lớn hơn 0,95. Chúng ta có thể tìm thấy các khoảng thời gian ngắn hơn sao cho P r ( j 1 ≤ j ≤ j 2 | m , n , k ) ≥ 0,95 , nhưng trong trường hợp đó, ít nhất một trong hai bất đẳng thức cho xác suất đuôi sẽ không được thỏa mãn.j2=18j1=9Pr(j1≤j≤j2|m,n,k)≥0.95
Giải pháp thường xuyên
Tôi sẽ theo dõi sự đối xử của Krishnamoorthy và Peng, 2011 . Đặt và X ∼ B i n o m ( n , p ) được phân phối độc lập Binominally. Chúng tôi muốn có một 1 - 2 α - khoảng thời gian dự đoán cho Y , dựa trên một sự quan sát của X . Nói cách khác, chúng tôi tìm I = [ L ( X ; nY∼Binom(m,p)X∼Binom(n,p)1−2α−YX sao cho:I=[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α
" " là do thực tế là chúng ta đang xử lý một biến ngẫu nhiên rời rạc, và do đó chúng ta không thể mong đợi có được phạm vi bảo hiểm chính xác ... nhưng chúng ta có thể tìm kiếm một khoảng luôn có ít nhất là phạm vi bảo hiểm danh nghĩa , do đó, một khoảng bảo thủ. Bây giờ, có thể chứng minh rằng phân phối có điều kiện của X cho X + Y = k + j = s là siêu bội với cỡ mẫu s , số lần thành công trong dân số n và kích thước dân số n + m . Do đó, pmf có điều kiện là≥1−2αXX+Y=k+j=ssnn+m
Pr(X=k|X+Y=s,n,n+m)=(nk)(ms−k)(m+ns)
The conditional CDF of X given X+Y=s is thus
Pr(X≤k|s,n,n+m)=H(k;s,n,n+m)=∑ki=0(ni)(ms−i)(m+ns)
The first great thing about this CDF is that it doesn't depend on p, which we don't know. The second great thing is that it allows to easily find our PI: as a matter of fact, if we observed a value k of X, then the 1−α lower prediction limit is the smallest integer L such that
Pr(X≥k|k+L,n,n+m)=1−H(k−1;k+L,n,n+m)>α
correspondingly, the the 1−α upper prediction limit is the largest integer such that
Pr(X≤k|k+U,n,n+m)=H(k;k+U,n,n+m)>α
Thus, [L,U] is a prediction interval for Y of coverage at least 1−2α. Note that when p is close to 0 or 1, this interval is conservative even for large n, m, i.e., its coverage is quite larger than 1−2α.
Practical example with the Frequentist solution
Same setting as before, but we don't need to specify α and β (there are no priors in the Frequentist framework):
n <- 100
k <- 70
m <- 20
The point estimate is now obtained using the MLE estimate for the probability of successes, p^=kn, which in turns leads to the following estimate for the number of successes in m trials:
frequentist_point_estimate <- m * k/n #14
For the prediction interval, the procedure is a bit different. We look for the largest U such that Pr(X≤k|k+U,n,n+m)=H(k;k+U,n,n+m)>α, thus let's compute the above expression for all U in [0,m]:
jvec <- seq(0, m, by = 1)
probabilities <- phyper(k,n,m,k+jvec)
We can see that the largest U such that the probability is still larger than 0.025 is
jvec[which.min(probabilities > 0.025) - 1] # 18
Same as for the Bayesian approach. The lower prediction bound L is the smallest integer such that Pr(X≥k|k+L,n,n+m)=1−H(k−1;k+L,n,n+m)>α, thus
probabilities <- 1-phyper(k-1,n,m,k+jvec)
jvec[which.max(probabilities > 0.025) - 1] # 8
Thus our frequentist "exact" prediction interval is [L,U]=[8,18].