Hiểu MCMC: sự thay thế sẽ là gì?


13

Học thống kê Bayes lần đầu tiên; như một góc độ để hiểu MCMC, tôi tự hỏi: nó đang làm một cái gì đó về cơ bản không thể được thực hiện theo cách khác, hay nó chỉ làm một cái gì đó hiệu quả hơn nhiều so với các giải pháp thay thế?

Bằng cách minh họa, giả sử chúng ta đang cố gắng tính xác suất của các tham số được cung cấp dữ liệu P(x,y,z|D) cho một mô hình tính toán ngược lại, . Để tính toán điều này trực tiếp với định lý Bayes, chúng ta cần mẫu số như được chỉ ra ở đây . Nhưng chúng ta có thể tính toán bằng cách tích hợp, nói như sau:P ( D )P(D|x,y,z)P(D)

p_d = 0.
for x in range(xmin,xmax,dx):
    for y in range(ymin,ymax,dy):
        for z in range(zmin,zmax,dz):
            p_d_given_x_y_z = cdf(model(x,y,z),d)
            p_d += p_d_given_x_y_z * dx * dy * dz

Điều đó có hiệu quả không (mặc dù rất không hiệu quả với số lượng biến cao hơn) hoặc có điều gì khác có thể khiến phương pháp này thất bại?


4
Tích hợp sẽ hoạt động trong nhiều trường hợp, nhưng sẽ mất quá nhiều thời gian (nghĩa là nó không hiệu quả). MCMC là một cách để ước tính hiệu quả sau.
Đánh dấu trắng

3
Không liên quan đến câu hỏi, nhưng tôi nghĩ rằng bạn đang thiếu phần trước x, y, z trong tích phân của bạn (nó xuất hiện trong công thức tử số của Bayes)
alberto

Câu trả lời:


17

Bạn đang mô tả một xấp xỉ lưới cho phía sau, và đó là một cách tiếp cận hợp lệ, mặc dù không phải là phổ biến nhất. Có khá nhiều trường hợp trong đó phân phối sau có thể được tính toán phân tích. Chuỗi Monte Carlo Markov, hoặc các phương pháp gần đúng khác, là các phương pháp để lấy các mẫu phân phối sau, đôi khi hoạt động khi không thể tìm thấy giải pháp phân tích.

Các giải pháp phân tích có thể được tìm thấy là các trường hợp điển hình của các gia đình "liên hợp" và bạn có thể tìm hiểu thêm về điều đó bằng cách googling, xem ví dụ https://en.wikipedia.org/wiki/Conjugate_p Warrior .

Ví dụ đầu tiên, nếu ưu tiên của bạn plà đồng nhất [0, 1], trong đó ptham số thành công trong một thử nghiệm nhị thức đơn giản, thì hậu tố bằng với phân phối Beta. Tích hợp, hoặc tổng kết, có thể được thực hiện rõ ràng trong trường hợp này.

Nếu bạn có nhiều lựa chọn tham số chính xác hoặc bạn sử dụng xấp xỉ lưới như trong ví dụ của mình, một tổng kết đơn giản có thể là tất cả những gì bạn cần. Tuy nhiên, số lượng tính toán có thể phát nổ nhanh chóng, nếu bạn có một vài biến và muốn sử dụng lưới dày đặc.

Có một số thuật toán để lấy mẫu từ phía sau. Hamiltonian Monte Carlo, cụ thể là bộ lấy mẫu NUTS, hiện đang phổ biến và được sử dụng trong stanPyMC3, Metropolis Hastings là cổ điển. Suy luận biến thể là một người mới tương đối, thực tế không phải là một phương pháp lấy mẫu mà là một cách khác để có được một xấp xỉ. Hiện tại, không có phương pháp nào, kể cả các giải pháp phân tích, là tốt nhất, tất cả đều hoạt động tốt trong các trường hợp cụ thể.


Câu trả lời hay, nhưng đoạn cuối của bạn dường như ngụ ý rằng suy luận đa dạng là một phương pháp lấy mẫu, điều này không đúng. Bạn có thể xem xét sửa nó.
Ruben van Bergen

7

θ

π(θ|x)exp{||θx||2||θ+x||4||θ2x||6},x,θd,

6

xP(x)P(x)P(D)

xyxy

ciP(D)

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.