Modelowanie bayesowskie z RJAGS
Alicia Johnson
Associate Professor, Macalester College

Cel:
Analiza dziennego natężenia ruchu na ścieżce rowerowej w Massachusetts.
$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$
$ \; $
$ \;$
Model
$Y_i \sim N(m_i, s^2)$

$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$
$X_i$ = 1 dla dni roboczych, 0 dla weekendów
Model
$Y_i \sim N(m_i, s^2)$

$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$
$X_i$ = 1 dla dni roboczych, 0 dla weekendów
Model
$Y_i \sim N(m_i, s^2)$

$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$
$X_i$ = 1 dla dni roboczych, 0 dla weekendów
Model
$Y_i \sim N(m_i, s^2)$
$m_i = a + bX_i$

$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$
$X_i$ = 1 dla dni roboczych, 0 dla weekendów
Model
$Y_i \sim N(m_i, s^2)$
$m_i = a + bX_i$

$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$
$X_i$ = 1 dla dni roboczych, 0 dla weekendów
Model
$Y_i \sim N(m_i, s^2)$
$m_i = a + bX_i$


Typowe natężenie ruchu w weekendy wynosi najprawdopodobniej około 400 użytkowników dziennie, ale może sięgać od 100 do 700.

Natężenie ruchu w dni robocze w porównaniu z weekendami jest niepewne – może być wyższe lub niższe.

$\;$
Odchylenie standardowe natężenia ruchu z dnia na dzień (w dni robocze i weekendy) jest jednakowo prawdopodobne dla dowolnej wartości od 0 do 200 użytkowników.
$Y_i \sim N(m_i, s^2)$
$m_i = a + b X_i$
$a \sim N(400, 100^2)$
$b \sim N(0, 200^2)$
$s \sim \text{Unif}(0, 200)$

$Y_i \sim N(m_i, s^2)$
$m_i = a + b X_i$
$a \sim N(400, 100^2)$
$b \sim N(0, 200^2)$
$s \sim \text{Unif}(0, 200)$
rail_model_1 <- "model{
# Likelihood model for Y[i]
# Prior models for a, b, s
}"
$Y_i \sim N(m_i, s^2)$
$m_i = a + b X_i$
$a \sim N(400, 100^2)$
$b \sim N(0, 200^2)$
$s \sim \text{Unif}(0, 200)$
rail_model_1 <- "model{
# Likelihood model for Y[i]
for(i in 1:length(Y)) {
Y[i] ~ dnorm(m[i], s^(-2))
}
# Prior models for a, b, s
a ~ dnorm(400, 100^(-2))
s ~ dunif(0, 200)
}"
m[i] <- a + b[X[i]]
X[1] = weekend, X[2] = dzień roboczyb ma 2 poziomy: b[1], b[2] m[i] <- a + b[1]rail_model_1 <- "model{
# Likelihood model for Y[i]
for(i in 1:length(Y)) {
Y[i] ~ dnorm(m[i], s^(-2))
m[i] <- a + b[X[i]]
}
# Prior models for a, b, s
a ~ dnorm(400, 100^(-2))
s ~ dunif(0, 200)
}"
m[i] <- a + b[X[i]]
X[1] = weekend, X[2] = dzień roboczy b ma 2 poziomy: b[1], b[2]m[i] <- a + b[1]b[1] <- 0rail_model_1 <- "model{
# Likelihood model for Y[i]
for(i in 1:length(Y)) {
Y[i] ~ dnorm(m[i], s^(-2))
m[i] <- a + b[X[i]]
}
# Prior models for a, b, s
a ~ dnorm(400, 100^(-2))
s ~ dunif(0, 200)
b[1] <- 0
}"
m[i] <- a + b[X[i]]
X[1] = weekend, X[2] = dzień roboczy b ma 2 poziomy: b[1], b[2] m[i] <- a + b[1]b[1] <- 0 m[i] <- a + b[2]rail_model_1 <- "model{
# Likelihood model for Y[i]
for(i in 1:length(Y)) {
Y[i] ~ dnorm(m[i], s^(-2))
m[i] <- a + b[X[i]]
}
# Prior models for a, b, s
a ~ dnorm(400, 100^(-2))
s ~ dunif(0, 200)
b[1] <- 0
b[2] ~ dnorm(0, 200^(-2))
}"
b[2] ~ dnorm(0, 200^(-2))
Modelowanie bayesowskie z RJAGS