เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสร้างผลลัพธ์ที่ทำซ้ำได้

เมื่อผ่านการตรวจสอบ 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)
แก้ไขและรันโค้ด