เมื่อได้รับตัวอย่าง MCMC เพื่อทำการอนุมานพารามิเตอร์ที่เฉพาะเจาะจงอะไรคือคำแนะนำที่ดีสำหรับจำนวนตัวอย่างที่มีประสิทธิภาพขั้นต่ำที่เราควรตั้งเป้าหมายไว้?
และคำแนะนำนี้เปลี่ยนไปเมื่อแบบจำลองมีความซับซ้อนมากขึ้นหรือน้อยลงหรือไม่?
เมื่อได้รับตัวอย่าง MCMC เพื่อทำการอนุมานพารามิเตอร์ที่เฉพาะเจาะจงอะไรคือคำแนะนำที่ดีสำหรับจำนวนตัวอย่างที่มีประสิทธิภาพขั้นต่ำที่เราควรตั้งเป้าหมายไว้?
และคำแนะนำนี้เปลี่ยนไปเมื่อแบบจำลองมีความซับซ้อนมากขึ้นหรือน้อยลงหรือไม่?
คำตอบ:
คำถามที่คุณถามแตกต่างจาก "การวินิจฉัยการลู่เข้า" ให้บอกว่าคุณได้ทำการวิเคราะห์แบบลู่ทั้งหมด (เลือกรายการที่คุณชื่นชอบ) และตอนนี้ก็พร้อมที่จะเริ่มการสุ่มตัวอย่างจากคนหลังแล้ว
มีสองตัวเลือกในแง่ของขนาดตัวอย่างที่มีประสิทธิภาพ (ESS) คุณสามารถเลือก ESS แบบหลายตัวแปรหรือ ESS แบบหลายตัวแปร ESS ที่ไม่มีการเปลี่ยนแปลงจะให้ขนาดตัวอย่างที่มีประสิทธิภาพสำหรับแต่ละพารามิเตอร์แยกกันและวิธีการอนุรักษ์จะบอกให้คุณเลือกการประมาณการที่เล็กที่สุด วิธีนี้จะไม่สนใจความสัมพันธ์ข้ามทั้งหมดข้ามส่วนประกอบ นี่อาจเป็นสิ่งที่คนส่วนใหญ่ใช้มาระยะหนึ่ง
เมื่อเร็ว ๆ นี้มีการแนะนำคำนิยามหลายตัวแปรของ ESS Multivariate ESS จะส่งกลับหมายเลขหนึ่งสำหรับขนาดตัวอย่างที่มีประสิทธิภาพสำหรับปริมาณที่คุณต้องการประเมิน และทำเช่นนั้นโดยการบัญชีสำหรับความสัมพันธ์ข้ามทั้งหมดในกระบวนการ โดยส่วนตัวแล้วฉันชอบ ESS หลายตัวแปร สมมติว่าคุณสนใจ -vector ของวิธีการกระจายหลัง ข้อความถูกกำหนดไว้ดังนี้ ที่นี่mESS = n ( | Λ |
ระเบียบสามารถประมาณโดยใช้เมทริกซ์ความแปรปรวนของกลุ่มตัวอย่างในการประมาณการและชุดหมายถึงความแปรปรวนเมทริกซ์ในการประมาณการ\นี้ได้รับการเขียนในฟังก์ชั่นในแพคเกจ R mcmcseΣmultiESS
บทความล่าสุดนี้แสดงขอบเขตล่างที่ถูกต้องตามหลักเหตุผลของจำนวนตัวอย่างที่มีประสิทธิภาพที่ต้องการ ก่อนทำการจำลองคุณต้องตัดสินใจ
ด้วยสามปริมาณนี้คุณจะรู้ว่าคุณต้องการตัวอย่างที่มีประสิทธิภาพมากแค่ไหน กระดาษขอให้หยุดการจำลองในครั้งแรก
โดยที่คือฟังก์ชันแกมม่า ซึ่งค่าขอบเขตนี้สามารถคำนวณได้โดยใช้ในแพคเกจ R mcmcseminESS
ตอนนี้สมมติว่าคุณมีพารามิเตอร์ในด้านหลังและคุณต้องการความมั่นใจในการประเมินของคุณและคุณต้องการให้ข้อผิดพลาด Monte Carlo เป็น 5% ( ) ของข้อผิดพลาดหลังคุณจะต้อง95 % ϵ = .05
> minESS(p = 20, alpha = .05, eps = .05)
[1] 8716
สิ่งนี้เป็นจริงสำหรับปัญหาใด ๆ (ภายใต้เงื่อนไขปกติ) วิธีการที่วิธีนี้ปรับจากปัญหาเป็นปัญหาคือการผสมเชนมาร์คอฟอย่างช้าๆใช้เวลานานกว่าจะถึงขอบเขตที่ต่ำกว่าเนื่องจากข้อความจะเล็กลง ดังนั้นตอนนี้คุณสามารถตรวจสอบสองสามครั้งโดยใช้multiESS
ว่าห่วงโซ่มาร์คอฟของคุณถึงขีด จำกัด นั้นหรือไม่ ถ้าไม่ไปและคว้าตัวอย่างเพิ่มเติม
multiESS
นั้นได้รับการเข้ารหัสสำหรับภาษาอื่นเช่น MATLAB หรือไม่ (หรือว่ามันจะเป็นเรื่องยากที่จะ reimplement?)
การบรรจบกันขึ้นอยู่กับหลายสิ่ง: จำนวนพารามิเตอร์, ตัวแบบ, อัลกอริทึมการสุ่มตัวอย่าง, ข้อมูล ...
ฉันขอแนะนำให้หลีกเลี่ยงกฎทั่วไปและใช้เครื่องมือการวิเคราะห์คอนเวอร์เจนซ์สองชุดเพื่อตรวจสอบจำนวนการวนซ้ำและการทำให้ผอมบางในแต่ละตัวอย่างที่เฉพาะเจาะจง ดูเพิ่มเติม,http://www.johnmyleswhite.com/notebook/2010/08/29/mcmc-diagnostics-in-r-with-the-coda-package/
http://users.stat.umn.edu/~geyer/mcmc/diag.html