Prior distributions

Bayesian Regression Modeling with rstanarm

Jake Thompson

Psychometrician, ATLAS, University of Kansas

What's a prior distribution?

  • Information that we bring to the model
  • Likelihood + prior = posterior
Bayesian Regression Modeling with rstanarm

Bayesian Regression Modeling with rstanarm

Prior distributions in rstanarm

stan_model <- stan_glm(kid_score ~ mom_iq, data = kidiq)
prior_summary(stan_model)
Priors for model 'stan_model' 
 ------
Intercept (after predictors centered)
 ~ normal(location = 0, scale = 10)
     **adjusted scale = 204.11
Coefficients
 ~ normal(location = 0, scale = 2.5)
     **adjusted scale = 3.40
Auxiliary (sigma)
 ~ exponential(rate = 1)
     **adjusted scale = 20.41 (adjusted rate = 1/adjusted scale)
 ------
See help('prior_summary.stanreg') for more details
Bayesian Regression Modeling with rstanarm

Calculating adjusted scales

  • Intercept: 10 * sd(y)
  • Coefficients: (2.5 / sd(x)) * sd(y)
prior_summary(stan_model)
Priors for model 'stan_model' 
 ------
Intercept (after predictors centered)
 ~ normal(location = 0, scale = 10)
     **adjusted scale = 204.11

Coefficients
 ~ normal(location = 0, scale = 2.5)
     **adjusted scale = 3.40

 

10 * sd(kidiq$kid_score)
204.1069
(2.5 / sd(kidiq$mom_iq)) * sd(kidiq$kid_score)
3.401781
Bayesian Regression Modeling with rstanarm
no_scale <- stan_glm(kid_score ~ mom_iq, data = kidiq,
  prior_intercept = normal(autoscale = FALSE),
  prior = normal(autoscale = FALSE),
  prior_aux = exponential(autoscale = FALSE))
prior_summary(no_scale)
Priors for model 'no_scale' 
 ------
Intercept (after predictors centered)
 ~ normal(location = 0, scale = 10)

Coefficients
 ~ normal(location = 0, scale = 2.5)

Auxiliary (sigma)
 ~ exponential(rate = 1)
 ------
See help('prior_summary.stanreg') for more details
Bayesian Regression Modeling with rstanarm

Let's practice!

Bayesian Regression Modeling with rstanarm

Preparing Video For Download...