RJAGS によるベイズモデリング
Alicia Johnson
Associate Professor, Macalester College
$Y$ = ある日のボリューム(ユーザー数)
$Y \sim N(m, s^2)$
技術的な問題点:

$Y$ = ある日のボリューム(ユーザー数)
$Y \sim \text{Pois}(l)$
$Y$ は固定区間内に発生する独立事象の数(0, 1, 2,...)。
レートパラメータ $l$ は単位時間あたりの典型的な事象数を表す
($l > 0$)。

$Y$ = ある日のボリューム(ユーザー数)
$Y \sim \text{Pois}(l)$
$Y$ は固定区間内に発生する独立事象の数(0, 1, 2,...)。
レートパラメータ $l$ は単位時間あたりの典型的な事象数を表す
($l > 0$)。

$Y$ = ある日のボリューム(ユーザー数)
$Y \sim \text{Pois}(l)$
$Y$ は固定区間内に発生する独立事象の数(0, 1, 2,...)。
レートパラメータ $l$ は単位時間あたりの典型的な事象数を表す
($l > 0$)。

$Y$ = ある日のボリューム(ユーザー数)
$Y \sim \text{Pois}(l)$
$Y$ は固定区間内に発生する独立事象の数(0, 1, 2,...)。
レートパラメータ $l$ は単位時間あたりの典型的な事象数を表す
($l > 0$)。

$Y_i \sim \text{Pois}(l_i)$ ($l_i > 0$)

$Y_i \sim \text{Pois}(l_i)$ ($l_i > 0$)
$l_i = a + b X_i + c Z_i$
$\;$

$Y_i \sim \text{Pois}(l_i)$ ($l_i > 0$)
$l_i = a + b X_i + c Z_i$
$\;$
問題点:
$l_i$ を線形モデルに直接リンクすると、$l_i$ が負になり得る。

$Y_i \sim \text{Pois}(l_i)$ ($l_i > 0$)
$log(l_i) = a + b X_i + c Z_i$
$\;$
解決策:
対数リンク関数を使って $l_i$ を線形モデルにリンクする。その結果:
$$l_i = e^{a + b X_i + c Z_i}$$

$Y_i \sim \text{Pois}(l_i)$ ($l_i > 0$)
$log(l_i) = a + b X_i + c Z_i$
$\;$
解決策:
対数リンク関数を使って $l_i$ を線形モデルにリンクする。その結果:
$$l_i = e^{a + b X_i + c Z_i}$$

$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
}"
$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))
}"
$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))
}"
$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))
}"
$Y \sim \text{Pois}(l_i)$
RJAGS によるベイズモデリング