ArviZ: Exploratory analysis of Bayesian models

Build Status Coverage Status Zenodo NumFocus

ArviZ is a Python package for exploratory analysis of Bayesian models. Includes functions for posterior analysis, sample diagnostics, model checking, and comparison.

The goal is to provide backend-agnostic tools for diagnostics and visualizations of Bayesian inference in Python, by first converting inference data into xarray objects. See here for more on xarray and ArviZ usage and here for more on InferenceData structure and specification.

Installation using pip

pip install arviz

Alternatively you can use conda-forge

conda install -c conda-forge arviz

For the latest (unstable) version

pip install git+https://github.com/arviz-devs/arviz

ArviZ’s functions work with NumPy arrays, dictionaries of arrays, xarray datasets, and has built-in support for PyMC3, PyStan, CmdStanPy, Pyro, NumPyro, emcee, and TensorFlow Probability objects. Support for PyMC4, Edward2, and Edward are on the roadmap.

A Julia wrapper, ArviZ.jl is also available. It provides built-in support for Turing.jl, CmdStan.jl, StanSample.jl and Stan.jl.

Contributions and issue reports are very welcome at the github repository.

If you use ArviZ and want to cite it please use JOSS

Here is the citation in BibTeX format

@article{arviz_2019,
        title = {{ArviZ} a unified library for exploratory analysis of {Bayesian} models in {Python}},
        author = {Kumar, Ravin and Carroll, Colin and Hartikainen, Ari and Martin, Osvaldo A.},
        journal = {The Journal of Open Source Software},
        year = {2019},
        doi = {10.21105/joss.01143},
        url = {http://joss.theoj.org/papers/10.21105/joss.01143},
}