Open Red-Portal opened 5 months ago
you are right. better to call it rand_joint
or something similar
@xukai92 Are any packages within the Turing ecosystem currently dependent on MCMCDebugging.jl
at the moment? How critical are breaking changes?
nothing critical. it was only used when developing the coupled HMC methods and Riemannian HMC during the research phase
Okay. Then, I'll take my creative liberties. However, I feel that using some of these within the CI pipeline for Turing's algorithms would be useful to spot bugs like this in the future. So maybe it would be worth actually using this.
that's a good point. i remember we used to have it (Geweke test) somewhere either in Turing (e.g. https://github.com/TuringLang/Turing.jl/blob/56f64ec5909cec4a5ded4e28555c2b289020bbe1/test/skipped/hmcda_geweke.jl#L4) and it has been useful to capture bugs. but it was disabled as the primitive implementation was a bit hard to maintain. i believe this issue will go away with MCMCDebugging + MCMCTesting consolidated to a well-maintained package and hopefully all inference package could include Geweke tests
I am pretty optimistic. I have been using the newer tests in MCMCTesting
in my own works' CI workflow, and they have been surprisingly useful. I was having a very occasional test fail on an RJMCMC code, which I thought was just Type-I error, but turned out to be a veeery subtle reversibility bug (took 2 months to realize that is was indeed a bug)
Hi,
I am currently looking at the code to merge
MCMCTesting.jl
. But I found the naming ofrand_marginal
a little unusual since it seems to sample from the joint $p(x, \theta)$ but not from the marginals of $x$ or $\theta$. Is there a reason for this naming? And would it be possible to rectify this?