Efficient Leave-One-Out Cross-Validation and WAIC for Bayesian Models

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.


loo 1.1.0

  • Introduce the E_loo function for computing weighted expectations (means, variances, quantiles).

loo 1.0.0

  • pareto_k_table and pareto_k_ids convenience functions for quickly identifying problematic observations
  • pareto k values now grouped into (-Inf, 0.5], (0.5, 0.7], (0.7, 1], (1, Inf) (didn't used to include 0.7)
  • warning messages are now issued by psislw instead of print.loo
  • print.loo shows a table of pareto k estimates (if any k > 0.7)
  • Add argument to compare to allow loo objects to be provided in a list rather than in '...'
  • Update references to point to published paper

loo 0.1.6

  • GitHub repository moved from @jgabry to @stan-dev
  • Better error messages from extract_log_lik
  • Fix example code in vignette (thanks to GitHub user @krz)

loo 0.1.5

  • Add warnings if any p_waic estimates are greather than 0.4
  • Improve line coverage of tests to 100%
  • Update references in documentation
  • Remove model weights from compare.
    In previous versions of loo model weights were also reported by 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.

loo 0.1.4

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:

  • Don't call functions from parallel package if cores=1.
  • Return entire vector/matrix of smoothed weights rather than a summary statistic when psislw function is called in an interactive session.
  • Test coverage > 80%

loo 0.1.3

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.

  • Add Ben Goodrich as contributor
  • S3 generics and matrix and function methods for both loo and 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.
  • Separate plot and print methods. plot also provides label_points argument, which, if TRUE, will label any Pareto k points greater than 1/2 by the index number of the corresponding observation. The plot method also now warns about Inf/NA/NaN values of k that are not shown in the plot.
  • compare now returns model weights and accepts more than two inputs.
  • Allow setting number of cores using options(loo.cores = NUMBER).

loo 0.1.2

  • Updates names in package to reflect name changes in the accompanying paper.

loo 0.1.1

  • Better handling of special cases
  • Deprecates loo_and_waic function in favor of separate functions loo and waic
  • Deprecates loo_and_waic_diff. Use compare instead.

loo 0.1.0

  • Initial release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.0.0 by Jonah Gabry, a month ago

http://mc-stan.org, http://discourse.mc-stan.org

Report a bug at https://github.com/stan-dev/loo/issues

Browse source code at https://github.com/cran/loo

Authors: Aki Vehtari [aut], Andrew Gelman [aut], Jonah Gabry [cre, aut], Yuling Yao [aut], Juho Piironen [ctb], Ben Goodrich [ctb]

Documentation:   PDF Manual  

GPL (>= 3) license

Imports graphics, matrixStats, parallel, stats

Suggests bayesplot, knitr, rmarkdown, rstan, rstanarm, rstantools, testthat

Imported by MixSIAR, beanz, blavaan, brms, ggdmc, hBayesDM, nauf, projpred, rstanarm, rstansim.

Depended on by evidence.

Suggested by CopulaDTA, bayesplot, idealstan, psycho, rstan, rstantools.

See at CRAN