มีการใช้งานตัวอย่างมอนติคาร์โล / MCMC ซึ่งสามารถจัดการกับการกระจายของภาพหลังหรือไม่?


10

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

สิ่งนี้นำไปสู่ปัญหาการผสมของโซ่ Monte Carlo ของฉันเนื่องจากมันไม่น่าเป็นไปได้มากที่โซ่หนึ่ง "กระโดด" จากจำนวนสูงสุดในท้องถิ่นเดียวและบังเอิญโดนหนึ่งในยอดเขาอื่น ๆ โดยไม่ตั้งใจ

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

ฉันถูกบังคับให้ทำงานกับ Matlab เพราะนั่นคือสิ่งที่ฉันเขียนในแบบจำลอง ODE ดังนั้นข้อเสนอเกี่ยวกับ Matlab ยินดีต้อนรับมากที่สุด ;-) อย่างไรก็ตามหากมี "แอพพลิเคชั่นนักฆ่า" ในภาษาอื่น ๆ บางทีฉันสามารถโน้มน้าวให้ PI ของฉันเปลี่ยน ;-)

ขณะนี้ฉันกำลังทำงานกับตัวอย่าง Monte Carlo Delayed- Reject / Adaptive ที่เขียนโดยHaario, Laine และคณะ และนั่นก็เป็นตัวอย่างเดียวที่ฉันสามารถหาได้ซึ่งมีความซับซ้อนกว่าอัลกอริธึม Metropolis-Hastings มาตรฐาน


วิธีการที่โดดเด่นน่าจะเป็น:

แก้ไขเมื่อวันที่ 2017-Mar-07 กับสิ่งที่ฉันได้เรียนรู้ในขณะเดียวกัน

โซ่ที่คล้ายคลึงกันหลายแห่งที่มีจุดเริ่มต้นแตกต่างกัน

การปรับตัวระหว่างห่วงโซ่ ใช้เมทริกซ์ความแปรปรวนร่วมเชิงประจักษ์ของกลุ่มตัวอย่างที่สร้างขึ้นโดยกลุ่มอิสระหลายกลุ่มเพื่ออัพเดทเมทริกซ์ความแปรปรวนร่วมของการแจกแจงข้อเสนอของโซ่ (1)

โซ่หลายที่มีการแบ่งเบาบรรเทาที่แตกต่างกัน

แบ่งเบา: "อุณหภูมิ" บางอย่างดูเหมือนว่าจะปรับเปลี่ยนภูมิหลังหลังทำให้การผสมของโซ่น่าจะเป็นมากขึ้น (ฉันยังไม่ได้ดำดิ่งลงในสิ่งนี้มาก) (1)จุดประสงค์ของการแบ่งเบาบรรเทาคือภูมิทัศน์ความน่าจะเป็น (มิติสูง) ที่เกิดจากการกระจายความน่าจะเป็นด้านหลัง มันสามารถทำได้โดยทั่วไปโดยการใช้ความน่าจะเป็นด้านหลังถึงกำลังของซึ่งภูมิหลังด้านหลังแบนสำหรับ (3, p.298) นี่หมายความว่าแทนที่จะคำนวณความน่าจะเป็นด้านหลังของรัฐ , ให้ข้อมูลความน่าจะเป็นด้านหลังของอารมณ์ถูกคำนวณ1/TT>1พี(θ|D)θD

พี(θ|D)1/Tα(พี(D|θ)พี(θ))1/T

สูงกว่าถูกเลือกยอดเขาประจบและกว้างขึ้นในแนวนอนน่าจะเป็น ดังนั้นค่าที่สูงขึ้นจะนำไปสู่ความน่าจะเป็นที่สูงขึ้นของตัวอย่างเพื่อสลับจากค่าสูงสุดในท้องถิ่นหนึ่งไปเป็นค่าอื่น อย่างไรก็ตามไม่ได้เป็นกระจายหลังการสืบค้นถ้า Tดังนั้นโซ่ของตัวอย่างของการแจกแจงนั้นจะต้องใช้เพื่อเปิดใช้งานการสุ่มตัวอย่างจากหลังจากนั้นTTพี(θ|D)1/TT1พี(θ|D)

