r2_loo function

LOO-adjusted R2

LOO-adjusted R2

Compute LOO-adjusted R2.

r2_loo(model, robust = TRUE, ci = 0.95, verbose = TRUE, ...) r2_loo_posterior(model, ...) ## S3 method for class 'brmsfit' r2_loo_posterior(model, verbose = TRUE, ...) ## S3 method for class 'stanreg' r2_loo_posterior(model, verbose = TRUE, ...)

Arguments

  • model: A Bayesian regression model (from brms , rstanarm , BayesFactor , etc).
  • robust: Logical, if TRUE, the median instead of mean is used to calculate the central tendency of the variances.
  • ci: Value or vector of probability of the CI (between 0 and 1) to be estimated.
  • verbose: Toggle off warnings.
  • ...: Arguments passed to r2_posterior().

Returns

A list with the Bayesian R2 value. For mixed models, a list with the Bayesian R2 value and the marginal Bayesian R2 value. The standard errors and credible intervals for the R2 values are saved as attributes.

A list with the LOO-adjusted R2 value. The standard errors and credible intervals for the R2 values are saved as attributes.

Details

r2_loo() returns an "adjusted" R2 value computed using a leave-one-out-adjusted posterior distribution. This is conceptually similar to an adjusted/unbiased R2 estimate in classical regression modeling. See r2_bayes() for an "unadjusted" R2.

Mixed models are not currently fully supported.

r2_loo_posterior() is the actual workhorse for r2_loo() and returns a posterior sample of LOO-adjusted Bayesian R2 values.

Examples

model <- suppressWarnings(rstanarm::stan_glm( mpg ~ wt + cyl, data = mtcars, chains = 1, iter = 500, refresh = 0, show_messages = FALSE )) r2_loo(model)
  • Maintainer: Daniel Lüdecke
  • License: GPL-3
  • Last published: 2025-01-15