การสร้างผลลัพธ์ที่ทำซ้ำได้
เมื่อผ่านการตรวจสอบ Markov chain เรียบร้อยแล้ว ก็ถึงเวลาสรุปผลการจำลองด้วย RJAGS ในขั้นตอนนี้ การสร้างผลลัพธ์ที่ทำซ้ำได้มีความสำคัญมาก หากต้องการให้ผลการจำลองออกมาเหมือนเดิมทุกครั้ง จำเป็นต้องกำหนด seed ของตัวสร้างเลขสุ่มใน RJAGS ซึ่งวิธีนี้แตกต่างจาก R พื้นฐาน แทนที่จะใช้ set.seed() ให้ระบุ seed เริ่มต้นผ่าน inits = list(.RNG.name = "base::Wichmann-Hill", .RNG.seed = ___) ตอนที่ คอมไพล์ โมเดล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างแบบจำลอง Bayesian ด้วย RJAGS
คำแนะนำการฝึกหัด
รันโค้ดที่กำหนดให้หลายครั้ง สังเกตว่าค่าสถิติจาก
summary()เปลี่ยนไปในแต่ละครั้งเพื่อให้ได้ผลลัพธ์ที่ทำซ้ำได้ ให้กำหนด
initsของตัวสร้างเลขสุ่มในjags.model()โดยตั้งค่า seed เริ่มต้นเป็น 1989รันโค้ดใหม่หลายครั้ง สังเกตว่าค่าสถิติจาก
summary()ไม่เปลี่ยนแปลงอีกต่อไป
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# COMPILE the model
sleep_jags <- jags.model(textConnection(sleep_model), data = list(Y = sleep_study$diff_3))
# SIMULATE the posterior
sleep_sim <- coda.samples(model = sleep_jags, variable.names = c("m", "s"), n.iter = 10000)
# Summarize the m and s chains of sleep_sim
summary(sleep_sim)