tpapp / MCMCDiagnostics.jl

Markov Chain Monte Carlo convergence diagnostics in Julia
Other
21 stars 6 forks source link

Proposed merger with Turing and ArviZ diagnostics #9

Closed sethaxen closed 3 years ago

sethaxen commented 3 years ago

Hi! Recently the Turing and ArviZ teams joined forces to implement a unified, as-lightweight-as-possible implementation of diagnostics for MCMC-generated samples. We started with MCMCChains's collection of diagnostics and are harmonizing them with ArviZ's own collection and simplifying them all in https://github.com/devmotion/InferenceDiagnostics.jl. They will ultimately be transferred to the @arviz-devs org to be community-maintained as part of the ArviZ project, whose focus is exploratory analysis of Bayesian models. The goal is that these diagnostics can be used directly by users, but also that they can serve as building blocks or methods-to-be-overloaded by developers of Julia PPLs and ArviZ.jl.

Ideally there would be just one such collection of diagnostics, and the package would be called MCMCDiagnostics. But clearly, that name is taken. 🙂 Our collection of diagnostics is a superset of the ones you have implemented here, but as a result, our package is not as lightweight. We were wondering if you would be open to a merger of our packages, followed by the transfer to the ArviZ organization (with you of course still a maintainer). We get the package name, your package gets implementations of more diagnostics (including the recent improvements to R-hat and ESS by Vehtari et al), and the Julia community gets one clear go-to resource for diagnosing problems with their MCMC samplers.

cc @yebai, @devmotion

tpapp commented 3 years ago

Thanks for the heads-up. I am on holiday, and will look at the packages you mentioned when I get back (next week).

tpapp commented 3 years ago

I looked at all the packages you mention. They are really nice, but I think I would like to keep this one lightweight (I use it for my own work), so I am unwilling to transfer the name for other purposes.

I am happy to mention the packages above in the README of this package, so that people who need that kind of functionality can find them readily. Just make a PR.