โปรแกรมเช่น BUGS / JAGS จะกำหนดการกระจายแบบมีเงื่อนไขสำหรับการสุ่มตัวอย่างแบบกิ๊บส์อย่างไร


11

ดูเหมือนว่าเงื่อนไขแบบเต็มมักจะยากที่จะรับมา แต่โปรแกรมเช่น JAGS และ BUGS จะได้มาโดยอัตโนมัติ บางคนสามารถอธิบายได้ว่าพวกเขาสร้างอัลกอริธึมแบบเต็มรูปแบบสำหรับสเปคแบบใดก็ได้หรือไม่?


ฉันจำไม่ได้แน่นอน แต่ฉันรู้ว่าพวกเขามักจะทำข้อสันนิษฐานที่แข็งแกร่งมากซึ่งมักไม่เป็นความจริง

3
เกี่ยวกับความคิดเห็นของคุณคุณกำลังพูดถึงเรื่องสมมุติแบบไหน?
Stéphane Laurent

คำตอบ:


3

การอ่านความคิดเห็นเกี่ยวกับคำตอบของ othe ฉันเชื่อว่าคำตอบที่ถูกต้องสำหรับคำถามที่ตั้งใจจะถามคือ "พวกเขาไม่ทำ" โดยทั่วไป ดังที่ได้กล่าวมาแล้วพวกเขาสร้าง DAG และมองไปที่ผ้าห่มของมาร์คอฟแล้วทำ (ต่อไป) ทำสิ่งต่อไปนี้

  1. ถ้าผ้าห่มมาร์คอฟรอบ ๆ โหนดสอดคล้องกับเงื่อนไขทั้งหมดที่อยู่ในตารางการค้นหา (พูดเพราะมันเป็นคอนจูเกต) ตัวอย่างจากการใช้เทคนิคในตารางการค้นหา
  2. มิฉะนั้นตรวจสอบคือถ้าความหนาแน่นของเงื่อนไขที่ผิดปกติ - ซึ่งเป็นเรื่องเล็กน้อยที่จะคำนวณ - เป็นบันทึกเว้า หากเป็นเช่นนั้นให้ใช้การสุ่มตัวอย่างการปฏิเสธแบบปรับตัว
  3. อื่นตัวอย่างโดยใช้ Metropolis- ภายใน - กิ๊บส์เพื่อตัวอย่างจากการกระจายประมาณ แม้ว่านี่จะไม่ใช่ตัวอย่างที่แน่นอน แต่ก็สามารถแสดงให้เห็นว่าอัลกอริทึมนี้ยังคงไม่เปลี่ยนแปลงจากด้านหลัง

นี่ไม่ใช่สิ่งที่กำลังทำอยู่ ตัวอย่างเช่น JAGS จะใช้เทคนิคอื่น ๆ เพื่อสร้างการอัปเดตบล็อก แต่สิ่งนี้ควรให้ความคิดในสิ่งที่พวกเขากำลังทำ


ฉันไม่รู้จักเอกสารของ BUGS และ JAGS อย่างนั้นรายงานนั้นอยู่ที่ไหน BTW
altroware

@altroware ฉันไม่รู้เอกสารเหมือนกันขอโทษด้วย ฉันรู้ว่าrjagsมีฟังก์ชั่นที่แสดงรายการตัวอย่างที่ใช้สิ่งที่ชอบlist_samplersแต่คุณสามารถตรวจสอบเอกสารปกติในRการค้นหา
ผู้ชาย

0

π()θiθiθiθiฉัน

θi


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

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

ค่าคงที่การทำให้ปกติเป็นมาตรฐานนั้นไม่สำคัญดังนั้นจึงมีนิพจน์แบบฟอร์มที่ปิดอยู่เสมอเพราะเราเพียง แต่การแสดงออกของแบบฟอร์มที่ปิดแบบทวีคูณเท่านั้น ไม่นะ (ฉันเหนื่อย)
Stéphane Laurent

มันฝึกยากมากสำหรับ BUGS ในการพิจารณาการแจกแจงแบบมีเงื่อนไข บางทีการให้ตัวอย่าง (ที่ไม่น่ารำคาญ) ของกระบวนการ DAG จะช่วย ...
เกลน

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