Khi lấy các mẫu MCMC để suy luận về một tham số cụ thể, các hướng dẫn tốt cho số lượng mẫu hiệu quả tối thiểu mà người ta nên nhắm đến là gì?
Và, lời khuyên này có thay đổi khi mô hình trở nên phức tạp hơn hay ít hơn?
Khi lấy các mẫu MCMC để suy luận về một tham số cụ thể, các hướng dẫn tốt cho số lượng mẫu hiệu quả tối thiểu mà người ta nên nhắm đến là gì?
Và, lời khuyên này có thay đổi khi mô hình trở nên phức tạp hơn hay ít hơn?
Câu trả lời:
Câu hỏi bạn đang hỏi khác với "chẩn đoán hội tụ". Hãy nói rằng bạn đã chạy tất cả các chẩn đoán hội tụ (chọn (các) mục yêu thích của bạn) và bây giờ đã sẵn sàng để bắt đầu lấy mẫu từ phía sau.
Có hai tùy chọn về kích thước mẫu hiệu quả (ESS), bạn có thể chọn ESS đơn biến hoặc ESS đa biến. Một ESS đơn biến sẽ cung cấp một cỡ mẫu hiệu quả cho từng tham số riêng biệt và các phương pháp bảo thủ chỉ ra, bạn chọn ước tính nhỏ nhất. Phương pháp này bỏ qua tất cả các mối tương quan chéo giữa các thành phần. Đây có lẽ là những gì hầu hết mọi người đã sử dụng trong một thời gian
Gần đây, một định nghĩa đa biến về ESS đã được giới thiệu. ESS đa biến trả về một số cho cỡ mẫu hiệu quả cho số lượng bạn muốn ước tính; và nó làm như vậy bằng cách tính tất cả các mối tương quan chéo trong quá trình. Cá nhân, tôi thích ESS đa biến. Giả sử bạn quan tâm đến -vector của phương tiện phân phối sau. MESS được định nghĩa như sau mESS = n ( | Λ | Đây
mớ hỗn độn có thể được ước tính bằng cách sử dụng các ma trận hiệp phương sai mẫu để ước tính và ma trận hiệp phương sai có nghĩa là hàng loạt để ước tính Σ . Điều này đã được mã hóa trong hàm trong gói R mcmcse .multiESS
Bài viết gần đây này cung cấp một giới hạn thấp hơn về mặt lý thuyết về số lượng mẫu hiệu quả cần thiết. Trước khi mô phỏng, bạn cần quyết định
> minESS(p = 20, alpha = .05, eps = .05)
[1] 8716
Điều này đúng cho bất kỳ vấn đề nào (trong điều kiện thường xuyên). Cách mà phương pháp này thích ứng từ vấn đề này sang vấn đề khác là việc trộn các chuỗi Markov chậm mất nhiều thời gian hơn để đạt đến giới hạn thấp hơn, vì MESS sẽ nhỏ hơn. Vì vậy, bây giờ bạn có thể kiểm tra một vài lần bằng cách sử dụng multiESS
liệu chuỗi Markov của bạn đã đạt đến giới hạn đó chưa; nếu không đi và lấy thêm mẫu.
multiESS
đã được mã hóa cho các ngôn ngữ khác, chẳng hạn như MATLAB không? (hoặc sẽ khó thực hiện lại?)
Sự hội tụ phụ thuộc vào một số điều: số lượng tham số, bản thân mô hình, thuật toán lấy mẫu, dữ liệu ...
Tôi sẽ đề nghị tránh bất kỳ quy tắc chung nào và sử dụng một vài công cụ chẩn đoán hội tụ để phát hiện số lần lặp lại và số lần lặp lại thích hợp trong mỗi ví dụ cụ thể. Xem thêm http://www.johnmyleswhite.com/notebook/2010/08/29/mcmc-diagnostics-in-r-with-the-coda-package/
, http://users.stat.umn.edu/~geyer/mcmc/diag.html
.