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'
reloo(
x,
loo = NULL,
k_threshold = 0.7,
newdata = NULL,
resp = NULL,
check = TRUE,
recompile = NULL,
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. If NULL,
brms will try to extract a precomputed loo object
from the fitted model, added there via add_criterion.
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 (excluding grouping variables) 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. NA values
within grouping variables are treated as a new level.
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.
Logical, indicating whether the Stan model should be
recompiled. This may be necessary if you are running reloo on
another machine than the one used to fit the model.
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.
An object of the class loo.
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.