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

การกำหนดค่าก่อนหน้าสำหรับการถดถอย

กำหนดให้ \(Y\)i คือน้ำหนัก (หน่วย: กก.) ของบุคคล \(i\) จากการศึกษาในอดีตพบว่าน้ำหนักมีความสัมพันธ์เชิงเส้นกับส่วนสูง \(X\)i (หน่วย: ซม.) โดยน้ำหนักเฉลี่ย \(m\)i ของผู้ใหญ่ที่มีส่วนสูง \(X\)i เท่ากันสามารถเขียนได้ว่า \(m\)i \(= a + b X\)i อย่างไรก็ตาม ส่วนสูงไม่ได้เป็นตัวทำนายน้ำหนักที่สมบูรณ์แบบ เนื่องจากแต่ละบุคคลมีความแตกต่างจากแนวโน้มดังกล่าว ดังนั้นจึงมีเหตุผลเพียงพอที่จะสมมติว่า \(Y\)i มีการแจกแจงแบบปกติรอบ \(m\)i ด้วย ค่าเบี่ยงเบนมาตรฐานของส่วนที่เหลือ \(s\): \(Y\)i \(\sim N(m\)i, \(s^2)\)

โมเดลน้ำหนักตามส่วนสูงนี้มีพารามิเตอร์ทั้งหมด 3 ตัว ได้แก่ จุดตัดแกน \(a\), ความชัน \(b\) และค่าเบี่ยงเบนมาตรฐาน \(s\) ในขั้นตอนแรกของการวิเคราะห์แบบเบส์ ให้จำลองการแจกแจงก่อนหน้าสำหรับแต่ละพารามิเตอร์ดังนี้: \(a \sim N(0, 200^2)\), \(b \sim N(1, 0.5^2)\) และ \(s \sim Unif(0, 20)\)

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การสร้างแบบจำลอง Bayesian ด้วย RJAGS

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สุ่มตัวอย่างจำนวน 10,000 ครั้งจากการแจกแจงก่อนหน้าของ \(a\), \(b\) และ \(s\) แต่ละตัว แล้วกำหนดผลลัพธ์ให้กับตัวแปร a, b และ s ตามลำดับ ตัวแปรเหล่านี้จะถูกรวมไว้ใน data frame ชื่อ samples พร้อมกับ set = 1:10000 ซึ่งเป็นตัวระบุหมายเลขของการสุ่มแต่ละครั้ง
  • สร้างกราฟความหนาแน่นแยกกันสำหรับตัวอย่างของ a, b และ s

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Take 10000 samples from the a, b, & s priors
a <- ___
b <- ___
s <- ___

# Store samples in a data frame
samples <- data.frame(set = 1:10000, a, b, s)

# Construct density plots of the prior samples    
ggplot(___, aes(x = ___)) + 
    ___()
ggplot(___, aes(x = ___)) + 
    ___()
ggplot(___, aes(x = ___)) + 
    ___()
แก้ไขและรันโค้ด