ขนาดตัวอย่างที่มีประสิทธิภาพสำหรับการอนุมานหลังจากการสุ่มตัวอย่าง MCMC


13

เมื่อได้รับตัวอย่าง MCMC เพื่อทำการอนุมานพารามิเตอร์ที่เฉพาะเจาะจงอะไรคือคำแนะนำที่ดีสำหรับจำนวนตัวอย่างที่มีประสิทธิภาพขั้นต่ำที่เราควรตั้งเป้าหมายไว้?

และคำแนะนำนี้เปลี่ยนไปเมื่อแบบจำลองมีความซับซ้อนมากขึ้นหรือน้อยลงหรือไม่?


ฉันเดาว่ามันอาจจะขึ้นอยู่กับ "คงที่" ในข้อผิดพลาดซึ่งจะแตกต่างกันระหว่างรุ่น O(n12)
ความน่าจะเป็นทาง

คำตอบ:


15

คำถามที่คุณถามแตกต่างจาก "การวินิจฉัยการลู่เข้า" ให้บอกว่าคุณได้ทำการวิเคราะห์แบบลู่ทั้งหมด (เลือกรายการที่คุณชื่นชอบ) และตอนนี้ก็พร้อมที่จะเริ่มการสุ่มตัวอย่างจากคนหลังแล้ว

มีสองตัวเลือกในแง่ของขนาดตัวอย่างที่มีประสิทธิภาพ (ESS) คุณสามารถเลือก ESS แบบหลายตัวแปรหรือ ESS แบบหลายตัวแปร ESS ที่ไม่มีการเปลี่ยนแปลงจะให้ขนาดตัวอย่างที่มีประสิทธิภาพสำหรับแต่ละพารามิเตอร์แยกกันและวิธีการอนุรักษ์จะบอกให้คุณเลือกการประมาณการที่เล็กที่สุด วิธีนี้จะไม่สนใจความสัมพันธ์ข้ามทั้งหมดข้ามส่วนประกอบ นี่อาจเป็นสิ่งที่คนส่วนใหญ่ใช้มาระยะหนึ่ง

