Closed MichaelClerx closed 3 years ago
~It seems that the samples that get output are sometimes very unlikely, so might be the samples that are wrong instead of / as well as the log pdfs~
These lines in the controller might be wrong:
because they assume that, on acceptance steps, the fx
last calculated is the fx
of the accepted point. This is not necessarily the case for population MCMC, where the fx
last calculated could have been for a different chain.
On the other hand... the acceptance check probably only returns true if the updated chain was the main chain, so maybe this does work correctly?
This should be fixed in tandem with #660
Closed in #1250
This example is too elaborate, but does show it:
If you set
cheap_log_pdfs = True
it uses the log_pdfs returned by (the relatively new function)mcmc.log_pdfs()
, if you set it toFalse
it recalculates them. WithTrue
many points don't fall on the line they're supposed to.