Tôi hiện đang sử dụng Lấy mẫu Hypercube Latin (LHS) để tạo các số ngẫu nhiên thống nhất có khoảng cách đều nhau cho các quy trình Monte Carlo. Mặc dù việc giảm phương sai mà tôi có được từ LHS là tuyệt vời cho 1 chiều, nhưng dường như nó không hiệu quả ở 2 chiều trở lên. Xem LHS là một kỹ thuật giảm phương sai nổi tiếng như thế nào, tôi tự hỏi liệu tôi có thể hiểu sai thuật toán hoặc sử dụng sai nó theo một cách nào đó.
Cụ thể, thuật toán LHS mà tôi sử dụng để tạo cách nhau các biến ngẫu nhiên thống nhất trong các kích thước là:
Đối với mỗi thứ nguyên , hãy tạo một tập hợp số ngẫu nhiên được phân phối đồng đều sao cho , ...
Đối với mỗi thứ nguyên , sắp xếp lại các phần tử từ mỗi bộ một cách ngẫu nhiên. đầu tiên do LHS tạo ra là vectơ có chứa phần tử đầu tiên từ mỗi tập hợp được sắp xếp lại, thứ hai do LHS tạo ra là vectơ chứa phần thứ hai phần tử từ mỗi bộ được sắp xếp lại, v.v ...
Tôi đã bao gồm một số lô dưới đây để minh họa việc giảm phương sai tôi nhận được trong và cho thủ tục Monte Carlo. Trong trường hợp này, vấn đề liên quan đến việc ước tính giá trị dự kiến của hàm chi phí trong đó và là biến ngẫu nhiên phân phối giữa . Cụ thể, các ô hiển thị giá trị trung bình và độ lệch chuẩn của 100 ước tính trung bình mẫu của cho các cỡ mẫu từ 1000 đến 10000.
Tôi nhận được cùng loại kết quả giảm phương sai bất kể tôi sử dụng triển khai của riêng tôi hay lhsdesign
hàm trong MATLAB. Ngoài ra, mức giảm phương sai không thay đổi nếu tôi hoán vị tất cả các bộ số ngẫu nhiên thay vì chỉ các bộ tương ứng với .
Các kết quả có ý nghĩa vì lấy mẫu phân tầng trong có nghĩa là chúng ta nên lấy mẫu từ bình phương thay vì bình phương được đảm bảo trải đều.