Shinystan vs Bayesplot vs Arviz: lack of discussion


I make this plot as I have seen there is a lack of discussion and I think it will be great to hear from advance users and developers.

As a new user of Stan I am first looking and deciding what are the best tools available and how should I create my analysis pipeline. I am a python user so this question is for Python users (but also R). The point of this previous step before starting coding complex models in Stan is about which python tools I can use without loosing any of the good R features that some R packages provide.

For me it is clear that working with the posterior package in R is very usefull as some features like the bulk ESS are only available here (at least that is what I have understood from the recent arxiv plus googling, is that true @avehtari ?). So pipeline here is to run whatever in cmdstanpy, then load it into rstan and use posterior package.

On the other side, I am deciding which visual diagnosis tool I should use. I have seen that for python we have arviz (which serves as a common package for many PPL) , we also have shinystan ®, and we also have bayesplot ®. My question is simple: which one is the most complete ? . I have seen arviz and stan developers are working jointly to provide similar interfaces and diagnosis tools but I am not quite sure which, on the mid-long future will be the best tool and if it is expected that all tools incorporate the same “visual” analysis. Also please if I have missunderstood the usage of arviz, bayesplot and shinystan let me know, but seems like the three have same purpose.

Hope this thread is helpfull for others.


1 Like

ArviZ and posterior have similar diagnostics (ess & rhat), but interface is a bit different (Py vs R). In ArviZ the fit is transformed to InferenceData class (xarray Dataset -> “multidimensional pandas”)

ArviZ also has implemented plotting diagnostics and again bayesplot has similar plots.

There is no dashboard available yet, but we are working on that too (ArviZ).

That said, R side has great packages.


Thank you so much.

So sounds like for python users arviz is a great choice. I have just checked it has additional analysis like tail ESS which was one of the things I was looking for and one of the reasons of using posterior.

What additional R packages for MCMC diagnosis do you recommend that are not implemented in python?

I leave here the reference behind the motivation for all this:

Also if there is something missing from ArviZ create a new issue to ArviZ repo. I’ve noticed they are responsive and often quick to add new features.