เมื่อเร็ว ๆ นี้มีการแนะนำคำนิยามหลายตัวแปรของ ESS Multivariate ESS จะส่งกลับหมายเลขหนึ่งสำหรับขนาดตัวอย่างที่มีประสิทธิภาพสำหรับปริมาณที่คุณต้องการประเมิน และทำเช่นนั้นโดยการบัญชีสำหรับความสัมพันธ์ข้ามทั้งหมดในกระบวนการ โดยส่วนตัวแล้วฉันชอบ ESS หลายตัวแปร สมมติว่าคุณสนใจ -vector ของวิธีการกระจายหลัง ข้อความถูกกำหนดไว้ดังนี้ ที่นี่mESS = n ( | Λ |p

mESS=n(|Λ||Σ|)1/p.
  1. Λเป็นโครงสร้างความแปรปรวนร่วมของหลัง (เช่นความแปรปรวนร่วมแบบซีโมติกใน CLT หากคุณมีตัวอย่างอิสระ)
  2. ΛΣเป็นเมทริกซ์ความแปรปรวนร่วมซีโมติกใน Markov chain CLT (แตกต่างจากเนื่องจากตัวอย่างมีความสัมพันธ์กันΛ
  3. pคือจำนวนที่ประมาณไว้ (หรือในกรณีนี้ขนาดของด้านหลัง
  4. ||เป็นตัวกำหนด

ระเบียบสามารถประมาณโดยใช้เมทริกซ์ความแปรปรวนของกลุ่มตัวอย่างในการประมาณการและชุดหมายถึงความแปรปรวนเมทริกซ์ในการประมาณการ\นี้ได้รับการเขียนในฟังก์ชั่นในแพคเกจ R mcmcseΣΛΣmultiESS

บทความล่าสุดนี้แสดงขอบเขตล่างที่ถูกต้องตามหลักเหตุผลของจำนวนตัวอย่างที่มีประสิทธิภาพที่ต้องการ ก่อนทำการจำลองคุณต้องตัดสินใจ

  1. ϵϵ : ความแม่นยำ เป็นส่วนของข้อผิดพลาดที่คุณต้องการให้ Monte Carlo เทียบกับข้อผิดพลาดด้านหลัง สิ่งนี้คล้ายกับระยะขอบของแนวคิดข้อผิดพลาดเมื่อทำการคำนวณขนาดตัวอย่างในการตั้งค่าแบบดั้งเดิมϵ
  2. α : ระดับสำหรับการสร้างช่วงความมั่นใจ
  3. p : จำนวนปริมาณที่คุณประมาณ

ด้วยสามปริมาณนี้คุณจะรู้ว่าคุณต้องการตัวอย่างที่มีประสิทธิภาพมากแค่ไหน กระดาษขอให้หยุดการจำลองในครั้งแรก

mESS22/pπ(pΓ(p/2))2/pχ1α,p2ϵ2,

โดยที่คือฟังก์ชันแกมม่า ซึ่งค่าขอบเขตนี้สามารถคำนวณได้โดยใช้ในแพคเกจ R mcmcseΓ()minESS

ตอนนี้สมมติว่าคุณมีพารามิเตอร์ในด้านหลังและคุณต้องการความมั่นใจในการประเมินของคุณและคุณต้องการให้ข้อผิดพลาด Monte Carlo เป็น 5% ( ) ของข้อผิดพลาดหลังคุณจะต้อง95 % ϵ = .05p=2095%ϵ=.05

> minESS(p = 20, alpha = .05, eps = .05)
[1] 8716

สิ่งนี้เป็นจริงสำหรับปัญหาใด ๆ (ภายใต้เงื่อนไขปกติ) วิธีการที่วิธีนี้ปรับจากปัญหาเป็นปัญหาคือการผสมเชนมาร์คอฟอย่างช้าๆใช้เวลานานกว่าจะถึงขอบเขตที่ต่ำกว่าเนื่องจากข้อความจะเล็กลง ดังนั้นตอนนี้คุณสามารถตรวจสอบสองสามครั้งโดยใช้multiESSว่าห่วงโซ่มาร์คอฟของคุณถึงขีด จำกัด นั้นหรือไม่ ถ้าไม่ไปและคว้าตัวอย่างเพิ่มเติม


(+1) คำตอบที่ยอดเยี่ยม คุณรู้หรือไม่ว่าฟังก์ชั่นmultiESSนั้นได้รับการเข้ารหัสสำหรับภาษาอื่นเช่น MATLAB หรือไม่ (หรือว่ามันจะเป็นเรื่องยากที่จะ reimplement?)
lacerbi

1
Σ

1
Σ

1
@lacerbi ฉันดีใจที่คุณสามารถใช้รหัสใน Matlab ถ้าเป็นไปได้ตอบกลับความคิดเห็นนี้เมื่อมันขึ้นดังนั้นฉันสามารถใช้ ขอบคุณ
Greenparker

1
การดำเนินงาน MATLAB ของฉัน multiESS สามารถใช้ได้ที่นี่ เป็นเวอร์ชันที่ใช้งานได้แม้ว่าจะต้องมีการทดสอบเพิ่มเติม (ฉันไม่คุ้นเคยกับ R มิฉะนั้นฉันจะเปรียบเทียบกับการใช้งาน R)
lacerbi

2

การบรรจบกันขึ้นอยู่กับหลายสิ่ง: จำนวนพารามิเตอร์, ตัวแบบ, อัลกอริทึมการสุ่มตัวอย่าง, ข้อมูล ...

ฉันขอแนะนำให้หลีกเลี่ยงกฎทั่วไปและใช้เครื่องมือการวิเคราะห์คอนเวอร์เจนซ์สองชุดเพื่อตรวจสอบจำนวนการวนซ้ำและการทำให้ผอมบางในแต่ละตัวอย่างที่เฉพาะเจาะจง ดูเพิ่มเติม,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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.