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

การกำหนด 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 = ___)) + 
    ___()
แก้ไขและรันโค้ด