Bayesiansk modellering med RJAGS
Alicia Johnson
Associate Professor, Macalester College

Mål:
Utforska daglig trafik på en järnvägsled i Massachusetts.
$Y_i$ = trafik på leden (antal användare) dag $i$
$ \; $
$ \;$
Modell
$Y_i \sim N(m_i, s^2)$

$Y_i$ = trafik på leden (antal användare) dag $i$
$X_i$ = 1 för vardagar, 0 för helger
Modell
$Y_i \sim N(m_i, s^2)$

$Y_i$ = trafik på leden (antal användare) dag $i$
$X_i$ = 1 för vardagar, 0 för helger
Modell
$Y_i \sim N(m_i, s^2)$

$Y_i$ = trafik på leden (antal användare) dag $i$
$X_i$ = 1 för vardagar, 0 för helger
Modell
$Y_i \sim N(m_i, s^2)$
$m_i = a + bX_i$

$Y_i$ = trafik på leden (antal användare) dag $i$
$X_i$ = 1 för vardagar, 0 för helger
Modell
$Y_i \sim N(m_i, s^2)$
$m_i = a + bX_i$

$Y_i$ = trafik på leden (antal användare) dag $i$
$X_i$ = 1 för vardagar, 0 för helger
Modell
$Y_i \sim N(m_i, s^2)$
$m_i = a + bX_i$


Typisk helgtrafik är troligen omkring 400 användare per dag, men kan vara så låg som 100 eller så hög som 700.

Vi vet inte säkert hur vardagstrafiken förhåller sig till helgtrafiken. Den kan vara högre eller lägre.

$\;$
Standardavvikelsen i trafik från dag till dag (oavsett vardag eller helg) är lika sannolik för alla värden mellan 0 och 200 användare.
$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] = helg, X[2] = vardagb har 2 nivåer: 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] = helg, X[2] = vardag b har 2 nivåer: 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] = helg,X[2] = vardag b har 2 nivåer: 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))
Bayesiansk modellering med RJAGS