ArviZ
Python package
From Wikipedia, the free encyclopedia
ArviZ (/ˈɑːrvɪz/ AR-vees) is a Python package for exploratory analysis of Bayesian models.[2][3][4][5] It is specifically designed to work with the output of probabilistic programming libraries like PyMC, Stan, and others by providing a set of tools for summarizing and visualizing the results of Bayesian inference in a convenient and informative way. ArviZ also provides a common data structure for manipulating and storing data commonly arising in Bayesian analysis, like posterior samples or observed data.
| ArviZ | |
|---|---|
| Original author | ArviZ Development Team |
| Initial release | July 21, 2018 |
| Stable release | |
| Written in | Python |
| Operating system | Unix-like, Mac OS X, Microsoft Windows |
| Platform | Intel x86 – 32-bit, x64 |
| Type | Statistical package |
| License | Apache License, Version 2.0 |
| Website | python |
| Repository | github |
ArviZ is an open source project, developed by the community and is an affiliated project of NumFOCUS.[6] and it has been used to help interpret inference problems in several scientific domains, including astronomy,[7] neuroscience,[8] physics[9] and statistics.[10][11]
Etymology
The ArviZ name is derived from reading "rvs" (the short form of random variates) as a word instead of spelling it and also using the particle "viz" usually used to abbreviate visualization.
Exploratory analysis of Bayesian models
When working with Bayesian models there are a series of related tasks that need to be addressed besides inference itself:
- Diagnoses of the quality of the inference, this is needed when using numerical methods such as Markov chain Monte Carlo techniques
- Model criticism, including evaluations of both model assumptions and model predictions
- Comparison of models, including model selection or model averaging
- Preparation of the results for a particular audience
All these tasks are part of the Exploratory analysis of Bayesian models approach, and successfully performing them is central to the iterative and interactive modeling process. These tasks require both numerical and visual summaries.[12][13][14][15]
Library features
- InferenceData object for Bayesian data manipulation. This object is based on xarray
- Plots using two alternative backends matplotlib or bokeh
- Numerical summaries and diagnostics for Markov chain Monte Carlo methods.
- Integration with established probabilistic programming languages including; CmdStanPy (the Python interface of Stan), PyMC,[16] Edward[17] Pyro,[18] and easily integrated with novel or bespoke Bayesian analyses. ArviZ is also available in Julia, using the ArviZ.jl interface