Giả sử tôi có một hàm mà tôi muốn tích hợp Tất nhiên, giả sử về 0 tại các điểm cuối, không có lỗ hổng, chức năng đẹp. Một cách mà tôi đã đấu tranh là sử dụng thuật toán Metropolis-Hastings để tạo danh sách các mẫu từ phân phối tỷ lệ với , thiếu hằng số chuẩn hóa mà tôi sẽ gọi , và sau đó tính toán một số thống kê trên các này :
Vì , tôi có thể thay thế trong để hủy khỏi tích phân, dẫn đến biểu thức có dạng \ frac {1} {N} \ int _ {- \ infty} ^ {\ infty} \ frac {U (x)} {g (x)} g (x) dx = \ frac {1} {N} \ int _ {- \ infty} ^ \ infty U (x) dx. Vì vậy, với điều kiện U (x) tích hợp thành 1 dọc theo khu vực đó, tôi sẽ nhận được kết quả 1 / N , mà tôi chỉ có thể lấy đối ứng để có câu trả lời tôi muốn. Do đó, tôi có thể lấy phạm vi mẫu của mình (để sử dụng hiệu quả nhất các điểm) r = x_ \ max - x_ \ min và để U (x) = 1 / r cho mỗi mẫu tôi đã vẽ. Theo cách đó U (x)U(x)11/Nr=xmax-xphútU(x)=1/rU(x)
Tôi đã thử kiểm tra điều này trong R cho hàm mẫu . Trong trường hợp này, tôi không sử dụng Metropolis-Hastings để tạo mẫu mà sử dụng xác suất thực tế rnorm
để tạo mẫu (chỉ để kiểm tra). Tôi không hoàn toàn nhận được kết quả mà tôi đang tìm kiếm. Về cơ bản, biểu thức đầy đủ của những gì tôi sẽ tính là:
ys = rnorm(1000000, 0, 1/sqrt(2))
r = max(ys) - min(ys)
sum(sapply(ys, function(x) 1/( r * exp(-x^2))))/length(ys)
## evaluates to 0.6019741. 1/sqrt(pi) = 0.5641896
Chỉnh sửa cho CliffAB
Lý do tôi sử dụng phạm vi chỉ là để dễ dàng xác định hàm khác không trong khu vực có điểm của tôi, nhưng tích hợp thành trên phạm vi . Đặc điểm kỹ thuật đầy đủ của chức năng là: Tôi không phải sử dụng làm mật độ đồng nhất này. Tôi có thể đã sử dụng một số mật độ khác tích hợp với , ví dụ mật độ xác suất Tuy nhiên, điều này sẽ làm cho việc tổng hợp các mẫu riêng lẻ [ - ∞ , ∞ ] U ( x ) = { 1U(x)1P(x)=1
Tôi có thể thử kỹ thuật này cho các bản phân phối khác tích hợp với . Tuy nhiên, tôi vẫn muốn biết lý do tại sao nó không hoạt động để phân phối đồng đều.