เปรียบเทียบ 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)