Gợi ý về tích phân số trên Phân phối Pólya


8

Vấn đề này phát sinh từ một dự án mô hình thống kê Bayes. Để tính toán với mô hình của tôi, tôi cần thực hiện tích hợp trong đó một phần của tích phân là Phân phối "Pólya" hoặc "Dirichlet-Multinomial",

p(nα)=(N!)Γ(Kα)Γ(α)KΓ(N+Kα)i=1KΓ(ni+α)ni!

trong đó và là các số nguyên, và . Tích phân tôi muốn tính, , hoạt động tốt đối với nhỏ , nhưng các phương thức bậc hai mà tôi đã thử (trong MATLAB) đã phá vỡ xuống khi trở nên lớn. Tôi chưa thử Monte Carlo; một phương pháp cầu phương chính xác, nhanh chóng sẽ rất tốt cho dự án của tôi. N = Σ K i = 1 n i n = ( n 1 , n 2 , ... , n K ) α > 0 0 ( các điều khoản khác ) p ( n | α ) d α N NniN=i=1Knin=(n1,n2,,nK)α>00(other terms)p(n|α)dαNN

Hiện tại, phương pháp "tốt nhất" khi lớn là tính toán trên một lưới ở dạng alpha, chuẩn hóa và lũy thừa. Điều này là không chính xác (về cơ bản tôi mất tất cả các chi tiết về phân phối ngoại trừ các đỉnh của nó), nhưng ít nhất là tạo ra một số.Nhật ký N [ p ( n | α ) ]Nlog[p(n|α)]

Tôi sẽ đánh giá cao bất kỳ lời khuyên nào về việc cải thiện tính toán này, hoặc con trỏ đến các thuật toán / phương pháp khác nhau hoặc phần mềm hiện có.

EDIT: Có lẽ tôi nên thêm rằng đánh giá của tôi về , được thực hiện bằng máy tính bằng cách sử dụng một số mã được viết cẩn thận để tính toán cho lớn , không xuất hiện để gây ra bất kỳ vấn đề.log p ( n | alpha ) đăng Γ ( x ) xp(n|α)logp(n|α)logΓ(x)x

EDIT 2: Ngoài ra, các giá trị "lớn" sẽ theo thứ tự , với lớn nhất , cùng với nhiều giá trị nhỏ của . Các điều khoản khác là hành vi tốt số. Để đơn giản hóa với hành vi đuôi thích hợp, bạn có thể thực hiệnn i10 5 n iN108ni105ni

(other terms)=exp(α)


Bạn có thể đưa ra một ví dụ điển hình / cụ thể không? Ví dụ: đưa ra các giá trị cho n_i, N, a và (các thuật ngữ khác)?
Andrew Moylan

Tôi chắc chắn sẽ!
vâng

@sydeulissie: bạn đã giải quyết vấn đề chưa (vì bạn không đăng một ví dụ điển hình)?
GertVdE

This is inaccurate (I lose essentially all detail about the distribution except its peaks), but at least produces a number. Tôi không hiểu tại sao điều này nên là một vấn đề. Kết quả trong một cách tiếp cận Bayes luôn bị chi phối bởi các đỉnh (nghĩ về dao cạo của thỉnh thoảng). Các tính năng địa phương sẽ cung cấp cho bạn một đóng góp không thể bỏ qua cho xác suất cuối cùng.
Bort

Câu trả lời:


-1

Để tích hợp, sử dụng quy tắc bậc hai gaussian khi xử lý các số mũ như một quy tắc ngón tay cái. Ví dụ, việc tích hợp một hàm bậc ba trên một diện tích nhỏ với quy tắc simpsons hoặc quy tắc hình thang không cần N lớn, nhưng sử dụng chúng cho hàm số mũ dẫn đến N rất lớn cần thiết để đạt được sự hội tụ. Vì vậy, luôn luôn đi cho một nội suy dựa trên hàm mũ (nghĩa là: quy tắc bậc hai gaussian). Nếu điều này không thành công, thì bạn cần vẽ đồ thị của hàm để xem nó đang dao động nhanh như thế nào và nó chết / tăng như thế nào với khu vực tích hợp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.