Prior-Verteilungen

Bayesianische Regressionsmodellierung mit rstanarm

Jake Thompson

Psychometrician, ATLAS, University of Kansas

Was ist eine Prior-Verteilung?

  • Wissen, das wir ins Modell mitbringen
  • Likelihood + Prior = Posterior
Bayesianische Regressionsmodellierung mit rstanarm

Bayesianische Regressionsmodellierung mit rstanarm

Prior-Verteilungen 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
Bayesianische Regressionsmodellierung mit rstanarm

Angepasste Skalen berechnen

  • Intercept: 10 * sd(y)
  • Koeffizienten: (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
Bayesianische Regressionsmodellierung mit 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
Bayesianische Regressionsmodellierung mit rstanarm

Lass uns üben!

Bayesianische Regressionsmodellierung mit rstanarm

Preparing Video For Download...