MCMC พร้อมอัลกอริทึม Metropolis-Hastings: การเลือกข้อเสนอ


13

ฉันต้องทำการจำลองเพื่อประเมินอินทิกรัลของฟังก์ชันพารามิเตอร์ 3 ตัวเราพูดว่าซึ่งมีสูตรที่ซับซ้อนมาก มันถูกขอให้ใช้วิธีการ MCMC เพื่อคำนวณและใช้อัลกอริทึม Metropolis-Hastings เพื่อสร้างค่าที่กระจายเป็นและแนะนำให้ใช้ 3 ตัวแปรปกติเป็นการกระจายข้อเสนอ เมื่ออ่านตัวอย่างเกี่ยวกับเรื่องนี้ฉันเห็นแล้วว่าบางส่วนใช้ปกติกับพารามิเตอร์คงที่และใช้กับตัวแปรหมายถึงโดยที่คือค่าที่ยอมรับล่าสุด กระจายตาม . ฉันมีข้อสงสัยเกี่ยวกับวิธีการทั้งสอง:ffN(μ,σ)N(X,σ)Xf

1)ความหมายของการเลือกค่าที่ยอมรับล่าสุดเป็นค่าเฉลี่ยใหม่ของการกระจายข้อเสนอของเราคืออะไร สัญชาตญาณของฉันบอกว่าควรรับประกันได้ว่าคุณค่าของเราจะใกล้เคียงกับค่านิยมที่กระจายเป็นและโอกาสในการยอมรับจะยิ่งใหญ่ขึ้น แต่มันไม่ได้มุ่งเน้นตัวอย่างของเรามากเกินไปใช่ไหม รับประกันได้ว่าถ้าฉันได้รับตัวอย่างมากขึ้นโซ่จะกลายเป็นนิ่ง?f

2)จะไม่เลือกพารามิเตอร์คงที่ (เนื่องจากยากต่อการวิเคราะห์) เป็นเรื่องยากและขึ้นอยู่กับตัวอย่างแรกที่เราต้องเลือกเพื่อเริ่มอัลกอริทึม? ในกรณีนี้อะไรจะเป็นวิธีที่ดีที่สุดในการค้นหาสิ่งที่ดีกว่าf

เป็นหนึ่งในวิธีการเหล่านั้นดีกว่าอื่น ๆ หรือขึ้นอยู่กับกรณีนี้หรือไม่?

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

ขอบคุณล่วงหน้า!

คำตอบ:


10

1) คุณสามารถคิดถึงวิธีนี้เป็นวิธีการเดินแบบสุ่ม เมื่อมีการแจกแจงข้อเสนอมันถูกเรียกโดยทั่วไปว่าอัลกอริทึม Metropolis หากมีขนาดเล็กเกินไปคุณจะมีอัตราการยอมรับสูงและสำรวจการกระจายเป้าหมายอย่างช้ามาก ในความเป็นจริงถ้ามีขนาดเล็กเกินไปและการกระจายเป็นแบบหลายโหมดตัวอย่างอาจจะติดอยู่ในโหมดเฉพาะและจะไม่สามารถสำรวจการกระจายเป้าหมายได้อย่างเต็มที่ ในทางตรงกันข้ามถ้ามีขนาดใหญ่เกินไปอัตราการยอมรับจะต่ำเกินไป เนื่องจากคุณมีสามมิติการกระจายข้อเสนอของคุณจะมีเมทริกซ์ความแปรปรวนร่วมxxtN(xt,σ2)σ2σ2σ2Σซึ่งมีแนวโน้มว่าจะต้องมีความแปรปรวนและความแปรปรวนร่วมที่แตกต่างกันสำหรับแต่ละส่วนข้อมูล การเลือกที่เหมาะสมอาจเป็นเรื่องยากΣ

2) หากการกระจายข้อเสนอของคุณอยู่เสมอนี่คืออัลกอริทึม Metropolis-Hastings อิสระเนื่องจากการกระจายข้อเสนอของคุณไม่ได้ขึ้นอยู่กับตัวอย่างปัจจุบันของคุณ วิธีนี้ใช้ได้ผลดีที่สุดหากการกระจายข้อเสนอของคุณเป็นการประมาณเป้าหมายการกระจายที่คุณต้องการตัวอย่างจาก คุณถูกต้องว่าการเลือกการประมาณแบบปกติที่ดีอาจเป็นเรื่องยากN(μ,σ2)

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


ฉันไม่แน่ใจว่าคำสั่ง: "2) หากการกระจายข้อเสนอของคุณอยู่เสมอนี่คืออัลกอริทึม Metropolis-Hastings อิสระเนื่องจากการกระจายข้อเสนอของคุณไม่ได้ขึ้นอยู่กับตัวอย่างปัจจุบันของคุณ: "ถูกต้องเพราะไม่ได้วาดภาพตัวอย่างจากสมมาตรและด้วยเหตุนี้สิ่งนี้จะถูกเรียกว่าอัลกอริธึมมหานครอย่างถูกต้องมากกว่าอัลกอริทึม Metropolis-Hasting ฉันไม่แน่ใจตัวเองทั้งหมดดังนั้นฉันจึงถามคำถามด้วย N(μ,σ2)N(μ,σ2)
rhody

@rhody อัลกอริทึม Metropolis ไม่ปล่อยเงื่อนไขในตำแหน่งปัจจุบันของคุณ จุดทั้งหมดคือการเดินไปรอบ ๆ พื้นที่พารามิเตอร์อย่างช้าๆด้วยข้อเสนอที่สมมาตรจากตำแหน่งปัจจุบันของคุณ การใช้ข้อเสนอแบบสมมาตรใด ๆ ที่ขึ้นอยู่กับตำแหน่งปัจจุบันของคุณและการคำนวณความน่าจะเป็นที่ยอมรับของมหานครคุณจะมาบรรจบกับการกระจายเป้าหมาย สำหรับอัลกอริทึม Metropolis-Hastings อิสระคุณต้องการกระจายข้อเสนอของคุณให้เป็นการประมาณของการกระจายเป้าหมายและคุณใช้การคำนวณที่แตกต่างกันสำหรับความน่าจะเป็นที่ยอมรับ
jsk

@rhody นอกจากนี้มันเป็นความจริงที่การกระจายตัวแบบปกติคือการกระจายแบบสมมาตร แต่นั่นไม่ใช่ประเภทของสมมาตรที่อ้างถึงที่นี่ ถ้า q คือการกระจายข้อเสนอของคุณการกระจายข้อเสนอจะสมมาตรถ้า q (Y | X) = q (X | Y) ถ้าดังนั้น q จะไม่สมมาตรเพราะสำหรับและทั้งหมด qN(μ,σ2)q(Y)q(X)XY
jsk

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