Mô phỏng từ Ước tính mật độ hạt nhân (PDF theo kinh nghiệm)


8

Tôi có một vector Xcủa N=900các quan sát được mô hình tốt nhất bởi một ước lượng băng thông toàn cầu mật độ hạt nhân (mô hình tham số, trong đó có mô hình hỗn hợp năng động, hóa ra không phải là phù hợp tốt):

nhập mô tả hình ảnh ở đây

Bây giờ, tôi muốn mô phỏng từ KDE này. Tôi biết điều này có thể đạt được bằng cách bootstrapping.

Trong R, tất cả đều thuộc về dòng mã đơn giản này (gần như là mã giả): x.sim = mean(X) + { sample(X, replace = TRUE) - mean(X) + bw * rnorm(N) } / sqrt{ 1 + bw^2 * varkern/var(X) }trong đó bootstrap được làm mịn với hiệu chỉnh phương sai được thực hiện và varkernlà phương sai của hàm Kernel được chọn (ví dụ: 1 cho Hạt nhân Gaussian ).

Những gì chúng tôi nhận được với 500 lần lặp lại là như sau:

nhập mô tả hình ảnh ở đây

Nó hoạt động, nhưng tôi có một thời gian khó hiểu làm thế nào các quan sát xáo trộn (với một số tiếng ồn được thêm vào) giống như mô phỏng từ phân phối xác suất? (bản phân phối ở đây là KDE), giống như với Monte Carlo tiêu chuẩn. Ngoài ra, bootstrapping có phải là cách duy nhất để mô phỏng từ KDE không?

EDIT: vui lòng xem câu trả lời của tôi dưới đây để biết thêm thông tin về bootstrap được làm mịn với hiệu chỉnh phương sai.


1
Thử nghiệm bootstrap cung cấp cho bạn một dấu hiệu về tính biến thiên của ước tính mật độ hạt nhân. Điều này không liên quan gì đến việc mô phỏng từ kernel, như được giải thích rõ hơn bởi Dougal bên dưới.
Tây An

vâng, đó là một số thay đổi. Bạn có nghĩ rằng một KDE sẽ là một cách tiếp cận tốt hơn so với mô hình hỗn hợp động ở đây không?
Antoine

vì vậy, tôi hiểu rằng bootstrap mượt mà như hình trên không tương đương với mô phỏng từ Kernel. Tuy nhiên, nó hoàn thành cùng một mục tiêu: mô phỏng từ PDF theo kinh nghiệm, phải không? Tôi sẽ cố gắng đăng kết quả của chiến lược do Douglas đề xuất bên dưới (mô phỏng trực tiếp từ KDE) để so sánh khi tôi có thời gian.
Antoine

Mô phỏng từ công cụ ước tính kernel không dẫn đến mô phỏng từ cdf thực nghiệm và không có định nghĩa rõ ràng về pdf thực nghiệm, giữa biểu đồ và ước tính kernel, tất cả đều yêu cầu hiệu chuẩn băng thông.
Tây An

Tôi không đồng ý với nhận xét đầu tiên của bạn, xin vui lòng xem câu trả lời của tôi dưới đây.
Antoine

Câu trả lời:


10

Đây là một thuật toán để lấy mẫu từ hỗn hợp tùy ý :f(x)=1Ni=1Nfi(x)

  • Chọn một thành phần hỗn hợp đồng đều ngẫu nhiên.i
  • Mẫu từ .fi

Cần phải rõ ràng rằng điều này tạo ra một mẫu chính xác.

Ước tính mật độ hạt nhân Gaussian là hỗn hợp . Vì vậy, bạn có thể lấy một mẫu có kích thước bằng cách chọn một bó s và thêm nhiễu bình thường với giá trị trung bình bằng 0 và phương sai cho nó.1Ni=1NN(x;xi,h2)Nxih2

Đoạn mã của bạn đang chọn một bó s, nhưng sau đó nó đang làm một cái gì đó hơi khác:xi

  • thay đổi thành xiμ^+xiμ^1+h2/σ^2
  • thêm tiếng ồn bình thường không có nghĩa với phương sai , trung bình hài của và .h21+h2/σ^2=11h2+1σ^2h2σ2

Chúng ta có thể thấy rằng giá trị mong đợi của một mẫu theo quy trình này là kể từ .

1Ni=1Nxi1+h2/σ^2+μ^11+h2/σ^2μ^=μ^
μ^=1Ni=1Nxi

Tôi không nghĩ rằng sự phân phối mẫu là như nhau, mặc dù.


cảm ơn bạn vì câu trả lời tốt đẹp này Tôi hiện đang khám phá phương pháp này. Bạn sẽ có một cái nhìn một này khác rất gần đây (và phần nào liên quan) đề xin vui lòng? Cảm ơn trước.
Antoine

3

Để loại bỏ bất kỳ sự nhầm lẫn nào về việc có thể rút ra các giá trị từ KDE hay không bằng cách sử dụng phương pháp bootstrap, điều đó là có thể . Bootstrap không giới hạn trong việc ước tính các khoảng biến thiên.

Dưới đây là một bootstrap được làm mịn với thuật toán hiệu chỉnh phương sai tạo ra các giá trị tổng hợp từ một KDE của cửa sổ . Nó xuất phát từ cuốn sách này của Silverman, xem trang 25 của tài liệu này , phần 6.4.1 "Mô phỏng từ ước tính mật độ". Như đã lưu ý trong cuốn sách, thuật toán này cho phép tìm thấy các nhận thức độc lập từ KDE , mà không cần phải biết rõ :YisKhy^y^

Để tạo giá trị tổng hợp (từ tập huấn luyện ):Y{X1,...Xn}

  • Bước 1: Chọn thống nhất với thay thế từ ,i{1,...,n}
  • Bước 2: Mẫu từ (nghĩa là từ phân phối Bình thường nếu là Gaussian),ϵKK
  • Bước 3: Đặt .Y=X¯+(XiX¯+h.ϵ)/1+h2σK2/σX2

Trong đó và là giá trị trung bình và phương sai mẫu và là phương sai của (nghĩa là 1 cho Gaussian ). Theo giải thích của Dougal, giá trị mong đợi của việc thực hiện là . Nhờ hiệu chỉnh phương sai, phương sai là (mặt khác, bootstrap được làm mịn mà không cần hiệu chỉnh phương sai, trong đó bước 3 chỉ đơn giản là , thổi phồng phương sai). σ X 2σ K 2KK ˉ X σ X 2Y=Xi+h. εX¯σX2σK2KKX¯σX2Y=Xi+h.ϵ

Đoạn mã R trong câu hỏi của tôi ở trên tuân thủ nghiêm ngặt thuật toán này.

Ưu điểm của bootstrap được làm mịn so với bootstrap là:

  • "Các tính năng giả" trong dữ liệu không được sao chép vì các giá trị khác nhau từ các giá trị trong mẫu có thể được tạo,
  • các giá trị vượt quá tối đa / phút của các quan sát có thể được tạo ra.
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.