多變量貝氏迴歸

使用 RJAGS 的貝氏建模

Alicia Johnson

Associate Professor, Macalester College

建模流量

$Y_i$ = 第 $i$ 天步道流量(使用者數)

1 Photo courtesy commons.wikimedia.org
使用 RJAGS 的貝氏建模

以平日狀態建模流量

$Y_i$ = 第 $i$ 天步道流量(使用者數)
$X_i$ = 平日為 1,週末為 0

$\;$

使用 RJAGS 的貝氏建模

以溫度建模流量

$Y_i$ = 第 $i$ 天步道流量(使用者數)
$Z_i$ = 第 $i$ 天最高溫($^{\circ}$F)

$\;$

使用 RJAGS 的貝氏建模

以溫度與平日狀態建模流量

$Y_i$ = 第 $i$ 天步道流量(使用者數)
$X_i$ = 平日為 1,週末為 0
$Z_i$ = 第 $i$ 天最高溫($^{\circ}$F)

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

$m_i = a + b X_i + c Z_i$

週末: $m_i = a + c Z_i$

平日: $m_i = (a + b) + c Z_i$

使用 RJAGS 的貝氏建模

以溫度與平日狀態建模流量

$Y_i$ = 第 $i$ 天步道流量(使用者數)
$X_i$ = 平日為 1,週末為 0
$Z_i$ = 第 $i$ 天最高溫($^{\circ}$F)

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

$m_i = a + b X_i + c Z_i$

週末: $m_i = a + c Z_i$

  平日: $m_i = (a + b) + c Z_i$

使用 RJAGS 的貝氏建模

以溫度與平日狀態建模流量

$m_i = a + bX_i + cZ_i$

週末: $m_i = a + c Z_i$

平日: $m_i = (a + b) + c Z_i$

  • $a$ = 週末 y 截距
  • $a+b$ = 平日 y 截距
  • $b$ = 平日與週末 y 截距之差

  • $c$ = 共同斜率
  • $s$ = 殘差標準差
使用 RJAGS 的貝氏建模

$a$ 與 $b$ 的先驗分佈

對「溫度與週末流量」關係的 y 截距沒有把握。

對「相同溫度下平日與週末的典型流量差異」沒有把握。

使用 RJAGS 的貝氏建模

$c$ 與 $s$ 的先驗分佈

不論平日或週末,我們對「步道流量與溫度」的關聯性沒有把握。

相對趨勢的典型偏差在 0 到 200 位使用者之間皆同樣可能。

使用 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)$

使用 RJAGS 的貝氏建模

在 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)
}"  
使用 RJAGS 的貝氏建模

一起來練習吧!

使用 RJAGS 的貝氏建模

Preparing Video For Download...