Efficient approximate leave-one-out cross-validation (LOO) for Bayesian models fit using Markov chain Monte Carlo. The approximation uses Pareto smoothed importance sampling (PSIS), a new procedure for regularizing importance weights. As a byproduct of the calculations, we also obtain approximate standard errors for estimated predictive errors and for the comparison of predictive errors between models. The package also provides methods for using stacking and other model weighting techniques to average Bayesian predictive distributions.
E_loofunction for computing weighted expectations (means, variances, quantiles).
pareto_k_idsconvenience functions for quickly identifying problematic observations
(1, Inf)(didn't used to include 0.7)
print.looshows a table of pareto k estimates (if any k > 0.7)
compareto allow loo objects to be provided in a list rather than in
compare. We have removed the weights because they were based only on the point estimate of the elpd values ignoring the uncertainty. We are currently working on something similar to these weights that also accounts for uncertainty, which will be included in future versions of loo.
This update makes it easier for other package authors using loo to write
tests that involve running the
loo function. It also includes minor bug
fixes and additional unit tests. Highlights:
psislwfunction is called in an interactive session.
This update provides several important improvements, most notably an alternative method for specifying the pointwise log-likelihood that reduces memory usage and allows for loo to be used with larger datasets. This update also makes it easier to to incorporate loo's functionality into other packages.
functionmethods for both
waic. The matrix method provide the same functionality as in previous versions of loo (taking a log-likelihood matrix as the input). The function method allows the user to provide a function for computing the log-likelihood from the data and posterior draws (which are also provided by the user). The function method is less memory intensive and should make it possible to use loo for models fit to larger amounts of data than before.
label_pointsargument, which, if
TRUE, will label any Pareto
kpoints greater than 1/2 by the index number of the corresponding observation. The plot method also now warns about
kthat are not shown in the plot.
comparenow returns model weights and accepts more than two inputs.
options(loo.cores = NUMBER).
loo_and_waicfunction in favor of separate functions