Metropolis Algorithm and Bayesian posterior sampling
efavdb.com
efavdb.com
> The M(RT)2 algorithm is very simple and powerful; it can be used to sample essentially any distribution function regardless of analytic complexity in any number of dimensions. Complementary disadvantages are that sampling is correct only asymptotically and that successive variables produced are correlated, often very strongly. This means that the evaluation of integrals normally produces positive correlations in the values of the integrand, with consequent increase in variance for a fixed number of steps as compared with independent samples. Also the method is not well suited to sampling distributions with parameters that change frequently.
Doing PCA across frames basically eliminates that. IIRC Pixar did a paper on the technique.
https://renderman.pixar.com/view/denoiser
PCA would be one way to do that. This recent paper suggests that they may be decomposing the samples mostly by path type, though:
https://www.disneyresearch.com/publication/pathspace-decompo...
https://facweb.cs.byu.edu/graphics/publications/metropolisTu...
Thinning is a good idea if the samples are strongly correlated, and the computation to process them all would be better spent on running the chain for longer. Or if you don't know what computation you want in advance, and you can't afford to store everything.
(Also, as someone points out in the comments, the implementation of the Metropolis algorithm in this post is wrong.)
https://github.com/CamDavidsonPilon/Probabilistic-Programmin...
- Information Theory, Inference and Learning Algorithms Textbook by David J. C. MacKay (free pdf: http://www.inference.phy.cam.ac.uk/itila/)
Other things:
- (the already mentioned http://camdavidsonpilon.github.io/Probabilistic-Programming-...)
- https://github.com/markdregan/Bayesian-Modelling-in-Python (a practical introduction to PyMC3)
source: I TA'd a course in Data analysis, primarily bayesian, that used that as the textbook.