รหัส MCMC กระโดดแบบกลับได้ (Matlab หรือ R)


14

ไม่มีใครรู้รหัสบางเขียนดี (ใน Matlab หรือ R) สำหรับกระโดด MCMC ย้อนกลับได้? เป็นแอพพลิเคชั่นตัวอย่างที่ใช้ง่ายเพื่อชมเชยเอกสารในหัวข้อที่จะเป็นประโยชน์ในการทำความเข้าใจกระบวนการ


มีการพูดคุยกันเกี่ยวกับการเพิ่มการกระโดด MCMC แบบพลิกกลับได้ไปยัง OpenBUGS ต่อหน้า 288 ของThe BUGS Bookและ WinBUGS มีฉันเชื่อว่าโมดูล Jump ใครเคยได้ยินเรื่องการพัฒนาที่คล้ายกันสำหรับ JAGS บ้าง มีวิธีการเขียนรหัส JAGS เพื่อให้ได้ผลของมิติต่าง ๆ หรือไม่? มันเป็นเพียงเรื่องของการกำหนดขนาดที่ใหญ่กว่าที่ต้องการหรือไม่?
Jan Galkowski

คำตอบ:


12

RJMCMC ได้รับการแนะนำโดยPeter Greenในบทความปี 1995ซึ่งเป็นหนังสืออ้างอิงคลาสสิก เขาเขียนโปรแกรม Fortran ที่เรียกว่าAutoRJสำหรับ RJMCMC อัตโนมัติ หน้าของเขาเกี่ยวกับการเชื่อมโยงนี้ในการเขียนโปรแกรม C เดวิด Hastie ของAutomix มีรายชื่อของซอฟต์แวร์ที่มีอยู่ได้อย่างอิสระสำหรับขั้นตอนวิธีการ RJMCMC ต่างๆในตารางที่ 1 ของที่เป็นกระดาษปี 2005 โดยสก็อตต์ซิสสัน การค้นหาของ Google ยังพบรหัสปลอมบางอย่างจากกลุ่มที่มหาวิทยาลัยกลาสโกว์ที่อาจเป็นประโยชน์ในการทำความเข้าใจหลักการถ้าคุณต้องการตั้งโปรแกรมด้วยตัวเอง


7

หนังสือการวิเคราะห์แบบเบส์สำหรับนิเวศวิทยาประชากรโดย King et al. อธิบาย RJMCMC ในบริบทของนิเวศวิทยาประชากร ฉันพบว่าคำอธิบายที่ชัดเจนมากและพวกเขาให้รหัส R ในภาคผนวก

หนังสือเล่มนี้มีหน้าเว็บที่เกี่ยวข้องด้วย แต่บางรหัสที่พบในหนังสือเล่มนี้ไม่ได้อยู่ในเว็บไซต์


พวกเขาให้รหัส WinBUGS สำหรับ RJMCMC? ดังนั้น WinBUGS มีความสามารถใน RJMCMC?
อยากรู้อยากเห็น

1
@Tomas มีคนแก้ไขคำตอบของฉันและเปลี่ยน R เป็น WinBUGS จากสิ่งที่ฉันจำได้หนังสือเล่มนี้ให้รหัส R
csgillespie

ขอขอบคุณ. (+1) Btw คุณพบว่า RJMCMC มีประโยชน์ต่อระบบนิเวศน์ของประชากรหรือไม่ ฉันยังไม่พบตัวอย่างใด ๆ ที่อาจมีประโยชน์ .. ฉันสามารถใช้การเพิ่มข้อมูลตัวอย่างกับ MCMC มาตรฐานและทำงานให้ฉันได้ตลอดเวลา โปรดทราบว่าฉันไม่มีหนังสือ .. ดีไหม
อยากรู้อยากเห็น

@Tomas หนังสือเล่มนี้ใช้ RJMCMC สำหรับการเลือกรูปแบบ ฉันพบว่าคำอธิบายค่อนข้างดี ฉันต้องใช้ RJMCMC ด้วยความโกรธ
csgillespie

"ด้วยความโกรธ" ?? คุณหมายถึงอะไร
อยากรู้อยากเห็น

1

เพียงเพิ่มหนึ่งรายละเอียดในคำตอบของ @ onestop: ฉันพบว่าซอฟต์แวร์ C ที่เผยแพร่โดย Olivier Cappé (CT / RJ MCMC) มีประโยชน์มากในการเข้าใจอัลกอริทึม MCMC กระโดดกลับได้ (โดยเฉพาะวิธีการออกแบบความน่าจะเป็นสำหรับการเกิดและแยก ผสานการเคลื่อนไหว) ลิงก์ไปยังซอร์สโค้ดคือ: http://perso.telecom-paristech.fr/~cappe/Code/CTRJ_mix/About/


1

Jailin Ai นำเสนอ RJ MCMC ที่ค่อนข้างดีด้วยกัน (แม้ว่ามันจะมีความใกล้ชิดกับกระดาษต้นฉบับของกรีนมาก) โดยใช้รหัส R ของ Attendant ซึ่งเป็นส่วนหนึ่งของวิทยานิพนธ์ปริญญาโทของเขาที่ Leeds นอกจากนี้ยังให้ตัวอย่างเชิงลึกของปัญหาจุดเปลี่ยนซึ่งรวมอยู่ในกระดาษ 1995 ของกรีน

ค้นหาวิทยานิพนธ์และรหัสที่นี่:

http://www1.maths.leeds.ac.uk/~voss/projects/2011-RJMCMC/


0

Nando de Freitas ให้การสาธิตเกี่ยวกับการใช้อัลกอริทึม MCMC กระโดดแบบย้อนกลับได้สำหรับการประมาณค่าพารามิเตอร์เครือข่ายประสาท โมเดลนี้ปฏิบัติต่อจำนวนของเซลล์ประสาทพารามิเตอร์โมเดลพารามิเตอร์การทำให้เป็นมาตรฐานและพารามิเตอร์เสียงรบกวนเป็นตัวแปรสุ่มที่ต้องถูกประมาณ

รหัสและการเขียนมีอยู่ที่นี่: http://www.cs.ubc.ca/~nando/software.html

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