Poisson regression

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

Alicia Johnson

Associate Professor, Macalester College

โครงสร้าง Likelihood แบบ Normal

$Y$ = ปริมาณ (จำนวนผู้ใช้) ในวันหนึ่ง
$Y \sim N(m, s^2)$

ในทางเทคนิค...

  • โมเดล Normal สมมติว่า $Y$ มีสเกลต่อเนื่องและเป็นค่าลบได้
  • แต่ $Y$ คือจำนวนนับแบบไม่ต่อเนื่องและเป็นค่าลบไม่ได้

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

โมเดล Poisson

$Y$ = ปริมาณ (จำนวนผู้ใช้) ในวันหนึ่ง
$Y \sim \text{Pois}(l)$

  • $Y$ คือจำนวนเหตุการณ์อิสระที่เกิดขึ้นในช่วงเวลาคงที่ (0, 1, 2,...)

  • พารามิเตอร์อัตรา $l$ แทนจำนวนเหตุการณ์โดยทั่วไปต่อช่วงเวลา
    ($l > 0$)

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

โมเดล Poisson

$Y$ = ปริมาณ (จำนวนผู้ใช้) ในวันหนึ่ง
$Y \sim \text{Pois}(l)$

  • $Y$ คือจำนวนเหตุการณ์อิสระที่เกิดขึ้นในช่วงเวลาคงที่ (0, 1, 2,...)

  • พารามิเตอร์อัตรา $l$ แทนจำนวนเหตุการณ์โดยทั่วไปต่อช่วงเวลา
    ($l > 0$)

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

โมเดล Poisson

$Y$ = ปริมาณ (จำนวนผู้ใช้) ในวันหนึ่ง
$Y \sim \text{Pois}(l)$

  • $Y$ คือจำนวนเหตุการณ์อิสระที่เกิดขึ้นในช่วงเวลาคงที่ (0, 1, 2,...)

  • พารามิเตอร์อัตรา $l$ แทนจำนวนเหตุการณ์โดยทั่วไปต่อช่วงเวลา
    ($l > 0$)

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

โมเดล Poisson

$Y$ = ปริมาณ (จำนวนผู้ใช้) ในวันหนึ่ง
$Y \sim \text{Pois}(l)$

  • $Y$ คือจำนวนเหตุการณ์อิสระที่เกิดขึ้นในช่วงเวลาคงที่ (0, 1, 2,...)

  • พารามิเตอร์อัตรา $l$ แทนจำนวนเหตุการณ์โดยทั่วไปต่อช่วงเวลา
    ($l > 0$)

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

Poisson regression

$Y_i \sim \text{Pois}(l_i)$ โดยที่ $l_i > 0$

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

Poisson regression

$Y_i \sim \text{Pois}(l_i)$ โดยที่ $l_i > 0$

$l_i = a + b X_i + c Z_i$

$\;$

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

Poisson regression

$Y_i \sim \text{Pois}(l_i)$ โดยที่ $l_i > 0$

$l_i = a + b X_i + c Z_i$

$\;$

ปัญหาที่พบ:
การเชื่อม $l_i$ กับโมเดลเชิงเส้นโดยตรงทำให้ $l_i$ มีค่าติดลบได้

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

Poisson regression

$Y_i \sim \text{Pois}(l_i)$ โดยที่ $l_i > 0$

$log(l_i) = a + b X_i + c Z_i$

$\;$

วิธีแก้ปัญหา:
ใช้ ฟังก์ชันเชื่อม แบบ log เพื่อเชื่อม $l_i$ กับโมเดลเชิงเส้น ดังนั้น:

$$l_i = e^{a + b X_i + c Z_i}$$

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

Poisson regression

$Y_i \sim \text{Pois}(l_i)$ โดยที่ $l_i > 0$

$log(l_i) = a + b X_i + c Z_i$

$\;$

วิธีแก้ปัญหา:
ใช้ ฟังก์ชันเชื่อม แบบ log เพื่อเชื่อม $l_i$ กับโมเดลเชิงเส้น ดังนั้น:

$$l_i = e^{a + b X_i + c Z_i}$$

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

Poisson regression ใน RJAGS

$Y_i \sim \text{Pois}(l_i)$
$log(l_i) = a + b X_i + c Z_i$
$a \sim N(0, 200^2)$
$b \sim N(0, 2^2)$
$c \sim N(0, 2^2)$

poisson_model <- "model{
  # Likelihood model for Y[i]





  # Prior models for a, b, c




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

Poisson regression ใน RJAGS

$Y_i \sim \text{Pois}(l_i)$
$log(l_i) = a + b X_i + c Z_i$
$a \sim N(0, 200^2)$
$b \sim N(0, 2^2)$
$c \sim N(0, 2^2)$

poisson_model <- "model{
  # Likelihood model for Y[i]





  # Prior models for a, b, c
  a ~ dnorm(0, 200^(-2))
  b[1] <- 0
  b[2] ~ dnorm(0, 2^(-2))
  c ~ dnorm(0, 2^(-2))
}"
การสร้างแบบจำลอง Bayesian ด้วย RJAGS

Poisson regression ใน RJAGS

$Y_i \sim \text{Pois}(l_i)$
$log(l_i) = a + b X_i + c Z_i$
$a \sim N(0, 200^2)$
$b \sim N(0, 2^2)$
$c \sim N(0, 2^2)$

poisson_model <- "model{
  # Likelihood model for Y[i]
  for(i in 1:length(Y)) {
   Y[i] ~ dpois(l[i])

  }

  # Prior models for a, b, c
  a ~ dnorm(0, 200^(-2))
  b[1] <- 0
  b[2] ~ dnorm(0, 2^(-2))
  c ~ dnorm(0, 2^(-2))
}"
การสร้างแบบจำลอง Bayesian ด้วย RJAGS

Poisson regression ใน RJAGS

$Y_i \sim \text{Pois}(l_i)$
$log(l_i) = a + b X_i + c Z_i$
$a \sim N(0, 200^2)$
$b \sim N(0, 2^2)$
$c \sim N(0, 2^2)$

poisson_model <- "model{
  # Likelihood model for Y[i]
  for(i in 1:length(Y)) {
   Y[i] ~ dpois(l[i])
   log(l[i]) <- a + b[X[i]] + c*Z[i]
  }

  # Prior models for a, b, c
  a ~ dnorm(0, 200^(-2))
  b[1] <- 0
  b[2] ~ dnorm(0, 2^(-2))
  c ~ dnorm(0, 2^(-2))
}"
การสร้างแบบจำลอง Bayesian ด้วย RJAGS

ข้อควรระวัง

$Y \sim \text{Pois}(l_i)$

  • สมมติฐาน: ในวันที่อุณหภูมิและสถานะวันสัปดาห์ใกล้เคียงกัน ความแปรปรวนของ $Y_i$ เท่ากับค่าเฉลี่ยของ $Y_i$
  • ข้อมูลของเราแสดงสัญญาณของ overdispersion — ความแปรปรวนสูงกว่าค่าเฉลี่ย
  • แม้ไม่สมบูรณ์แบบ โมเดลนี้ก็เป็นจุดเริ่มต้นที่ใช้ได้
การสร้างแบบจำลอง Bayesian ด้วย RJAGS

มาฝึกกันเถอะ!

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

Preparing Video For Download...