ตัวอย่างจากการแจกแจงด้านหลังดั้งเดิมที่ไม่ได้รับการดูแลรักษาตัวอย่างที่ได้รับจากการกระจายอารมณ์แบบดั้งเดิมนั้นสามารถทำได้หลายวิธี:

  • กรุงเทพมหานครควบคู่ MCMC Run โซ่หลายควบคู่กันไปแต่ละคนมีค่าแตกต่างกัน แต่คงที่สำหรับTสลับสถานะของสองโซ่น่าจะเป็น ใช้ตัวอย่างจากโซ่ที่มีสำหรับการประเมินแบบดาวน์สตรีมเท่านั้น โซ่อื่น ๆ เพียงให้แน่ใจว่ายอดเขาทั้งหมดถูกเก็บตัวอย่าง อ้าง (4) มีอัลกอริธึมแบบขนานและอ้างอิงบทความการประชุมและตำราสำหรับแนวคิด (5,6)TT=1

  • MCMC ขนาดเล็กในโลก Sampler สลับระหว่างข้อเสนอสองข้อ ส่วนใหญ่มักจะใช้การกระจายข้อเสนอที่มีความแปรปรวนเล็ก ๆ น้อย ๆ มักจะใช้ข้อเสนอที่มีความแปรปรวนขนาดใหญ่ ทางเลือกระหว่างข้อเสนอสองข้อนี้คือสุ่ม ข้อเสนอที่มีความแปรปรวนขนาดใหญ่อาจถูกดึงมาจากโซ่อีกอันซึ่งกระโดดได้ขนาดใหญ่มากเท่านั้นการสุ่มตัวอย่างพื้นที่ตัวอย่างมากที่สุดเท่าที่จะทำได้ (2,7)

มิลโตเนียนมอนติคาร์โล (HMC)

ฉันไม่รู้อะไรมากเกี่ยวกับเรื่องนั้น แต่ตัวอย่าง No-U-Turn (NUTS) จากJAGS ดูเหมือนว่าจะใช้มัน ดูอ้างอิง (8) Alex Rogozhnikov ได้สร้างภาพการสอนเกี่ยวกับหัวข้อ


อ้างอิง:

(1) Craiu et al., 2009: เรียนรู้จากเพื่อนบ้านของคุณ: Parallel-Chain และ MCMC Adaptive ระดับภูมิภาค J Am Stat Assoc 104: 488, pp. 1454-1466 http://www.jstor.org/stable/40592353

(2) Guam et al., 2012: โลกใบเล็ก MCMC ด้วยการแบ่งเบาบรรเทา: ความเร็วและช่องว่างทางสเปกตรัม https://arxiv.org/abs/1211.4675 ( เฉพาะใน arXiv )

(3): Brooks et al. (2011) คู่มือของ Markov Chain Monte Carlo กด CRC

(4): Altekar และคณะ (2004): มหานครขนานคู่กับมาร์คอฟโซ่มอนติคาร์โลสำหรับการอนุมานสายวิวัฒนาการเบย์ ชีวสารสนเทศศาสตร์ 20 (3) 2004, pp. 407–415, http://dx.doi.org/10.1093/bioinformatics/btg427

(5): Geyer CJ (1991) มาร์คอฟเชนมอนติคาร์โลโอกาสสูงสุด ใน: Keramidas (Ed.), วิทยาศาสตร์คอมพิวเตอร์และสถิติ: การดำเนินการของวันที่ 23 ประชุมวิชาการเกี่ยวกับอินเตอร์เฟซ Interface Foundation, สถานี Fairfax, pp. 156–163

(6): Gilks ​​WR และ Roberts GO (1996) กลยุทธ์สำหรับการปรับปรุง MCMC ใน: Gilks WR, ริชาร์ดเอสและ Spiegelhalter (สหพันธ์) ห่วงโซ่มาร์คอฟ Monte Carlo ในการปฏิบัติ แชปแมน & ฮอลล์พี. 89-114

(7): Guan Y, et al. มาร์คอฟเชนมอนติคาร์โลในโลกใบเล็ก สถิติและคอมพิวเตอร์ (2549) 16 (2), pp. 193-202 http://dx.doi.org/10.1007/s11222-006-6966-6

(8): Hoffmann M และ Gelman A (2014): ตัวอย่าง No-U-Turn: การตั้งค่าความยาวเส้นทางที่ปรับเปลี่ยนได้ใน Hamiltonian Monte Carlo วารสารการวิจัยการเรียนรู้ของเครื่อง , 15, pp. 1351-1381 https://arxiv.org/abs/1111.4246

คำตอบ:


1

กลยุทธ์ทั้งสองข้างต้นไม่เหมาะสำหรับ optima หลายตัว

ตัวเลือกที่ดีกว่าคือ Differential Evolution MCMC และ MCMC ที่ได้รับเช่น DREAM อัลกอริธึมเหล่านี้ทำงานกับเครือข่าย MCMC หลายแห่งที่ผสมกันเพื่อสร้างข้อเสนอ หากคุณมีเชนอย่างน้อยหนึ่งเชนในแต่ละ optima พวกเขาจะสามารถกระโดดได้อย่างมีประสิทธิภาพระหว่าง Optima มีการใช้งานใน R ที่นี่https://cran.r-project.org/web/packages/BayesianTools/index.html

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