Wielowymiarowa regresja bayesowska

Modelowanie bayesowskie z RJAGS

Alicia Johnson

Associate Professor, Macalester College

Modelowanie natężenia ruchu

$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$

1 Zdjęcie: commons.wikimedia.org
Modelowanie bayesowskie z RJAGS

Modelowanie natężenia ruchu wg dnia tygodnia

$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$
$X_i$ = 1 dla dni roboczych, 0 dla weekendów

$\;$

Modelowanie bayesowskie z RJAGS

Modelowanie natężenia ruchu wg temperatury

$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$
$Z_i$ = maksymalna temperatura w dniu $i$ (w $^{\circ}$F)

$\;$

Modelowanie bayesowskie z RJAGS

Modelowanie natężenia ruchu wg temperatury i dnia tygodnia

$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$
$X_i$ = 1 dla dni roboczych, 0 dla weekendów
$Z_i$ = maksymalna temperatura w dniu $i$ (w $^{\circ}$F)

$Y_i \sim N(m_i, s^2)$

$m_i = a + b X_i + c Z_i$

Weekendy: $m_i = a + c Z_i$

Dni robocze: $m_i = (a + b) + c Z_i$

Modelowanie bayesowskie z RJAGS

Modelowanie natężenia ruchu wg temperatury i dnia tygodnia

$Y_i$ = natężenie ruchu (# użytkowników) w dniu $i$
$X_i$ = 1 dla dni roboczych, 0 dla weekendów
$Z_i$ = maksymalna temperatura w dniu $i$ (w $^{\circ}$F)

$Y_i \sim N(m_i, s^2)$

$m_i = a + b X_i + c Z_i$

Weekendy: $m_i = a + c Z_i$

  Dni robocze: $m_i = (a + b) + c Z_i$

Modelowanie bayesowskie z RJAGS

Modelowanie natężenia ruchu wg temperatury i dnia tygodnia

$m_i = a + bX_i + cZ_i$

Weekendy: $m_i = a + c Z_i$

Dni robocze: $m_i = (a + b) + c Z_i$

  • $a$ = przecięcie osi Y dla weekendów
  • $a+b$ = przecięcie osi Y dla dni roboczych
  • $b$ = różnica między przecięciami osi Y dla dni roboczych i weekendów

  • $c$ = wspólne nachylenie
  • $s$ = resztowe odchylenie standardowe
Modelowanie bayesowskie z RJAGS

Rozkłady a priori dla $a$ i $b$

Nie mamy pewności co do przecięcia osi Y dla zależności między temperaturą a natężeniem ruchu w weekendy.

Nie mamy pewności, jak typowe natężenie ruchu wypada w dni robocze w porównaniu z weekendami przy podobnej temperaturze.

Modelowanie bayesowskie z RJAGS

Rozkłady a priori dla $c$ i $s$

Zarówno w dni robocze, jak i w weekendy, nie mamy pewności co do związku między natężeniem ruchu a temperaturą.

Typowe odchylenie od trendu może wynosić równie prawdopodobnie od 0 do 200 użytkowników.

Modelowanie bayesowskie z RJAGS

Bayesowski model natężenia ruchu wg dnia tygodnia

$Y_i \sim N(m_i, s^2)$
$m_i = a + b X_i + c Z_i$
$a \sim N(0, 200^2)$
$b \sim N(0, 200^2)$
$c \sim N(0, 20^2)$
$s \sim \text{Unif}(0, 200)$

Modelowanie bayesowskie z RJAGS

DEFINIOWANIE modelu bayesowskiego w RJAGS

$Y_i \sim N(m_i, s^2)$
$m_i = a + b X_i + c Z_i$
$a \sim N(0, 200^2)$
$b \sim N(0, 200^2)$
$c \sim N(0, 20^2)$
$s \sim \text{Unif}(0, 200)$

rail_model_2 <- "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]] + c * Z[i]
  }

  # Prior models for a, b, c, s
  a ~ dnorm(0, 200^(-2))
  b[1] <- 0
  b[2] ~ dnorm(0, 200^(-2))
  c ~ dnorm(0, 20^(-2))
  s ~ dunif(0, 200)
}"  
Modelowanie bayesowskie z RJAGS

Czas na ćwiczenia!

Modelowanie bayesowskie z RJAGS

Preparing Video For Download...