Skip to content
forked from avehtari/PSIS

Pareto smoothed importance sampling (PSIS) and PSIS leave-one-out cross-validation for Python and Matlab/Octave

License

Notifications You must be signed in to change notification settings

lichili233/PSIS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pareto smoothed importance sampling (PSIS) and PSIS leave-one-out cross-validation reference code

Introduction

These files implement Pareto smoothed importance sampling (PSIS) and PSIS leave-one-out cross-validation for Matlab/Octave and Python (Python port made by Tuomas Sivula).

Corresponding R code in loo package

The corresponding R code can be found in the loo R package, which is also available from CRAN.

Python code in ArviZ

ArviZ package for exploratory analysis of Bayesian models available in PyPI has corresponding loo and psislw functions (see ArviZ API reference).

Contents

Matlab/Octave code in 'm' folder

  • 'psislw.m' - Pareto smoothing of the log importance weights
  • 'psisloo.m' - Pareto smoothed importance sampling leave-one-out log predictive densities
  • 'gpdfitnew.m' - Estimate the paramaters for the Generalized Pareto Distribution
  • 'sumlogs.m' - Sum of vector where numbers are represented by their logarithms

Python module in 'py' folder

  • 'psis.py' - Includes the following functions in a Python (Numpy) module
    • psislw - Pareto smoothing of the log importance weights
    • psisloo - Pareto smoothed importance sampling leave-one-out log predictive densities
    • gpdfitnew - Estimate the paramaters for the Generalized Pareto Distribution
    • gpinv - Inverse Generalised Pareto distribution function.
    • sumlogs - Sum of vector where numbers are represented by their logarithms

References

  • Aki Vehtari, Andrew Gelman and Jonah Gabry (2017). Practical Bayesian model evaluation using leave-one-out cross-validation and WAIC. Statistics and Computing, 27(5):1413–1432. doi:10.1007/s11222-016-9696-4. arXiv preprint arXiv:1507.04544
  • Aki Vehtari, Andrew Gelman and Jonah Gabry (2016). Pareto smoothed importance sampling. arXiv preprint arXiv:1507.02646
  • Jin Zhang & Michael A. Stephens (2009) A New and Efficient Estimation Method for the Generalized Pareto Distribution, Technometrics, 51:3, 316-325, DOI: 10.1198/tech.2009.08017

About

Pareto smoothed importance sampling (PSIS) and PSIS leave-one-out cross-validation for Python and Matlab/Octave

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 47.3%
  • MATLAB 46.1%
  • Stan 6.6%