การคำนวณแบบเบย์และการจำลองมอนติคาร์โลแบบลูกโซ่มาร์คอฟ (MCMC)
การคำนวณแบบเบย์ช่วยให้การอนุมานเป็นไปได้ในทางปฏิบัติ โดยการสุ่มตัวอย่างจากการแจกแจงภายหลัง (posterior distributions) ที่ไม่สามารถประเมินได้ในรูปแบบปิด ซึ่งส่วนใหญ่ทำผ่านการจำลองมอนติคาร์โลแบบลูกโซ่มาร์คอฟ (Markov chain Monte Carlo)
Definition
การคำนวณแบบเบย์คือชุดของวิธีการเชิงตัวเลขสำหรับการประมาณค่าการแจกแจงภายหลัง (posterior distributions) และค่าคาดหวังที่ได้จากมัน; การจำลองมอนติคาร์โลแบบลูกโซ่มาร์คอฟสร้างลูกโซ่มาร์คอฟ (Markov chain) ที่มีการแจกแจงสถิต (stationary distribution) เป็นการแจกแจงภายหลังเป้าหมาย เพื่อให้สามารถใช้ตัวอย่างที่ได้มาสำหรับการอนุมานได้
Scope
ขอบเขตนี้ครอบคลุมอัลกอริทึมที่เป็นหัวใจสำคัญของการวิเคราะห์แบบเบย์สมัยใหม่: กรอบการทำงานของเมโทรโพลิส-เฮสติงส์ (Metropolis-Hastings), การสุ่มตัวอย่างแบบกิบบส์ (Gibbs sampling), การจำลองมอนติคาร์โลแบบแฮมิลตัน (Hamiltonian Monte Carlo) ที่อาศัยการไล่ระดับ (gradient-based), และการประมาณค่าแบบแปรผันเชิงกำหนด (deterministic variational approximations) รวมถึงการวินิจฉัยการลู่เข้า (convergence diagnostics) และการประเมินข้อผิดพลาดแบบมอนติคาร์โล (Monte Carlo error) ที่ทำให้ผลลัพธ์ของวิธีการเหล่านี้เชื่อถือได้
Sub-topics
Core questions
- จะสุ่มตัวอย่างจากการแจกแจงภายหลังที่ทราบเพียงค่าคงที่การทำให้เป็นมาตรฐาน (normalizing constant) ได้อย่างไร?
- วิธีการเมโทรโพลิส-เฮสติงส์ (Metropolis-Hastings) และการสุ่มตัวอย่างแบบกิบบส์ (Gibbs sampling) สร้างลูกโซ่ที่มีการแจกแจงสถิต (stationary distribution) ที่ถูกต้องได้อย่างไร?
- ข้อมูลการไล่ระดับ (gradient information) ช่วยให้การจำลองมอนติคาร์โลแบบแฮมิลตัน (Hamiltonian Monte Carlo) สำรวจการแจกแจงภายหลังที่มีมิติสูงได้อย่างมีประสิทธิภาพได้อย่างไร?
- เมื่อใดที่การประมาณค่าเชิงกำหนด (deterministic approximations) เช่น การอนุมานแบบแปรผัน (variational inference) เป็นที่นิยมมากกว่าการสุ่มตัวอย่าง?
- จะวินิจฉัยการลู่เข้า (convergence) ของตัวสุ่ม MCMC และหาปริมาณข้อผิดพลาดแบบมอนติคาร์โล (Monte Carlo error) ได้อย่างไร?
Key concepts
- การจำลองมอนติคาร์โลแบบลูกโซ่มาร์คอฟ
- การแจกแจงสถิต
- สมดุลละเอียด
- ช่วงวอร์มอัพ (burn-in)
- การผสมผสาน (mixing)
- ขนาดตัวอย่างที่มีประสิทธิภาพ
- การวินิจฉัยการลู่เข้า
- ความคลาดเคลื่อนมาตรฐานแบบมอนติคาร์โล
Key theories
- การจำลองมอนติคาร์โลแบบลูกโซ่มาร์คอฟ
- โดยการสร้างลูกโซ่มาร์คอฟที่มีการแจกแจงไม่แปรเปลี่ยน (invariant distribution) เป็นการแจกแจงภายหลัง MCMC จะเปลี่ยนการอินทิเกรตที่แก้ไขไม่ได้ให้เป็นปัญหาของการจำลองและการหาค่าเฉลี่ยตลอดลูกโซ่
- สมดุลละเอียด
- การย้อนกลับได้เมื่อเทียบกับการแจกแจงเป้าหมายเป็นเงื่อนไขที่เพียงพอมาตรฐานที่รับประกันว่าตัวสุ่มจะรักษาสภาพการแจกแจงภายหลังให้ไม่เปลี่ยนแปลง ซึ่งเป็นพื้นฐานของเมโทรโพลิส-เฮสติงส์และกิบบส์
- การวินิจฉัยการลู่เข้า
- การอนุมานเชิงปฏิบัติอาศัยการวินิจฉัย เช่น ปัจจัยลดขนาดศักยภาพ (potential scale reduction factor) และขนาดตัวอย่างที่มีประสิทธิภาพ เพื่อตัดสินว่าลูกโซ่ได้เข้าถึงและผสมผสานทั่วทั้งการแจกแจงสถิตแล้วหรือไม่
Clinical relevance
MCMC และการคำนวณที่เกี่ยวข้องช่วยให้สามารถปรับใช้แบบจำลองเชิงลำดับชั้น (hierarchical) และแบบไม่เชิงเส้น (nonlinear) ที่สมจริงได้ในสาขาวิทยาศาสตร์ต่างๆ ตั้งแต่เภสัชจลนศาสตร์ประชากร (population pharmacokinetics) และพันธุศาสตร์ ไปจนถึงจักรวาลวิทยาและนิเวศวิทยา ซึ่งการแจกแจงภายหลังไม่มีรูปแบบเชิงวิเคราะห์
History
อัลกอริทึมเมโทรโพลิส (Metropolis algorithm) (ค.ศ. 1953) และการขยายความของเฮสติงส์ (Hastings' generalization) (ค.ศ. 1970) มีต้นกำเนิดมาจากฟิสิกส์; การสุ่มตัวอย่างแบบกิบบส์ (Gibbs sampler) ของเกมันและเกมัน (Geman and Geman) (ค.ศ. 1984) และบทความของเกลฟานด์และสมิธ (Gelfand and Smith) ในปี ค.ศ. 1990 ได้นำวิธีการเหล่านี้เข้าสู่สถิติกระแสหลัก ก่อให้เกิดการปฏิวัติการคำนวณแบบเบย์ที่ยังคงดำเนินต่อไปด้วยการจำลองมอนติคาร์โลแบบแฮมิลตัน (Hamiltonian Monte Carlo) และวิธีการแบบแปรผัน (variational methods)
Debates
- การสุ่มตัวอย่างเทียบกับการประมาณค่าเชิงกำหนด
- MCMC ให้ตัวอย่างที่แม่นยำเชิงอนันต์ (asymptotically exact samples) โดยมีค่าใช้จ่ายในการคำนวณสูง ในขณะที่การอนุมานแบบแปรผันรวดเร็วแต่เป็นการประมาณค่า; การแลกเปลี่ยนระหว่างความแม่นยำและความสามารถในการปรับขนาด (scalability) ยังคงเป็นข้อกังวลที่สำคัญ
Key figures
- Nicholas Metropolis
- W. Keith Hastings
- Stuart Geman
- Donald Geman
- Radford Neal
Related topics
Seminal works
- robert2004
- brooks2011
- gelman2013
Frequently asked questions
- เหตุใดจึงจำเป็นต้องใช้ MCMC เลย?
- สำหรับแบบจำลองที่สมจริงส่วนใหญ่ การแจกแจงภายหลังไม่มีรูปแบบปิด และค่าคงที่การทำให้เป็นมาตรฐาน (normalizing constant) เป็นปริพันธ์มิติสูงที่ไม่สามารถแก้ไขได้; MCMC หลีกเลี่ยงปัญหานี้โดยการสร้างตัวอย่างจากการแจกแจงภายหลังโดยใช้เพียงความหนาแน่นที่ไม่ได้ทำให้เป็นมาตรฐาน (unnormalized density) เท่านั้น
- จะทราบได้อย่างไรว่าการรัน MCMC ลู่เข้าแล้ว?
- การประเมินการลู่เข้าทำได้ด้วยการวินิจฉัย เช่น ปัจจัยลดขนาดศักยภาพ (potential scale reduction factor) ในหลายๆ ลูกโซ่, แผนภาพร่องรอย (trace plots), และขนาดตัวอย่างที่มีประสิทธิภาพ (effective sample size) แม้ว่าสิ่งเหล่านี้จะสามารถตรวจจับความล้มเหลวในการลู่เข้าได้ แต่ไม่สามารถพิสูจน์การลู่เข้าได้อย่างแน่นอน