Tỷ lệ chấp nhận trong thuật toán của Metropolis Thắng Hastings


9

Trong thuật toán của Metropolis, Hastings để lấy mẫu phân phối mục tiêu, hãy:

  • iπi là mật độ đích ở trạng thái ,i
  • jπj là mật độ mục tiêu ở trạng thái đề xuất ,j
  • j ihij là mật độ đề xuất để chuyển sang trạng thái với trạng thái hiện tại ,ji
  • j iaij là xác suất chấp nhận của trạng thái đề xuất với trạng thái hiện tại .ji

Sau đó, bằng phương trình cân bằng chi tiết, sau khi chọn mật độ đề xuất , xác suất chấp nhận được tính là: a a i j = min ( 1 , π j h j iha

aij=min(1,πjhjiπihij).

Nếu là đối xứng, nghĩa là , thì: h a i j = min ( 1 , π jhij=hji

aij=min(1,πjπi).

Khi là phân phối Gaussian tập trung ở trạng thái và có cùng phương sai với mọi , là đối xứng. Từ Wikipedia : i σ 2 i hhiiσ2ih

Nếu σ2 quá lớn, gần như tất cả các bước theo thuật toán MH sẽ bị từ chối. Mặt khác, nếu σ2 quá nhỏ, gần như tất cả các bước sẽ được chấp nhận.

Tôi tự hỏi tại sao xác suất chấp nhận thay đổi theo hướng ngược lại của sự thay đổi phương sai của mật độ đề xuất, như đã đề cập trong đoạn trích dẫn trên?


Có một vấn đề với công thức của bạn: bạn sử dụng không gian trạng thái hữu hạn để xác định mục tiêu, đề xuất và xác suất chấp nhận, nhưng phân phối Gaussian hoạt động trên một không gian liên tục làm ví dụ của bạn.
Tây An

@ Tây An: Cảm ơn! Tôi đã nhận thức được sự khác biệt giữa không gian mẫu rời rạc và liên tục, khi tôi đăng câu hỏi. Vì vậy, trong công thức của tôi, có các hàm mật độ cho phân phối mục tiêu và đề xuất, trong khi đó là xác suất cho phân phối chấp nhận. Tôi không thấy những gì không chính xác. Tôi tự hỏi nếu bạn có thể chỉ ra chúng?
Tim

Trong công thức của bạn, mục tiêu và đề xuất nghe giống như các hàm khối lượng xác suất, không phải các hàm mật độ. khác, rất khó sử dụng các ký hiệu thường dành cho số nguyên ... Ý tôi là, trông giống như một phần tử ma trận. Đây là lý do tại sao tôi cảm thấy đề xuất Gaussian không phù hợp. hij
Tây An

Câu trả lời:


11

Để có được điều này và để đơn giản hóa các vấn đề, tôi luôn nghĩ đầu tiên chỉ trong một tham số với phân phối a-prori đồng nhất (tầm xa), do đó, trong trường hợp này, ước tính MAP của tham số giống như MLE . Tuy nhiên, giả sử rằng chức năng khả năng của bạn đủ phức tạp để có một số cực đại cục bộ.

Những gì MCMC làm trong ví dụ này trong 1-D là khám phá đường cong sau cho đến khi tìm thấy giá trị xác suất tối đa. Nếu phương sai quá ngắn, chắc chắn bạn sẽ bị kẹt ở cực đại cục bộ, bởi vì bạn sẽ luôn lấy mẫu các giá trị gần nó: thuật toán MCMC sẽ "nghĩ" nó bị kẹt trên phân phối mục tiêu. Tuy nhiên, nếu phương sai quá lớn, một khi bạn bị kẹt ở một mức tối đa cục bộ, bạn sẽ ít nhiều từ chối các giá trị cho đến khi bạn tìm thấy các khu vực có xác suất tối đa khác. Nếu bạn tình cờ đề xuất giá trị tại MAP (hoặc một vùng tương tự có xác suất tối đa cục bộ lớn hơn các vùng khác), với phương sai lớn, bạn sẽ từ chối gần như mọi giá trị khác: sự khác biệt giữa vùng này và vùng khác sẽ quá lớn

Tất nhiên, tất cả những điều trên sẽ ảnh hưởng đến tốc độ hội tụ và không phải là sự "hội tụ" của chuỗi của bạn. Hãy nhớ lại rằng bất kể phương sai là gì, miễn là xác suất chọn giá trị của vùng tối đa toàn cầu này là dương, chuỗi của bạn sẽ hội tụ.

Tuy nhiên, để vượt qua vấn đề này, điều người ta có thể làm là đề xuất các phương sai khác nhau trong một khoảng thời gian cho từng tham số và hướng đến một tỷ lệ chấp nhận nhất định có thể đáp ứng nhu cầu của bạn (giả sử , xem Gelman, Roberts & Gilks, 1995Gelman, Gilks ​​& Roberts, 1997 để tìm hiểu thêm về vấn đề chọn tỷ lệ chấp nhận "tốt", tất nhiên, sẽ phụ thuộc vào hình thức phân phối sau của bạn). Tất nhiên, trong trường hợp này, chuỗi không phải là markovian, vì vậy bạn KHÔNG phải sử dụng chúng để suy luận: bạn chỉ cần sử dụng chúng để điều chỉnh phương sai.0.44


+1 Cảm ơn! (1) Tại sao "nếu phương sai quá lớn, một khi bạn bị kẹt ở một mức tối đa cục bộ, bạn sẽ ít nhiều từ chối các giá trị cho đến khi bạn tìm thấy các vùng có xác suất tối đa khác"? (2) "Nếu bạn tình cờ đề xuất giá trị tại MAP (hoặc một vùng tương tự có xác suất tối đa cục bộ lớn hơn các vùng khác), với phương sai lớn, bạn sẽ từ chối gần như mọi giá trị khác", ý bạn là điểm đề xuất xảy ra tại MAP rất có thể bị từ chối trong trường hợp phương sai lớn? Vì nó là maximium toàn cầu, nên không phải xác suất chấp nhận của nó luôn là 1 bất kể trạng thái hiện tại?
Tim

@Tim: (1) Tôi đã suy nghĩ trong trường hợp khi trạng thái ban đầu là ngẫu nhiên. Nếu đây là trường hợp, thì bạn sẽ nhảy từ cực đại đến cực đại, cho đến khi bạn tìm thấy một vùng có xác suất tối đa cục bộ lớn hơn mức trung bình. (2) Nếu bạn tình cờ đề xuất một giá trị gần với MAP, rất có thể bạn sẽ chuyển sang trạng thái đó. Khi bạn ở đó, với phương sai lớn, bạn gần như chắc chắn sẽ từ chối mọi giá trị khác, bởi vì bạn sẽ đề xuất các giá trị nằm ngoài vùng xác suất tối đa này.
Néstor

7

Có hai giả định cơ bản dẫn đến mối quan hệ này:

  1. π()
  2. π()

σ2xixjN(xi,σ2)σ2xjxiπ(xj)π(xi)π(xj)π(xi)1

σ295%2σ[xi2σ,xi+2σ]σ2π(xj)

ππ(xi)π(xi)π(xj)π(xj)π(xi)<<1

Hai giả định này đúng với hầu hết các bản phân phối mà chúng tôi có thể quan tâm, vì vậy mối quan hệ giữa độ rộng đề xuất và tỷ lệ chấp nhận này là một công cụ hữu ích để hiểu hành vi của người lấy mẫu MH.


σ2π(xi)π(xj)π(xj)π(xi)π(xi)π(xj)

1
σ2xj
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.