Turing.jl
Turing.jl copied to clipboard
The chains do not converge to the same posterior
Question on: https://github.com/TuringLang/Turing.jl/edit/master/docs/_tutorials/10_BayesianDiffEq.md
So in your excellent tutorial on Bayesian Differential Equations, you first Bayesian example does not converge. Basically each chain finds it's own posterior which is distinct from the others. I would suggest setting stricter priors such that the tutorial ends up with a success. 😇
This issue is also related to TuringLang/TuringTutorials#292
@Vaibhavdixit02 I think might have some comments.
This is still an old version though (without Weave)?
Good point @DoktorMike, the last setup with Jupyter notebooks was a little messy to work with and the diffeq tutorial didn't end up how it started out. Now that the move to jmd has been made as David is saying, I'll take a stab at updating it and hopefully we'll have better results.
@cpfiffer opened PR that adds some of the updates missing in the first iteration of the transition to jmd, so you might want to wait until everything is updated.
This should be updated now here. The woven version here seems to be converging to the same posterior for more chains, though it is still not generally consistent across chains.
This should be updated now here. The woven version here seems to be converging to the same posterior for more chains, though it is still not generally consistent across chains.
@cpfiffer Nice update. The posteriors I mentioned seems more aligned now. In the SDE example the plots look scary even though the difference in the inferred value is not big (though this of course depends on the resolution requirements of the problem which I did not look into). So purely based on the plots I would say that the SDE does not converge at all. As mentioned in the tutorial this might not be the best case for NUTS.
The SDE example is not correct currently (https://github.com/TuringLang/TuringTutorials/pull/118). @mschauer and I played around with a Crank-Nicolson scheme which seemed to work quite well in a simple example: I uploaded a version with AdvancedMH only and with Turing at https://gist.github.com/devmotion/37d8d706938364eeb900bc3678860da6.
Likely fixed by https://github.com/TuringLang/TuringTutorials/pull/118