Posts by ArviZ
This is all based on the paper by Kallioinen, Paananen, Bürkner & Vehtari (2023) — "Detecting and Diagnosing Prior and Likelihood Sensitivity with Power-Scaling" doi.org/10.1007/s11222-023-10366-5
In ArviZ, 3 functions do most of the work:
psense_summary() → a table per flagging potential prior-data conflict or a weak likelihood.
plot_psense_dist() and plot_psense_quantities() → visual diagnostics showing how the posterior changes under perturbation.
ArviZ now has built-in tools for prior & likelihood sensitivity analysis via power-scaling!
Instead of fitting multiple models with different priors, you fit once and use importance sampling to approximate the effect of perturbing the prior or likelihood.
And if the existing `plot_xyz` functions just aren't cutting it, renounce them! Walk the truly ArviZian path, and unlock ArviZ's true form to forge your own unique plot from scratch. python.arviz.org/projects/plo...
For those who crave finer control: meet the plotting manager classes. They handle the unglamorous work, faceting, layout, encodings, so `plot_xyz` can stay pretty. python.arviz.org/projects/plo...
Briefly:
• 3 backends: matplotlib, bokeh, plotly.
• Many "batteries-included" plots, ready to use functions covering the most common tasks of the Bayesian workflow
• Easy and flexible syntax to customize existing plots. python.arviz.org/projects/plo...
ArviZ 1.0 brings a lot of new plotting functionality.
Check our gallery for a glimpse of what's new: python.arviz.org/projects/plo...
ArviZ 1.0 implements many new diagnostics and statistical methods; see arviz-stats.readthedocs.io/en/latest/ap... for the full list. Or read arviz-devs.github.io/EABM/ for more in-context examples.
Full xarray API: structure-aware diagnostics
• Works with labeled, xarray-based, data
• Chain/draw structure inferred automatically
• Cleaner interface for end users
This is the standard interface that you are used to.
python.arviz.org/projects/sta...
Array-only API:
• You must specify chain and draw axes
• Useful when integrating diagnostics into lightweight pipelines
python.arviz.org/projects/sta...
arviz-stats exposes two APIs:
• Full xarray API (default): intended for end users doing statistical data analysis.
• Array-only API (NumPy/SciPy): intended for PPL developers or advanced users, who want diagnostics without xarray as a dependency.
New paper out in JOSS:
“ArviZ: a modular and flexible library for exploratory analysis of Bayesian models”
It covers the design principles behind ArviZ and the motivation for the refactoring in 1.0. joss.theoj.org/papers/10.21...
ArviZ 1.0 features new state-of-the-art diagnostics, improved plotting syntax, and visualizations. Explore the docs and examples, or stay tuned for upcoming threads! python.arviz.org/projects/plo...
📦 arviz-plots has no plotting library as a dependency, but it can generate plots with matplotlib, bokeh, and/or plotly if they are installed. See arviz-plots.readthedocs.io for details
📦 arviz-stats can be used with a minimal array API (NumPy + SciPy). Ideal for PPL devs who want ArviZ diagnostics without extra deps. Or you can use the xarray API with all its bells and whistles, which is ideal for end users interested in data analysis. See arviz-stats.readthedocs.io for details.
📦 arviz-base has no I/O library as a dependency, but you can use netcdf4, h5netcdf, or zarr to read and write your data. Install only the one you need. See arviz-base.readthedocs.io for details.
You can keep installing and importing ArviZ as usual, but if needed, you can easily get more control. Functionality is now split into 3 libraries: 📦 arviz-base 📦 arviz-stats 📦 arviz-plots.
InferenceData has been replaced with xarray’s DataTree, a more flexible data structure that will still feel familiar to you python.arviz.org/en/stable/us...
ArviZ 1.0 is out! We have refactored it to be more modular, flexible & lightweight. For an overview of the changes, check the migration guide. python.arviz.org/en/stable/us...
Hello BlueSky! This is the official account for the ArviZ project. We provide FOSS tools for exploratory analysis of Bayesian models in both Python and Julia.