Sử dụng MCMC để đánh giá giá trị mong đợi của hàm chiều cao


10

Tôi đang thực hiện một dự án nghiên cứu liên quan đến tối ưu hóa và gần đây đã có ý tưởng sử dụng MCMC trong cài đặt này. Thật không may, tôi khá mới với các phương pháp MCMC nên tôi có một số câu hỏi. Tôi sẽ bắt đầu bằng cách mô tả vấn đề và sau đó đặt câu hỏi của tôi.

Vấn đề của chúng tôi nắm để ước tính giá trị kỳ vọng của một hàm chi phí nơi ω = ( ω 1 , ω 2 , . . . Ω h ) là một h -dimentional biến ngẫu nhiên với mật độ f ( ω ) .c(ω)ω=(ω1,ω2,...ωh)hf(ω)

Trong trường hợp của chúng tôi, không tồn tại phiên bản dạng đóng của . Điều này có nghĩa là chúng ta phải sử dụng các phương pháp Monte Carlo để tính gần đúng giá trị mong đợi. Thật không may, hóa ra các ước tính của E [ c ( ω ) ] được tạo bằng phương pháp MC hoặc QMC có quá nhiều phương sai không hữu ích trong một thiết lập thực tế.c(ω)E[c(ω)]

Một ý tưởng rằng chúng tôi phải sử dụng phân phối lấy mẫu quan trọng để tạo các điểm mẫu sẽ tạo ra ước tính phương sai thấp của . Trong trường hợp của chúng tôi, sự phân bố lấy mẫu lý tưởng tầm quan trọng, g ( ω ) , có phải tỷ lệ với c ( ω ) f ( ω ) . Thấy cách g ( ω ) được biết đến liên tục, tôi tự hỏi liệu tôi có thể sử dụng MCMC cùng với sự phân bố đề nghị c ( ω ) f ( ω )E[c(ω)]g(ω)c(ω)f(ω)g(ω)c(ω)f(ω)để cuối cùng tạo mẫu từ .g(ω)

Câu hỏi của tôi ở đây là:

  • MCMC có thể được sử dụng trong cài đặt này không? Nếu vậy, phương pháp MCMC nào sẽ phù hợp? Tôi đang làm việc trong MATLAB, vì vậy tôi có một ưu tiên cho bất cứ điều gì đã có triển khai MATLAB.

  • Có bất kỳ kỹ thuật nào tôi có thể sử dụng để tăng tốc thời gian lưu trữ cho MCMC. Và làm thế nào tôi có thể nói rằng phân phối cố định đã đạt được? Trong trường hợp này, nó thực sự mất một chút thời gian hợp lý để tính toán cho một trao ω .c(ω)ω


C(w)c(w)

Bạn không phải sử dụng các phương pháp Monte Carlo cho các tích phân chiều cao chỉ vì một dạng đóng không tồn tại. Bạn có thể sử dụng các phương pháp dựa trên lưới thưa thớt . Bản thân tôi không biết những ưu và khuyết điểm.
vào

@onestop - Bạn là lưới thưa thớt hoạt động tốt hơn một chút trong trường hợp của tôi, mặc dù tôi cũng muốn thử nghiệm ý tưởng này.
Berk U.

Nghe có vẻ hơi giống tài chính.
Chảo

1
Nó có thể được áp dụng cho tài chính. Chúng tôi đang sử dụng nó để quản lý tối ưu các hệ thống điện :)
Berk U.

Câu trả lời:


4

Tôi sẽ luôn nhớ rằng MCMC chỉ là một công cụ tích hợp số (và một công cụ khá kém hiệu quả ở đó). Nó không phải là một số điều kỳ diệu / thần bí. Nó rất hữu ích vì nó rất dễ áp ​​dụng. Nó không đòi hỏi nhiều suy nghĩ so với một số kỹ thuật tích hợp số khác. Chẳng hạn, bạn không phải thực hiện bất kỳ công cụ phái sinh nào. Bạn chỉ phải tạo ra "số ngẫu nhiên".

Tuy nhiên, giống như bất kỳ phương pháp tích hợp số nào, nó không phải là một công cụ bắt tất cả. Có những điều kiện khi nó hữu ích và những điều kiện khi nó không hữu ích.

