การกำหนด Prior แบบ Normal-Normal
นักวิจัยได้พัฒนาแบบทดสอบเพื่อประเมินผลกระทบของการอดนอนต่อเวลาตอบสนอง สำหรับผู้เข้ารับการทดสอบคนที่ \(i\) ให้ \(Y\)i แทน การเปลี่ยนแปลง ของเวลาตอบสนอง (หน่วยเป็น ms) หลังอดนอนติดต่อกัน 3 คืน แน่นอนว่าแต่ละคนตอบสนองต่อการอดนอนแตกต่างกัน จึงเป็นเหตุผลที่สมเหตุสมผลที่จะสมมติว่า \(Y\)i มีการแจกแจงแบบ Normal รอบ ๆ ค่า เฉลี่ย \(m\) ที่มี ส่วนเบี่ยงเบนมาตรฐาน \(s\): \(Y\)i \(\sim N(m, s^2)\)
ในขั้นตอนแรกของการวิเคราะห์แบบ Bayesian คุณจะจำลอง prior model สำหรับพารามิเตอร์ \(m\) และ \(s\) ดังนี้: \(m \sim N(50, 25^2)\) และ \(s \sim Unif(0, 200)\) ซึ่งต้องใช้ฟังก์ชัน rnorm(n, mean, sd) และ runif(n, min, max)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างแบบจำลอง Bayesian ด้วย RJAGS
คำแนะนำการฝึกหัด
- ใช้
rnorm(n, mean, sd)เพื่อสุ่มตัวอย่าง 10,000 ค่าจาก prior ของ \(m\) แล้วเก็บผลลัพธ์ไว้ในprior_m - ใช้
runif(n, min, max)เพื่อสุ่มตัวอย่าง 10,000 ค่าจาก prior ของ \(s\) แล้วเก็บผลลัพธ์ไว้ในprior_s - หลังจากเก็บผลลัพธ์ทั้งหมดไว้ใน data frame ชื่อ
samplesแล้ว ให้สร้างกราฟความหนาแน่นของตัวอย่างprior_mและกราฟความหนาแน่นของตัวอย่างprior_s
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Take 10000 samples from the m prior
# Take 10000 samples from the s prior
# Store samples in a data frame
samples <- data.frame(prior_m, prior_s)
# Density plots of the prior_m & prior_s samples
ggplot(___, aes(x = ___)) +
___()
ggplot(___, aes(x = ___)) +
___()