Lấy mẫu từ chối sẽ hoạt động đặc biệt tốt khi và hợp lý cho c d ≥ exp ( 2 ) .c d≥ điểm kinh nghiệm( 5 )c d≥ điểm kinh nghiệm( 2 )
Để đơn giản hóa toán học một chút, hãy để , viết x = a và lưu ý rằngk = c dx = a
f(x)∝kxΓ(x)dx
cho . Thiết x = u 3 / 2 chox≥1x=u3 / 2
f( U ) αku3 / 2Γ(u3/2)u1 /2dbạn
cho . Khi k ≥ exp ( 5 ) , phân phối này cực kỳ gần với Bình thường (và càng gần hơn khi k càng lớn). Cụ thể, bạn có thểu ≥1k≥exp( 5 )k
Tìm chế độ của bằng số (bằng cách sử dụng, ví dụ: Newton-Raphson).f( u )
Mở rộng sang lệnh thứ hai về chế độ của nó.đăng nhậpf( u )
Điều này mang lại các tham số của một phân phối chuẩn gần đúng. Để có độ chính xác cao, Bình thường gần đúng này chiếm ưu thế ngoại trừ ở đuôi cực. (Khi k < exp ( 5 ) , bạn có thể cần mở rộng pdf Bình thường lên một chút để đảm bảo sự thống trị.)f( u )k <exp( 5 )
Đã thực hiện công việc sơ bộ này cho bất kỳ giá trị đã cho nào của và ước tính hằng số M > 1 (như được mô tả dưới đây), việc có được một phương sai ngẫu nhiên là một vấn đề:kM> 1
Vẽ một giá trị từ phân phối chuẩn g ( u ) .bạng( u )
Nếu hoặc nếu đồng phục mới thay đổi X vượt quá f ( u ) / ( M g ( u ) ) , quay lại bước 1.bạn < 1Xf( u ) / (Mg( u ) )
Đặt .x = u3 / 2
Số lượng đánh giá dự kiến của do sự khác biệt giữa g và f chỉ lớn hơn một chút (Một số đánh giá bổ sung sẽ xảy ra do sự từ chối của các biến thiên nhỏ hơn 1 , nhưng ngay cả khi k thấp đến 2 tần số như vậy xảy ra là nhỏ.)fgf1k2
Biểu đồ này cho thấy các logarit của g và f là hàm của u với . Vì các biểu đồ rất gần nhau, chúng tôi cần kiểm tra tỷ lệ của chúng để xem điều gì đang xảy ra:k =exp( 5 )
Điều này sẽ hiển thị nhật ký tỷ lệ ; hệ số của M = exp ( 0,004 ) đã được đưa vào để đảm bảo logarit là dương trong suốt phần chính của phân phối; có nghĩa là, để đảm bảo M g ( u ) ≥ f ( u ) ngoại trừ có thể là ở các vùng xác suất không đáng kể. Bằng cách làm cho M đủ lớn, bạn có thể đảm bảo rằng M ⋅ gđăng nhập( điểm kinh nghiệm( 0,004 ) g( u ) / f( u ) )M= điểm kinh nghiệm( 0,004 )Mg( u ) ≥ f( u )MM⋅ gthống trị trong tất cả nhưng những cái đuôi cực đoan nhất (thực tế không có cơ hội được chọn trong một mô phỏng nào). Tuy nhiên, M càng lớn thì sự từ chối sẽ xảy ra thường xuyên hơn. Khi k phát triển lớn, M có thể được chọn rất gần với 1 , thực tế không có hình phạt nào.fMkM1
Một cách tiếp cận tương tự hoạt động ngay cả đối với , nhưng giá trị M khá lớn có thể cần thiết khi exp ( 2 ) < k < exp ( 5 ) , vì f ( u ) không đối xứng rõ rệt. Chẳng hạn, với k = exp ( 2 ) , để có được g chính xác hợp lý, chúng ta cần đặt M = 1 :k > điểm kinh nghiệm( 2 )Mexp(2)<k<exp(5)f(u)k=exp(2)gM=1
Đường cong màu đỏ phía trên là biểu đồ của trong khi đường cong màu xanh dưới là biểu đồ của log ( f ( u ) ) . Lấy mẫu từ chối của f liên quan đến exp ( 1 ) g sẽ khiến khoảng 2/3 tất cả các lần rút thử nghiệm bị từ chối, tăng gấp ba nỗ lực: vẫn không tệ. Đuôi bên phải ( u > 10 hoặc x > 10 3 / 2 ~ 30log(exp(1)g(u))log(f(u))fexp(1)gu>10x>103/2∼30) Sẽ được đại diện trong việc lấy mẫu từ chối (vì chiếm ưu thế không còn e ở đó), nhưng điều đó đuôi bao gồm ít hơn exp ( - 20 ) ~ 10 - 9 của tổng xác suất.exp(1)gfexp(−20)∼10−9
Tóm lại, sau một nỗ lực ban đầu để tính toán chế độ và đánh giá số hạng bậc hai của chuỗi xung quanh chế độ - một nỗ lực đòi hỏi nhiều nhất vài chục đánh giá chức năng - bạn có thể sử dụng lấy mẫu từ chối tại chi phí dự kiến từ 1 đến 3 (hoặc hơn) đánh giá cho mỗi phương sai. Hệ số nhân chi phí nhanh chóng giảm xuống 1 khi k = c d tăng quá 5.f(u)k=cd
Ngay cả khi chỉ cần một lần rút từ là cần thiết, phương pháp này là hợp lý. Nó đi vào chính nó khi cần nhiều lần rút tiền độc lập cho cùng một giá trị k , sau đó tổng chi phí tính toán ban đầu được khấu hao theo nhiều lần rút.fk
Phụ lục
@Cardinal đã yêu cầu, khá hợp lý, để hỗ trợ một số phân tích vẫy tay trong việc gửi đi. Đặc biệt, tại sao nên việc chuyển đổi làm cho sự phân bố xấp xỉ bình thường?x=u3/2
Theo lý thuyết về các phép biến đổi Box-Cox , việc tìm kiếm một số phép biến đổi sức mạnh có dạng (đối với hằng số α , hy vọng không quá khác biệt) sẽ làm cho phân phối "bình thường" hơn. Hãy nhớ lại rằng tất cả các bản phân phối Bình thường được đặc trưng đơn giản: logarit của pdf của chúng hoàn toàn là bậc hai, với số hạng tuyến tính bằng 0 và không có thuật ngữ bậc cao hơn. Do đó, chúng ta có thể lấy bất kỳ pdf nào và so sánh nó với phân phối Bình thường bằng cách mở rộng logarit của nó dưới dạng chuỗi lũy thừa xung quanh đỉnh (cao nhất) của nó. Chúng tôi tìm kiếm một giá trị của α làm cho (ít nhất) thứ bax=uαααsức mạnh biến mất, ít nhất là xấp xỉ: đó là điều chúng ta có thể hy vọng một cách hợp lý rằng một hệ số tự do duy nhất sẽ hoàn thành. Thường thì điều này hoạt động tốt.
Nhưng làm thế nào để có được một xử lý về phân phối cụ thể này? Khi thực hiện chuyển đổi năng lượng, pdf của nó là
f(u)=kuαΓ(uα)uα−1.
Lấy logarit của nó và sử dụng bản ghi mở rộng không triệu chứng của Stirling ( Γ ) :log(Γ)
log(f(u))≈log(k)uα+(α−1)log(u)−αuαlog(u)+uα−log(2πuα)/2+cu−α
(đối với các giá trị nhỏ của , không phải là hằng số). Công trình này cung cấp α là dương, mà chúng tôi sẽ giả sử là trường hợp (vì nếu không chúng tôi không thể bỏ qua phần còn lại của việc mở rộng).cα
Tính đạo hàm thứ ba của nó (khi chia cho , Sẽ là hệ số công suất thứ ba của u trong chuỗi lũy thừa) và khai thác thực tế là ở cực đại, đạo hàm thứ nhất phải bằng không. Điều này đơn giản hóa đạo hàm thứ ba rất nhiều, cho (khoảng, bởi vì chúng ta đang bỏ qua đạo hàm của c )3!uc
−12u−(3+α)α(2α(2α−3)u2α+(α2−5α+6)uα+12cα).
Khi không quá nhỏ, bạn thực sự sẽ lớn ở đỉnh. Vì α dương, nên thuật ngữ chi phối trong biểu thức này là công suất 2 α , chúng ta có thể đặt thành 0 bằng cách làm cho hệ số của nó biến mất:kuα2α
2α−3=0.
Đó là lý do công trình rất tốt: với lựa chọn này, hệ số thuật ngữ khối xung quanh còn lại hoạt động đỉnh cao như u - 3 , đó là gần exp ( - 2 k ) . Khi k vượt quá 10 hoặc hơn, bạn thực tế có thể quên nó và nó nhỏ một cách hợp lý ngay cả khi k xuống còn 2. Các quyền lực cao hơn, từ thứ tư trở đi, đóng vai trò ngày càng ít đi vì k hệ số của chúng tăng lên, vì hệ số của chúng tăng lên tỷ lệ nhỏ hơn, quá. Ngẫu nhiên, các tính toán tương tự (dựa trên đạo hàm thứ hai của l o g ( fα=3/2u−3exp(−2k)kkk ở mức cực đại) cho thấy độ lệch chuẩn của xấp xỉ Bình thường này nhỏ hơn 2log(f(u)), với sai số tỷ lệ vớiexp(-k/2).23exp(k/6)exp(−k/2)