การพล็อตโมเดล Poisson regression
ทบทวนโครงสร้าง likelihood ของโมเดล Bayesian Poisson regression สำหรับปริมาณ \(Y\)i โดยพิจารณาสถานะวันธรรมดา \(X\)i และอุณหภูมิ \(Z\)i: \(Y\)i \(\sim Pois(l\)i) โดยที่
- \(log(l\)i\() \; = a + b \; X\)i \(+ c \; Z\)i; ดังนั้น
- \(l\)i\( \; = exp(a + b \; X\)i \(+ c \; Z\)i\()\)
ผลการจำลอง RJAGS จำนวน 10,000 iteration ของ posterior ของโมเดล ซึ่งเก็บไว้ใน poisson_sim พร้อมด้วย data frame ของผลลัพธ์ Markov chain มีอยู่ใน workspace แล้ว:
> head(poisson_chains, 2)
a b.1. b.2. c
1 5.019807 0 -0.1222143 0.01405269
2 5.018642 0 -0.1217608 0.01407691
นำผลลัพธ์เหล่านี้มาพล็อตแนวโน้ม Poisson regression ของ posterior แนวโน้มที่ไม่เป็นเส้นตรงเหล่านี้สามารถเพิ่มลงใน ggplot() ได้ด้วย stat_function() ตัวอย่างเช่น การระบุ fun = function(x){x^2} จะแสดงเส้นแนวโน้มแบบกำลังสอง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างแบบจำลอง Bayesian ด้วย RJAGS
คำแนะนำการฝึกหัด
สร้าง scatterplot ของ volume ตาม hightemp โดยมีรายละเอียดดังนี้:
- ใช้
colorเพื่อแยกความแตกต่างระหว่างวันธรรมดาและวันหยุดสุดสัปดาห์ - เพิ่มเส้นโค้งสี
redที่แสดงแนวโน้ม Poisson regression ค่าเฉลี่ย posterior \(l\)i ของความสัมพันธ์เชิงเส้นระหว่างvolumeกับhightempสำหรับวันหยุดสุดสัปดาห์:l = exp(a + c Z) - เพิ่มเส้นโค้งสี
turquoise3ที่แสดงแนวโน้ม Poisson regression ค่าเฉลี่ย posterior \(l\)i ของความสัมพันธ์เชิงเส้นระหว่างvolumeกับhightempสำหรับวันธรรมดา:l = exp((a + b.2.) + c Z)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Plot the posterior mean regression models
ggplot(___, aes(x = ___, y = ___, color = ___)) +
geom_point() +
stat_function(fun = function(x){___(mean(___) + mean(___) * x)}, color = "red") +
stat_function(fun = function(x){___(mean(___) + mean(___) + mean(___) * x)}, color = "turquoise3")