hh

ωf(ω)ωωmax

f(ω)f(ωmax)+(ωωmax)f(ωmax)+12(ωωmax)2f(ωmax)+

ω

Edwin Jaynes có một trích dẫn hay về điều này:

Bất cứ khi nào có một cách ngẫu nhiên để làm một cái gì đó, có một cách không ngẫu nhiên mang lại kết quả tốt hơn, nhưng đòi hỏi nhiều suy nghĩ hơn

Một cách "suy nghĩ nhiều hơn" là sử dụng "MCMC phân tầng" để thực hiện tích phân. Vì vậy, thay vì "ngẫu nhiên" chọn một vị trí trên toàn bộ không gian tham số: chia nó thành "tầng". Những "tầng lớp" này nên được chọn để bạn có được một phạm vi tốt của phần cao của tích phân. Sau đó lấy mẫu ngẫu nhiên trong mỗi tầng. Nhưng điều này sẽ yêu cầu bạn viết mã của riêng tôi mà tôi sẽ tưởng tượng (tức là suy nghĩ nhiều hơn).


Cảm ơn rất nhiều về bài viết của bạn! Tôi rất thích ý tưởng MC phân tầng của bạn. Tôi đã tự hỏi nếu bạn biết về bất kỳ tài nguyên nào trên đó để tôi có thể đọc nó? Bất cứ điều gì với một ví dụ trong hành động sẽ được nhiều đánh giá cao.
Berk U.

Đây là một ý tưởng mà tôi đã có, vì vậy tôi không biết về bất kỳ tài nguyên nào. Nó có thể được đưa vào khung MCMC, bằng cách thêm một lớp khác xác định tầng. Và một trong những điểm yếu chính của tôi là làm việc - tôi là một người biết suy nghĩ! Tôi biết điều này không giúp bạn rất nhiều và tôi xin lỗi vì điều đó. Nhưng chắc chắn tôi không phải là người duy nhất nghĩ về điều này. Bất cứ ai đã thực hiện thống kê "dựa trên thiết kế" và "thống kê Bayes" chắc chắn sẽ nghĩ về điều này.
xác suất

2

Không có bất kỳ dấu hiệu nào cho thấy các biến của bạn ở đây có tương quan với nhau nên tôi không biết tại sao bạn lại sử dụng MCMC thay vì Monte Carlo thông thường. Có nhiều phương pháp lấy mẫu khác nhau bao gồm lấy mẫu phân tầng đã đề cập (hypercube Latin) và QMC. Các phương pháp cầu phương thưa thớt là rất tốt nếu kích thước của vấn đề không quá cao (không quá 10) do các lưới cầu phương thưa thớt phát triển về mặt hình học (lời nguyền của chiều).

Nhưng có vẻ như bạn đang đi đúng hướng đối với việc lấy mẫu quan trọng. Chìa khóa ở đây là chọn phân phối thiên vị có xác suất lớn tập trung gần khu vực bạn quan tâm và nó có đuôi dày hơn phân phối danh nghĩa.

Tôi muốn nói thêm rằng đây là một vấn đề nghiên cứu mở vì vậy nếu bạn có thể đưa ra một cái gì đó tốt thì nó sẽ được cộng đồng rất quan tâm!


Cảm ơn vì điều đó! Bạn có thể nói rõ hơn một chút về mối quan hệ giữa hiệu quả của MCMC và mối tương quan giữa các biến? Tôi đã luôn nghĩ rằng MCMC sẽ cung cấp một lợi thế so với việc sử dụng các kỹ thuật tích hợp số khi các biến tương quan - mặc dù tôi không thể cung cấp một lý do chính đáng cho lý do tại sao nó lại như vậy.
Berk U.

0

g(ω)

Ngoài ra, bạn có thể muốn tìm kiếm các kỹ thuật giảm phương sai trong trường tích hợp MC. Một bộ tài nguyên khép kín tuyệt vời là các chương sách miễn phí có sẵn từ Art Owen tại Stanford. Cụ thể chương 8, 9 và 10.

Ở đó bạn sẽ tìm thấy các phương pháp điều trị chuyên sâu về lấy mẫu thích nghi, đệ quy và các kỹ thuật khác.

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.