R: Compute exact cross-validation for problematic observations

reloo.brmsfit {brms} | R Documentation

## Compute exact cross-validation for problematic observations

### Description

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.

### Usage

    ## S3 method for class 'brmsfit'
    reloo(
      x,
      loo,
      k_threshold = 0.7,
      newdata = NULL,
      resp = NULL,
      check = TRUE,
      ...
    )

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

    reloo(x, ...)

### Arguments

`x` | An R object of class `brmsfit` or `loo` depending on the method.
`loo` | An R object of class `loo`.
`k_threshold` | The threshold at which Pareto k estimates are treated as problematic. Defaults to `0.7`. See `pareto_k_ids` for more details.
`newdata` | 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.
`resp` | Optional names of response variables. If specified, predictions are performed only for the specified response variables.
`check` | Logical; If `TRUE` (the default), some checks check are performed if the `loo` object was generated from the `brmsfit` object passed to argument `fit`.
`...` | Further arguments passed to `update.brmsfit` and `log_lik.brmsfit`.
`fit` | An R object of class `brmsfit`.

### Details

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.

### Value

An object of the class `loo`.

### See Also

`loo`, `kfold`

### Examples

    ## 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)

[Package brms version 2.16.3 Index]