การสุ่มตัวอย่างจากมาร์คอฟคือ "ดีที่สุด" สำหรับการสุ่มตัวอย่าง Monte Carlo หรือไม่ มีรูปแบบทางเลือกอื่น ๆ หรือไม่?


10

มาร์คอฟเชนมอนติคาร์โลเป็นวิธีการที่อิงตามเชนมาร์คอฟที่ช่วยให้เราได้รับตัวอย่าง (ในการตั้งค่ามอนติคาร์โล) จากการแจกแจงที่ไม่ได้มาตรฐานซึ่งเราไม่สามารถวาดตัวอย่างได้โดยตรง

คำถามของฉันคือเหตุผลที่ห่วงโซ่มาร์คอฟเป็น "สุดยอด" สำหรับการสุ่มตัวอย่าง Monte Carlo คำถามอื่นอาจมีวิธีอื่นเช่นโซ่มาร์คอฟที่สามารถใช้สำหรับการสุ่มตัวอย่าง Monte Carlo ได้หรือไม่? ฉันรู้ (อย่างน้อยก็จากการดูวรรณกรรม) ว่า MCMC มีรากฐานทางทฤษฎีที่ลึก (ในแง่ของเงื่อนไขเช่น (a) เป็นระยะ, ความสม่ำเสมอและรายละเอียดที่สมดุล) แต่สงสัยว่ามีรูปแบบ / วิธีการที่น่าจะเป็นสำหรับ Monte การสุ่มตัวอย่าง Carlo คล้ายกับโซ่มาร์คอฟ

กรุณาแนะนำฉันถ้าฉันได้สับสนบางส่วนของคำถาม (หรือถ้ามันดูเหมือนสับสนโดยสิ้นเชิง)

คำตอบ:


11

ไม่มีเหตุผลที่จะระบุว่าการสุ่มตัวอย่าง MCMC เป็นวิธี "ดีที่สุด" Monte Carlo! มักจะอยู่ในฝั่งตรงข้ามที่เลวร้ายยิ่งกว่าการสุ่มตัวอย่าง IID อย่างน้อยในแง่ของความแปรปรวนของผลประมาณ Monte Carlo

1Tt=1Th(Xt)
แน่นอนในขณะที่ค่าเฉลี่ยนี้มาบรรจบกับความคาดหวัง Eπ[h(X)] เมื่อไหร่ π เป็นการเคลื่อนที่แบบ จำกัด และการกระจายตัวของห่วงโซ่มาร์คอฟ (Xt)tมีข้อเสียอย่างน้อยสองข้อในการใช้วิธีการ MCMC:
  1. โซ่ต้องการ "เข้าถึงสถานียืน" ซึ่งหมายความว่าจะต้องลืมค่าเริ่มต้น X0. ในคำอื่น ๆt จะต้อง "ใหญ่พอ" สำหรับ Xt ที่จะกระจายจาก π. บางครั้ง "ใหญ่พอ" อาจเกินงบประมาณคำสั่งในการคำนวณสำหรับการทดสอบ
  2. ค่านิยม Xt มีความสัมพันธ์นำไปสู่ความแปรปรวนเชิงซีโมติกที่เกี่ยวข้อง
    varπ(X)+2t=1covπ(X0,Xt)
    ซึ่งโดยทั่วไปเกิน varπ(X) และด้วยเหตุนี้จึงต้องใช้การจำลองนานกว่าสำหรับตัวอย่าง iid

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

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

โดยสรุป MCMC เป็นเครื่องมือที่มีประโยชน์มาก (และใช้งานมาก) ในการจัดการการตั้งค่าที่ซับซ้อนซึ่งโซลูชั่น Monte Carlo ทั่วไปล้มเหลว


8

มีหลายวิธีในการสร้างค่าสุ่มจากการแจกแจง McMC เป็นหนึ่งในนั้น แต่อีกหลายวิธีก็จะถือว่าเป็นวิธีการ Monte Carlo (โดยไม่ต้องมีส่วนลูกโซ่มาร์คอฟ)

สิ่งที่ตรงที่สุดสำหรับการสุ่มตัวอย่างแบบไม่มีตัวแปรคือการสร้างตัวแปรสุ่มที่เหมือนกันแล้วเสียบสิ่งนี้เข้ากับฟังก์ชันผกผัน CDF วิธีนี้ใช้งานได้ดีถ้าคุณมี CDF แบบผกผัน แต่จะลำบากเมื่อ CDF และ / หรือการอินเวอร์สนั้นยากที่จะคำนวณโดยตรง

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

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

หากคุณสนใจสรุปข้อมูลที่สร้างขึ้นแทนที่จะสุ่มคะแนนด้วยตนเองการสุ่มตัวอย่างที่สำคัญคือตัวเลือกอื่น

การสุ่มตัวอย่างของกิ๊บส์ซึ่งเป็นรูปแบบของการสุ่มตัวอย่าง McMC ช่วยให้คุณสามารถสุ่มตัวอย่างที่คุณไม่ทราบว่ารูปแบบที่แน่นอนของการแจกแจงหลายตัวแปรตราบใดที่คุณรู้ว่าการแจกแจงแบบมีเงื่อนไขสำหรับตัวแปรแต่ละตัว

มีคนอื่นเช่นกันซึ่งดีที่สุดขึ้นอยู่กับสิ่งที่คุณรู้และไม่ทราบและรายละเอียดอื่น ๆ ของปัญหาเฉพาะ McMC เป็นที่นิยมเพราะทำงานได้ดีในหลาย ๆ สถานการณ์และทำให้เป็นกรณีทั่วไป

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