เงื่อนไขทั้งหมดมาจากการสุ่มตัวอย่างที่กิ๊บส์?


15

อัลกอริทึม MCMC เช่นการสุ่มตัวอย่าง Metropolis-Hastings และ Gibbs เป็นวิธีการสุ่มตัวอย่างจากการกระจายหลังร่วมกัน

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

ในการดำเนินการนี้คุณต้องมีเงื่อนไขครบถ้วนของแต่ละพารามิเตอร์ในการวิเคราะห์จาก * แต่เงื่อนไขทั้งหมดนี้มาจากไหน

P(x1|x2, , xn)=P(x1, , xn)P(x2, , xn)
ที่จะได้รับส่วนที่คุณจำเป็นต้องเหยียดหยามร่วมกว่าx11 ดูเหมือนว่าจะมีการทำงานมากมายที่ต้องทำการวิเคราะห์หากมีพารามิเตอร์จำนวนมากและอาจไม่สามารถจัดการได้หากการกระจายข้อต่อไม่ดีมาก ฉันรู้ว่าถ้าคุณใช้การผันคำกริยาตลอดทั้งโมเดลเงื่อนไขแบบเต็มอาจง่าย แต่ก็ต้องมีวิธีที่ดีกว่าสำหรับสถานการณ์ทั่วไปมากขึ้น

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

* หรือคุณต้องการเงื่อนไขแบบเต็มในรูปแบบการวิเคราะห์เลยหรือไม่? โปรแกรมเช่น winBUGS ทำมันได้อย่างไร?


1
การสุ่มตัวอย่างกิ๊บส์มักจะมีประสิทธิภาพน้อยกว่า Metropolis-Hastings เพราะมันไปทีละมิติ ...
ซีอาน

กิ๊บส์สุ่มตัวอย่างมีประสิทธิภาพมากขึ้นในแต่ละขั้นตอนของแต่ละบุคคล แต่อาจต้องอันยิ่งใหญ่ขั้นตอนอื่น ๆ อีกมากมายที่จะมาบรรจบกัน - และท้ายมีประสิทธิภาพน้อยลงเพื่อให้ได้ผลลัพธ์ที่ดีโดยรวม
Lutz Prechelt

คำตอบ:


7

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

สัญชาตญาณสำหรับเรื่องนี้จะเป็นดังนี้ในส่วน "ความจริง" แจกแจงร่วม , ส่วนใหญ่ของX ฉัน 's มักจะมีเงื่อนไขที่เป็นอิสระของที่สุดของตัวแปรสุ่มอื่น ๆ นั่นคือตัวแปรบางตัวมีการโต้ตอบในท้องถิ่นกล่าวว่าX iขึ้นอยู่กับX i - 1และX i + 1แต่ไม่ได้โต้ตอบกับทุกสิ่งดังนั้นการแจกแจงแบบมีเงื่อนไขควรลดความซับซ้อนลงอย่างมีนัยสำคัญเมื่อP r (P(X1,...,Xn)XผมXผมXผม-1Xผม+1PR(Xผม|X1,...,Xผม)=PR(Xผม|Xผม-1,Xผม+1)


ในการเพิ่มคำตอบนี้คุณไม่จำเป็นต้องทำให้ตัวแปรอื่น ๆ ด้อยลงตามที่ระบุไว้ในคำถาม สิ่งที่คุณต้องทำคือการ 'จัดระเบียบใหม่' เพื่อให้คุณรับรู้ผลลัพธ์ในรูปแบบ PDF ที่รู้จักและเสร็จสิ้น ตราบใดที่คุณสามารถจัดระเบียบทุกอย่างข้างต้นอีกครั้ง (เช่นค่าคงที่อื่นทั้งหมดค่าอินทิกรัลในตัวส่วนเป็นต้น) จะเท่ากับค่าคงที่ที่เหมาะสมสำหรับ pdf เพื่อรวมเข้ากับ 1PR(Xผม|Xผม-1,Xผม+1)

3
ไม่จำเป็นต้องพบการวิเคราะห์ เงื่อนไขแบบเต็มทั้งหมดเป็นสัดส่วนกับการแจกแจงร่วมเช่น และนั่นคือทั้งหมดที่จำเป็นสำหรับ Metropolis-Hastings
อุโมงค์

1
@Tristan แน่นอน อย่างไรก็ตามฉันกำลังพูดถึงการสุ่มตัวอย่างกิ๊บส์
gabgoh

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

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

11

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

P(x1|x2,...,xn)αP(x1,...,xn)

โดยทั่วไปโปรแกรมอย่าง WinBugs / Jags จะใช้ขั้นตอนการสุ่มตัวอย่าง Metropolis-Hastings หรือ slice ซึ่งต้องการเงื่อนไขตามสัดส่วนสูงสุดเท่านั้น สิ่งเหล่านี้หาได้ง่ายจาก DAG ได้รับการสังยุคบางครั้งพวกเขาก็ทำตามขั้นตอนกิ๊บส์หรือหยุดบล็อกแฟนซี


1
เฮ้ขอบคุณ! ฉันคิดว่าประเด็นที่ไม่ต้องการค่าคงที่เชิงบรรทัดฐานสำหรับการวางผังเมืองคือสิ่งที่ฉันต้องการเพื่อให้เข้าใจถึงสิ่งเหล่านี้ทั้งหมด ฉันคิดว่าเนื่องจาก GS ใน WinBUGS หมายถึงการสุ่มตัวอย่าง gibbs ฉันจึงรู้สึกว่า gibbs แทนที่ MH และซอฟต์แวร์นั้นใช้ gibbs โดยเฉพาะ
cespinoza

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

2
เกือบทุกครั้งที่คุณสามารถใช้กิ๊บส์คุณยังสามารถใช้ทางเลือกของ Metropolis-Hastings ประสิทธิภาพที่สูงขึ้นมาจากการผสมทั้งสองวิธี
ซีอาน

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