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

เปรียบเทียบ Beta priors รูปแบบต่าง ๆ

การแจกแจง Beta(\(a\),\(b\)) มีโดเมนอยู่ในช่วง 0 ถึง 1 จึงเป็น prior ที่เหมาะสมและยืดหยุ่นสำหรับพารามิเตอร์สัดส่วนการสนับสนุนในการเลือกตั้ง \(p\) สามารถปรับพารามิเตอร์รูปร่าง \(a\) และ \(b\) เพื่อสร้าง prior โมเดลในรูปแบบต่าง ๆ ได้ ในแบบฝึกหัดนี้จะเปรียบเทียบ prior แบบ Beta(45,55) เดิมกับอีกสองทางเลือก ได้แก่ Beta(1, 1) และ Beta(100, 100) โดยตัวอย่าง prior_A จำนวน 10,000 ค่าที่สุ่มจาก Beta(45,55) มีอยู่ใน workspace ของคุณแล้ว

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

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

ดูคอร์ส

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

  • สุ่ม 10,000 ค่าจาก prior แบบ Beta(1,1) แล้วกำหนดผลลัพธ์ให้กับ prior_B
  • สุ่ม 10,000 ค่าจาก prior แบบ Beta(100,100) แล้วกำหนดผลลัพธ์ให้กับ prior_C
  • data frame prior_sim รวม samples ของ prior_A, prior_B และ prior_C พร้อมกับตัวบ่งชี้ priors ที่สอดคล้องกัน เพื่อสร้างกราฟความหนาแน่นด้วย ggplot() โดยแสดง prior ทั้ง 3 ชุด แยกกัน ในกราฟเดียวกัน ให้ระบุ fill = priors ใน aes()

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

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

# Sample 10000 draws from the Beta(1,1) prior
prior_B <- rbeta(n = ___, shape1 = ___, shape2 = ___)    

# Sample 10000 draws from the Beta(100,100) prior
prior_C <- rbeta(n = ___, shape1 = ___, shape2 = ___)

# Combine the results in a single data frame
prior_sim <- data.frame(samples = c(prior_A, prior_B, prior_C),
        priors = rep(c("A","B","C"), each = 10000))

# Plot the 3 priors
ggplot(___, aes(x = ___, fill = ___)) + 
    geom_density(alpha = 0.5)
แก้ไขและรันโค้ด