reloo.brmsfit: Compute exact cross-validation for problematic observations

View source: R/reloo.R

reloo.brmsfitR Documentation

Compute exact cross-validation for problematic observations


Compute exact cross-validation for problematic observations for which approximate leave-one-out cross-validation may return incorrect results. Models for problematic observations can be run in parallel using the future package.


## S3 method for class 'brmsfit'
  k_threshold = 0.7,
  newdata = NULL,
  resp = NULL,
  check = TRUE,
  future_args = list(),

## S3 method for class 'loo'
reloo(x, fit, ...)

reloo(x, ...)



An R object of class brmsfit or loo depending on the method.


An R object of class loo.


The threshold at which Pareto k estimates are treated as problematic. Defaults to 0.7. See pareto_k_ids for more details.


An optional data.frame for which to evaluate predictions. If NULL (default), the original data of the model is used. NA values within factors are interpreted as if all dummy variables of this factor are zero. This allows, for instance, to make predictions of the grand mean when using sum coding.


Optional names of response variables. If specified, predictions are performed only for the specified response variables.


Logical; If TRUE (the default), some checks check are performed if the loo object was generated from the brmsfit object passed to argument fit.


A list of further arguments passed to future for additional control over parallel execution if activated.


Further arguments passed to update.brmsfit and log_lik.brmsfit.


An R object of class brmsfit.


Warnings about Pareto k estimates indicate observations for which the approximation to LOO is problematic (this is described in detail in Vehtari, Gelman, and Gabry (2017) and the loo package documentation). If there are J observations with k estimates above k_threshold, then reloo will refit the original model J times, each time leaving out one of the J problematic observations. The pointwise contributions of these observations to the total ELPD are then computed directly and substituted for the previous estimates from these J observations that are stored in the original loo object.


An object of the class loo.

See Also

loo, kfold


## Not run: 
fit1 <- brm(count ~ zAge + zBase * Trt + (1|patient),
            data = epilepsy, family = poisson())
# throws warning about some pareto k estimates being too high
(loo1 <- loo(fit1))
(reloo1 <- reloo(fit1, loo = loo1, chains = 1))

## End(Not run)

brms documentation built on Sept. 19, 2022, 5:06 p.m.