การสุ่มตัวอย่างการปฏิเสธที่จะทำงานได้ดีเป็นพิเศษเมื่อและเป็นที่เหมาะสมสำหรับคd ≥ ประสบการณ์( 2 )cd≥exp(5)cd≥exp(2)
เพื่อทำให้คณิตศาสตร์ง่ายขึ้นให้เขียนx = aและสังเกตว่าk=cdx=a
f(x)∝kxΓ(x)dx
สำหรับ 1 การตั้งค่าx = u ที่3 / 2ให้x≥1x=u3/2
f(u)∝ku3/2Γ(u3/2)u1/2du
สำหรับ 1 เมื่อk ≥ ประสบการณ์( 5 ) , การกระจายนี้เป็นอย่างมากใกล้เคียงกับปกติ (และได้ใกล้ชิดเป็นkขนาดใหญ่ได้รับ) โดยเฉพาะคุณสามารถu≥1k≥exp(5)k
ค้นหาโหมดของเป็นตัวเลข (โดยใช้เช่น Newton-Raphson)f(u)
ขยายไปยังลำดับที่สองเกี่ยวกับโหมดของมันlogf(u)
สิ่งนี้ให้ผลพารามิเตอร์ของการแจกแจงแบบปกติโดยประมาณอย่างใกล้ชิด หากต้องการความแม่นยำสูง Normal ที่ประมาณนี้จะควบคุมยกเว้นในส่วนท้ายสุด (เมื่อk < exp ( 5 )คุณอาจต้องปรับขนาดไฟล์ pdf ปกติเล็กน้อยเพื่อให้แน่ใจว่ามีการปกครอง)f(u)k<exp(5)
การทำงานเบื้องต้นนี้สำหรับค่ากำหนดและการประมาณค่าคงที่M > 1 (ดังอธิบายด้านล่าง) การได้รับตัวแปรแบบสุ่มนั้นเป็นเรื่องของ:kM>1
วาดมูลค่าจากอำนาจเหนือปกติกระจายกรัม( U )ug(u)
หากหรือหากชุดรูปแบบใหม่Xมีค่าเกินf ( u ) / ( M g ( u ) )ให้กลับไปที่ขั้นตอนที่ 1u<1Xf(u)/(Mg(u))
ชุด 2x=u3/2
จำนวนที่คาดหวังของการประเมินของเนื่องจากความคลาดเคลื่อนระหว่างgและfนั้นสูงกว่า 1 เล็กน้อยเท่านั้น (การประเมินเพิ่มเติมบางอย่างจะเกิดขึ้นเนื่องจากการปฏิเสธการแปรผันน้อยกว่า1แต่แม้ว่าkจะต่ำกว่า2ความถี่ เหตุการณ์เล็ก ๆ )fgf1k2
พล็อตนี้แสดงให้เห็นว่าลอการิทึมของกรัมและFเป็นหน้าที่ของUสำหรับ ) เนื่องจากกราฟอยู่ใกล้เราจึงต้องตรวจสอบอัตราส่วนเพื่อดูว่าเกิดอะไรขึ้น:k=exp(5)
การแสดงนี้อัตราส่วนการเข้าสู่ระบบ ; ปัจจัยของM = exp ( 0.004 )ถูกรวมเพื่อรับรองว่าลอการิทึมนั้นเป็นค่าบวกตลอดส่วนหลักของการแจกแจง นั่นคือเพื่อรับประกันM g ( u ) ≥ f ( u )ยกเว้นอาจเป็นไปได้ในภูมิภาคที่มีความน่าจะเป็นเล็กน้อย ด้วยการทำให้Mมีขนาดใหญ่เพียงพอคุณสามารถรับประกันได้ว่าM ⋅ glog(exp(0.004)g(u)/f(u))M=exp(0.004)Mg(u)≥f(u)MM⋅gครอบงำในทุก ๆ แต่หางที่รุนแรงที่สุด (ซึ่งแทบจะไม่มีโอกาสถูกเลือกในการจำลอง) อย่างไรก็ตามM ที่ใหญ่กว่าคือการปฏิเสธที่เกิดขึ้นบ่อยครั้งมากขึ้น เมื่อkโตขึ้นขนาดใหญ่Mสามารถเลือกได้ใกล้กับ1ซึ่งไม่เกิดการลงโทษfMkM1
วิธีการที่คล้ายกันนี้ใช้ได้กับแต่อาจจำเป็นต้องใช้ค่าM ที่ค่อนข้างใหญ่เมื่อexp ( 2 ) < k < exp ( 5 )เนื่องจากf ( u )ไม่สมมาตรอย่างเห็นได้ชัด ตัวอย่างเช่นด้วยk = exp ( 2 )เพื่อให้ได้g ที่แม่นยำพอสมควรเราจำเป็นต้องตั้งM = 1 :k>exp(2)Mexp(2)<k<exp(5)f(u)k=exp(2)gM=1
เส้นโค้งสีแดงบนเป็นกราฟของในขณะที่เส้นโค้งสีฟ้าต่ำคือกราฟของบันทึก( ฉ( U ) ) การปฏิเสธการสุ่มตัวอย่างของf ที่สัมพันธ์กับexp ( 1 ) gจะทำให้ประมาณ 2 ใน 3 ของการทดลองใช้ทั้งหมดถูกปฏิเสธปฏิเสธความพยายามสามเท่า: ยังไม่เลว หางขวา ( U > 10หรือx > 10 3 / 2 ~ 30log(exp(1)g(u))log(f(u))fexp(1)gu>10x>103/2∼30) จะอยู่ภายใต้ตัวแทนในการสุ่มตัวอย่างการปฏิเสธ (เนื่องจากไม่ได้ครองfอยู่ที่นั่นอีกต่อไปแต่หางนั้นประกอบด้วยค่าน้อยกว่าexp ( - 20 ) ∼ 10 - 9ของความน่าจะเป็นทั้งหมดexp(1)gfexp(−20)∼10−9
เพื่อสรุปหลังจากความพยายามเริ่มต้นในการคำนวณโหมดและประเมินระยะกำลังสองของอนุกรมกำลังของรอบโหมด - ความพยายามที่ต้องการการประเมินฟังก์ชั่นหลายสิบครั้ง - คุณสามารถใช้การสุ่มตัวอย่างการปฏิเสธที่ ค่าใช้จ่ายที่คาดหวังจากการประเมินผล 1 ถึง 3 (หรือมากกว่านั้น) ต่อการเปลี่ยนแปลง ตัวคูณค่าใช้จ่ายลดลงอย่างรวดเร็วเป็น 1 เมื่อk = c dเพิ่มขึ้นเกินกว่า 5f(u)k=cd
แม้ว่าจะต้องการเพียงแค่การดึงจากวิธีการนี้ก็สมเหตุสมผล มันเข้ามาในตัวของมันเองเมื่อต้องการการดึงอิสระจำนวนมากสำหรับค่าk ที่เท่ากันดังนั้นค่าโสหุ้ยของการคำนวณเริ่มต้นจะถูกตัดจำหน่ายเป็นจำนวนมากfk
ภาคผนวก
@Cardinal ได้ขอให้มีการสนับสนุนการวิเคราะห์โบกมือด้วยมือในระหว่างการพิจารณา โดยเฉพาะอย่างยิ่งจึงควรเปลี่ยนแปลงทำให้การกระจายปกติประมาณ?x=u3/2
ในแง่ของทฤษฎีของการแปลง Box-Coxมันเป็นธรรมชาติที่จะแสวงหาการเปลี่ยนแปลงพลังงานของรูปแบบ (สำหรับค่าคงที่αหวังว่าจะไม่แตกต่างจากเอกภาพ) ที่จะทำให้การกระจาย "ปกติ" มากขึ้น โปรดจำไว้ว่าการแจกแจงปกติทั้งหมดนั้นมีลักษณะเพียงอย่างเดียว: ลอการิทึมของไฟล์ PDF นั้นเป็นกำลังสองอย่างหมดจดโดยไม่มีเงื่อนไขเป็นเส้นตรงและไม่มีคำสั่งสูงกว่า ดังนั้นเราจึงสามารถใช้ใด ๆรูปแบบไฟล์ PDF และเปรียบเทียบกับการกระจายปกติโดยการขยายลอการิทึมที่เป็นชุดไฟรอบของจุดสูงสุด (สูงสุด) เราหาค่าของαที่ทำให้ (อย่างน้อย) ที่สามx=uαααอย่างน้อยก็ประมาณ: นั่นคือสิ่งที่ดีที่สุดที่เราสามารถคาดหวังได้ว่าสัมประสิทธิ์อิสระเพียงอย่างเดียวจะประสบความสำเร็จ บ่อยครั้งสิ่งนี้ทำงานได้ดี
แต่จะมีวิธีจัดการกับการกระจายตัวนี้ได้อย่างไร? เมื่อส่งผลต่อการเปลี่ยนแปลงพลังงาน PDF จะเป็น
f(u)=kuαΓ(uα)uα−1.
ใช้ลอการิทึมของมันและใช้การขยาย asymptoticของของ Stirling :log(Γ)
log(f(u))≈log(k)uα+(α−1)log(u)−αuαlog(u)+uα−log(2πuα)/2+cu−α
(สำหรับค่าเล็ก ๆ ของซึ่งไม่คงที่) งานนี้ให้αเป็นบวกซึ่งเราจะถือว่าเป็นกรณี (ไม่เช่นนั้นเราไม่สามารถละเลยส่วนที่เหลือของการขยาย)cα
คำนวณหาอนุพันธ์อันดับสามของมัน (ซึ่งเมื่อหารด้วยจะเป็นค่าสัมประสิทธิ์ของกำลังสามของuในอนุกรมกำลัง) และใช้ประโยชน์จากความจริงที่จุดสูงสุดอนุพันธ์อันดับแรกจะต้องเป็นศูนย์ สิ่งนี้ลดความซับซ้อนของอนุพันธ์อันดับสามอย่างมากโดยให้ (ประมาณเพราะเราไม่สนใจอนุพันธ์ของc )3!uc
−12u−(3+α)α(2α(2α−3)u2α+(α2−5α+6)uα+12cα).
เมื่อไม่เล็กเกินไปคุณจะใหญ่อย่างแน่นอน เนื่องจากαเป็นบวกเทอมที่มีอิทธิพลในนิพจน์นี้คือกำลัง2 αซึ่งเราสามารถตั้งค่าเป็นศูนย์ได้โดยการทำให้สัมประสิทธิ์หายไป:kuα2α
2α−3=0.
นั่นเป็นเหตุผลที่ผลงานให้ดี: มีทางเลือกนี้ค่าสัมประสิทธิ์ของระยะลูกบาศก์รอบพฤติกรรมสูงสุดเช่นยู- 3ซึ่งอยู่ใกล้กับประสบการณ์( - 2 k ) เมื่อkมีค่าเกิน 10 หรือมากกว่านั้นคุณสามารถลืมมันได้จริงและมันก็เล็กพอสมควรแม้กระทั่งkถึง 2 พลังงานที่สูงกว่าจากลำดับที่สี่มีบทบาทน้อยลงเรื่อย ๆ เนื่องจากkมีขนาดใหญ่เนื่องจากสัมประสิทธิ์ของมันเพิ่มขึ้น เล็กลงด้วยเช่นกัน อนึ่งการคำนวณเดียวกัน (ขึ้นอยู่กับอนุพันธ์อันดับสองของl o g ( fα=3/2u−3exp(−2k)kkklog(f(u)) at its peak) show the standard deviation of this Normal approximation is slightly less than 23exp(k/6), with the error proportional to exp(−k/2).