Khi xấp xỉ một hậu thế bằng MCMC, tại sao chúng ta không lưu xác suất sau mà sử dụng tần số giá trị tham số sau đó?


8

Tôi hiện đang ước tính các tham số của một mô hình được xác định bởi một số phương trình vi phân thông thường (ODE). Tôi thử điều này với một cách tiếp cận bayes bằng cách xấp xỉ phân phối sau của các tham số được cung cấp một số dữ liệu bằng Markov Chain Monte Carlo (MCMC).

Bộ lấy mẫu MCMC tạo ra một chuỗi các giá trị tham số trong đó nó sử dụng xác suất sau (không chuẩn hóa) của một giá trị tham số nhất định để quyết định (ngẫu nhiên) liệu nó sẽ thêm giá trị đó vào chuỗi hay thêm lại giá trị trước đó. Tuy nhiên, dường như thực tế là không cần phải lưu các xác suất sau thực tế, thay vào đó là biểu đồ n chiều của các giá trị tham số kết quả được tạo và thống kê tóm tắt như các vùng mật độ cao nhất (HDR) của phép ghi thông số sau từ biểu đồ này. Ít nhất đó là những gì tôi nghĩ rằng tôi đã học được từ cuốn sách hướng dẫn của Kruschkes về suy luận Bayes .

Câu hỏi của tôi: Sẽ không đơn giản hơn nếu lưu các xác suất sau của các giá trị tham số được lấy mẫu cùng với các giá trị này và xấp xỉ phân phối sau từ các giá trị này chứ không phải từ tần số của các giá trị tham số trong chuỗi MCMC? Vấn đề của giai đoạn burn-in sẽ không phát sinh do người lấy mẫu ban đầu vẫn lấy mẫu các khu vực xác suất thấp thường xuyên hơn so với mức họ có thể "xứng đáng" bởi xác suất sau của họ nhưng sẽ không còn là vấn đề đưa ra các giá trị xác suất quá cao cho những điều này.


Nếu bạn có thể tính toán xác suất sau mà không cần sử dụng MCMC (để lưu chúng), vậy tại sao bạn muốn sử dụng nó?
Tim

Bởi vì tôi cần MCMC để đạt được hiệu quả. Nếu tôi chỉ đặt một lưới trên không gian tham số và tính xác suất sau không chuẩn hóa cho tất cả các giá trị tham số kết quả, tôi sẽ lãng phí nhiều thời gian cho các vùng có xác suất thấp. Có thể nhận được các giá trị xác suất sau không chuẩn hóa cho một giá trị tham số đã cho là điều kiện tiên quyết để sử dụng MCMC. Tôi không cần phải giải quyết các phân tích sau. Vì vậy, tôi có thể lấy tất cả các giá trị xác suất đã lưu, chia chúng cho tổng của chúng và kết quả sẽ là một xấp xỉ của hậu thế của tôi.
akraf

1
@Tim: ý của anh ấy là để tính toán xác suất chấp nhận di chuyển được đề xuất, bạn đánh giá hậu thế ở trạng thái hiện tại và ở trạng thái đề xuất. Nếu bạn giữ các giá trị sau này cho mọi trạng thái đạt được thì OP nghĩ rằng bạn có thể lấy được toàn bộ hậu quả nhưng đó không phải là trường hợp, ít nhất tôi chưa bao giờ thấy một định lý nào chứng minh điều đó. Bằng cách nhìn vào sự phân bố của các trạng thái đạt tới lý thuyết markov cho thấy rằng bạn có được một mẫu từ phía sau 'cuối cùng'

@fcop vâng, tôi hiểu điều đó và tôi nghĩ chúng ta đang nói điều tương tự nhưng nói cách khác :)
Tim

Câu trả lời:


5

