Задание априорных распределений

Байесовское регрессионное моделирование с rstanarm

Jake Thompson

Psychometrician, ATLAS, University of Kansas

Зачем менять априорное распределение по умолчанию?

  • Обоснованное предположение о значении параметра
  • Ограничения на параметр
Байесовское регрессионное моделирование с rstanarm

Задание априорного распределения

stan_model <- stan_glm(kid_score ~ mom_iq, data = kidiq,
  prior_intercept = normal(location = 0, scale = 10),
  prior = normal(location = 0, scale = 2.5),
  prior_aux = exponential(rate = 1)
)
Байесовское регрессионное моделирование с rstanarm

Задание априорного распределения

stan_model <- stan_glm(kid_score ~ mom_iq, data = kidiq,
  prior_intercept = normal(location = 0, scale = 10, autoscale = FALSE),
  prior = normal(location = 0, scale = 2.5, autoscale = FALSE),
  prior_aux = exponential(rate = 1, autoscale = FALSE)
)
Байесовское регрессионное моделирование с rstanarm

Задание априорного распределения

stan_model <- stan_glm(kid_score ~ mom_iq, data = kidiq,
  prior_intercept = normal(location = 3, scale = 2),
  prior = cauchy(location = 0, scale = 1))
  • Доступно множество различных распределений
    • normal()
    • exponential()
    • student_t()
    • cauchy()
  • ?priors
Байесовское регрессионное моделирование с rstanarm

Плоские априорные распределения

stan_model <- stan_glm(kid_score ~ mom_iq, data = kidiq,
  prior_intercept = NULL,
  prior = NULL,
  prior_aux = NULL)
prior_summary(stan_model)
Priors for model 'stan_model' 
 ------
Intercept (after predictors centered)
 ~ flat

Coefficients
 ~ flat

Auxiliary (sigma)
 ~ flat
 ------
See help('prior_summary.stanreg') for more details
Байесовское регрессионное моделирование с rstanarm

Давайте потренируемся!

Байесовское регрессионное моделирование с rstanarm

Preparing Video For Download...