chi phí lấy mẫu của so với


9

Tôi đã gặp phải vấn đề mô phỏng sau: đưa ra một tập hợp của các số thực đã biết, phân phối trên được định nghĩa bởi trong đó biểu thị phần dương của . Trong khi tôi có thể nghĩ về một bộ lấy mẫu của Metropolis-Hastings nhắm mục tiêu phân phối này, tôi tự hỏi liệu có tồn tại một bộ lấy mẫu trực tiếp hiệu quả hay không, tận dụng số lượng lớn xác suất bằng 0 để giảm thứ tự của thuật toán từ xuống .{ω1,,ωd}{1,1}d

P(X=(x1,,xd))(x1ω1++xdωd)+
(z)+zO(2d)O(d)

Câu trả lời:


4

Đây là một bộ lấy mẫu đệ quy khá rõ ràng là trong trường hợp tốt nhất (tính theo trọng số ), nhưng theo cấp số nhân trong trường hợp xấu nhất.O(d)ωi

Giả sử chúng ta đã chọn và muốn chọn . Chúng ta cần tính toán và chọn với xác suất Mẫu số sẽ là khác không cho bất kỳ sự lựa chọn hợp lệ nào của các mẫu . x i w ( x 1 , ... , x i - 1 , x i ) = Σx1,,xi1xiX i = 1 w ( x 1 , ... , x i - 1 , 1 )

w(x1,,xi1,xi)=xi+1{1,1}xd{1,1}(j=1dωjxj)+
xi=1x1,...,xi-1
w(x1,,xi1,1)w(x1,,xi1,1)+w(x1,,xi1,1).
x1,,xi1

Bây giờ, tất nhiên, câu hỏi là làm thế nào để tính .w(x1,,xi)

Nếu chúng ta có , thì cho bất kỳ với các mục hàng đầu và vì vậy trở thành: C:=j=1iωjxjj=i+1d|ωj|ωx0xx1:iw

xi+1xdωx=ω(xi+1xdx)=j=1iωj(xi+1xdxj)2dixj+j=i+1dωj(xi+1xdxj)0=2diC.

Trong trường hợp ngược lại, , chúng ta có và vì vậy .Cj=i+1d|ωj|ωx0w(x1,,xi)=0

Mặt khác, chúng ta phải lặp lại, sử dụng .w(x1,,xi)=w(x1,,xi,1)+w(x1,,xi,1)

Giả sử rằng bộ nhớ không phải là vấn đề và chúng ta có thể lưu trữ tất cả các tính toán phụ trong , trong một cây - cho đến khi chúng ta gặp phải một trong những trường hợp "đẹp", sau đó các cuộc gọi mất thời gian liên tục. (Chúng tôi sẽ cần phải tính toán toàn bộ cây này anyway để chọn ). Sau đó, một khi cây này tính toán được xây dựng, các sampler sẽ chỉ mất thời gian. Câu hỏi là mất bao lâu để xây dựng cây, hoặc tương đương với nó lớn như thế nào.w(1)w(1)x1wO(d)


Tất nhiên chúng tôi sẽ xử lý các trường hợp "đẹp" nhanh hơn nếu được sắp xếp, .ωiω1ω2ωd

Trong trường hợp tốt nhất, . Sau đó, chúng tôi đạt được một trường hợp "đẹp" ngay lập tức cho cả hoặc , vì vậy việc xây dựng cây mất thời gian không đổi và toàn bộ bộ lấy mẫu mất thời gian .|ω1|>j=2d|ωj|w(1)w(1)wO(d)

Trong trường hợp xấu nhất (được sắp xếp), . Sau đó, câu hỏi là: cây lớn như thế nào?ω1=ω2==ωd

Tất nhiên, các đường dẫn đầu tiên để kết thúc tất nhiên là và có độ dài . Do đó, cây hoàn thành đến độ sâu đó và do đó chứa ít nhất các nút . (Nó có nhiều hơn; bạn có thể tìm thấy nó với một đối số giống như các đối số được sử dụng trong các vấn đề hủy hoại của người đánh bạc, nhưng tôi không thể tìm thấy nó trong hai phút của Google và không quan tâm đặc biệt -  là xấu đủ....)( - 1 ,(1,1,,1)(1,1,,1)d/2O(2d/2)2d/2

Nếu cài đặt của bạn chỉ có một vài rất lớn , thì đây có lẽ là một cách tiếp cận hợp lý thực tế. Nếu đều có độ lớn tương tự nhau, thì có lẽ nó vẫn còn theo cấp số nhân và quá đắt đối với lớn .ω i dωiωid


Cảm ơn loại Viterbi này. Khi bạn viết "Trong trường hợp ngược lại", Tôi hiểu bạn không có nghĩa là phần bù của trường hợp đầu tiênC id j = i + 1 | ω j |
Cij=i+1d|ωj|
Cij=i+1d|ωj|
Tây An

1
Không, không phải phần bổ sung: khi nó rất lớn, bạn biết rằng việc cắt bớt không được áp dụng, khi nó rất nhỏ, nó luôn được áp dụng và ở giữa bạn phải tìm lại khi nào nó được áp dụng.
Dougal
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.