Đây là một câu hỏi thú vị, với các vấn đề khác nhau:

  1. Các thuật toán MCMC không phải lúc nào cũng tái chế tính toán mật độ sau ở tất cả các giá trị được đề xuất, nhưng một số kỹ thuật giảm phương sai như Rao-Blackwellisation thực hiện. Chẳng hạn, trong bài báo Biometrika năm 1996 với George Casella, chúng tôi đề xuất sử dụng tất cả các giá trị mô phỏng, , có chấp nhận hay không, bằng cách giới thiệu trọng số biến trung bình thành một công cụ ước tính gần như không thiên vị. (Việc gần như được chuẩn hóa bằng tổng trọng số.)θi (i=1,,T)ωi
    i=1Tωih(θi)/i=1Tωi
  2. MCMC thường được sử dụng cho các vấn đề về kích thước (tham số) lớn. Việc đề xuất một xấp xỉ cho toàn bộ hậu nghiệm dựa trên các giá trị mật độ quan sát được ở một số giá trị tham số là một thách thức, bao gồm cả vấn đề về hằng số chuẩn hóa được đề cập trong câu trả lời và nhận xét của Tim. Người ta có thể tưởng tượng một cách tiếp cận là sự pha trộn giữa ước lượng hạt nhân không tham số (như trong ví dụ: kuceging ) và hồi quy, nhưng các chuyên gia mà tôi đã thảo luận về giải pháp này [một vài năm trước] khá hoài nghi. Vấn đề là công cụ ước tính kết quả vẫn không tham số và do đó "thích" tốc độ hội tụ không tham số chậm hơn tốc độ hội tụ Monte Carlo, kích thước càng lớn.
  3. Một cách sử dụng tiềm năng khác về tính khả dụng của các giá trị sau là cân trọng lượng của từng giá trị được mô phỏng theo sau của nó, như trong Thật không may, điều này tạo ra sự thiên vị vì các giá trị mô phỏng đã được mô phỏng từ phía sau: Ngay cả khi không có vấn đề bình thường hóa, do đó, các mô phỏng đó phải nhắm mục tiêu và sử dụng trọng số tỷ lệ vớiπ(θ|D)
    1Tt=1Th(θt)π(θt|D)
    E[h(θt)π(θt|D)]=h(θ)h(θt)π(θt|D)2dθ
    π(θ|D) 1 / 2 π(θ) 1 / Tπ(θ|D)1/2π(θ|D)1/2nhưng tôi không biết kết quả ủng hộ việc chuyển đổi mục tiêu này. Như bạn đã đề cập trong các ý kiến, điều này được kết nối với quá trình ủ trong đó tất cả các mô phỏng được tạo ra trong một chu kỳ ủ mô phỏng có thể được tái chế cho mục đích Monte Carlo (tích hợp) theo cách này. Tuy nhiên, một vấn đề về số là xử lý một số hàm quan trọng có dạng với các hằng số chuẩn hóa bị thiếu.π(θ)1/T

2
Cảm ơn bạn đã bình luận rộng rãi của bạn, xin vui lòng cho phép tôi một số câu hỏi làm rõ! Tôi không hiểu ý của bạn khi "tái chế" trong điểm 1 của bạn và cách điều đó ngăn cản việc sử dụng các giá trị sau không chuẩn hóa. Đến điểm 2: Nếu "xấp xỉ toàn bộ hậu nghiệm dựa trên các giá trị mật độ quan sát được ở một số giá trị tham số là một thách thức", thì tại sao chỉ sử dụng tần số của các mẫu phát sinh từ quá trình MCMC?
akraf

1
Đến điểm 3: Nhắm mục tiêu với là cách phổ biến để "ủ" hậu thế, tức là "làm phẳng các đỉnh của nó" để tạo điều kiện cho việc trộn các chuỗi MCMC, trong đó làm phẳng càng mạnh, càng cao . Có thể cách tiếp cận mà bạn đề xuất là một cách để phục hồi phân phối chưa được xử lý ban đầu , được đưa ra các mẫu từ phân phối được tôi luyện ? T > 1 T π ( θ | D ) π ( θ | D ) 1 / Tπ(θ|D)1/TT>1Tπ(θ|D)π(θ|D)1/T
akraf

2

Như bạn đã nhận thấy một cách chính xác, xác suất mà chúng ta đang đối phó là không bình thường . Về cơ bản, chúng tôi sử dụng MCMC để tính toán hệ số chuẩn hóa trong định lý Bayes. Chúng tôi không thể sử dụng xác suất chúng không được chuẩn hóa. Quy trình mà bạn đề xuất: lưu các xác suất không chuẩn hóa và sau đó chia chúng cho tổng của chúng là không chính xác.

Hãy để tôi chỉ cho bạn bằng ví dụ. Hãy tưởng tượng rằng bạn đã sử dụng Monte Carlo để rút ra mười giá trị từ phân phối Bernoulli được tham số hóa bởi , chúng như sau:p=0.9

1 0 1 1 1 1 1 1 1 1

bạn cũng có xác suất tương ứng:

0.9 0.1 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

Trong trường hợp này, xác suất được chuẩn hóa, nhưng chia chúng cho tổng của chúng (rằng các tiên đề xác suất bằng với sự thống nhất) sẽ không thay đổi bất cứ điều gì. Thật không may, bằng cách sử dụng quy trình của bạn, nó sẽ thay đổi kết quả thành:

> f/sum(f)
 [1] 0.10975610 0.01219512 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610

Tại sao vậy? Câu trả lời rất đơn giản, trong mẫu của bạn, mỗi "xác suất" được lưu fxuất hiện với xác suất f, do đó bạn tự cân nhắc xác suất!

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.