Learn R Programming

rstanarm (version 2.21.1)

bayes_R2.stanreg: Compute a Bayesian version of R-squared or LOO-adjusted R-squared for regression models.

Description

Compute a Bayesian version of R-squared or LOO-adjusted R-squared for regression models.

Usage

# S3 method for stanreg
bayes_R2(object, ..., re.form = NULL)

# S3 method for stanreg loo_R2(object, ...)

Arguments

object

A fitted model object returned by one of the rstanarm modeling functions. See stanreg-objects.

...

Currently ignored.

re.form

For models with group-level terms, re.form is passed to posterior_epred if specified.

Value

A vector of R-squared values with length equal to the posterior sample size (the posterior distribution of R-squared).

References

Andrew Gelman, Ben Goodrich, Jonah Gabry, and Aki Vehtari (2018). R-squared for Bayesian regression models. The American Statistician, to appear. DOI: 10.1080/00031305.2018.1549100. (Journal, Preprint, Notebook)

Examples

Run this code
# NOT RUN {
fit <- stan_glm(
  mpg ~ wt + cyl, 
  data = mtcars, 
  QR = TRUE, 
  chains = 2, 
  refresh = 0
)
rsq <- bayes_R2(fit)
print(median(rsq))
hist(rsq)

loo_rsq <- loo_R2(fit)
print(median(loo_rsq))

# multilevel binomial model
if (!exists("example_model")) example(example_model)
print(example_model)
median(bayes_R2(example_model))
median(bayes_R2(example_model, re.form = NA)) # exclude group-level

# }

Run the code above in your browser using DataLab