ArviZ: Exploratory analysis of Bayesian models

pypi Build Status Coverage Status Zenodo NumFocus

ArviZ is a Python package for exploratory analysis of Bayesian models. Includes functions for posterior analysis, data storage, 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

To install the latest development version of ArviZ, please check the Installation guide for details.

Contributions and issue reports are very welcome at the github repository. We have a contributing guide to help you through the process. If you have any doubts, please do not hesitate to contact us on gitter.

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 Edward2 is 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.

ArviZ is a non-profit project under NumFOCUS umbrella. If you want to support ArviZ financially, you can donate here.

If you use ArviZ and want to cite it please use JOSS. Here is the citation in BibTeX format

    doi = {10.21105/joss.01143},
    url = {},
    year = {2019},
    publisher = {The Open Journal},
    volume = {4},
    number = {33},
    pages = {1143},
    author = {Ravin Kumar and Colin Carroll and Ari Hartikainen and Osvaldo Martin},
    title = {ArviZ a unified library for exploratory analysis of Bayesian models in Python},
    journal = {Journal of Open Source Software}