Monte Carlo Method

This page contains resources about Monte Carlo Methods,  Monte Carlo Inference, Sampling Methods, Stochastic Methods, Stochastic Simulation, Systems Simulation and Computational Modelling.

These methods have no connection with a particular statistical paradigm (e.g. Frequentist or Bayesian) since the earliest implementations of these methods were unrelated to Statistics. Their application in Statistical Inference and Statistical Signal Processing is more recent.

Sampling is used in the Statistical sense, not to be confused with the Signal Processing sense.

Filtering is not to be confused with filter in Signal Processing.

Subfields and Concepts

 * Monte Carlo techniques
 * Mean Field Particle Methods
 * Particle Filtering / Sequential Monte Carlo (SMC)
 * Kalman Filtering
 * Importance Sampling
 * Sequential Importance Sampling
 * Sequential Importance Resampling
 * Rejection Sampling
 * Rao-Blackwellised Particle Filtering (RBPF)
 * Markov Chain Monte Carlo (MCMC)
 * Gibbs Sampling
 * Metropolis–Hastings (MH) Algorithm
 * MH-in-Gibbs / Variable-at-a-time / Metropolis-within-Gibbs / MH-within-Gibbs
 * Hybrid / Hamiltonian Monte Carlo (HMC)
 * No-U-Turn Sampler (NUTS)
 * Simulated Annealing
 * Annealed Importance Sampling
 * Cross-entropy (CE) Method
 * Variance Reductions Techniques (VRT)
 * Antithetic Variables
 * Control variates / Regression sampling
 * Importance Sampling
 * Stratified Sampling
 * Low-discrepancy Sequences / Quasi-random Sequences / Sub-random Sequences
 * Simulation and Computational Modelling
 * Estimation Theory / Parameter Estimation
 * Stochastic Optimization
 * Model fitting
 * Model selection and evaluation
 * Uncertainty and Sensitivity Analysis

Video Lectures

 * Monte Carlo Simulation for Statistical Inference, Model Selection and Decision Making by Nando de Freitas - VideoLectures.NET
 * Sequential Monte-Carlo Methods by Arnaud Doucet and Nando de Freitas - VideoLectures.NET
 * MCMC Learning by Varun Kanade - VideoLectures.NET
 * Markov Chain Monte Carlo by Ian Murray - VideoLectures.NET
 * Computational Methods in Aerospace Engineering by Karen Willcox and Qiqi Wang - MIT
 * Monte Carlo Simulation with Python by Harrison Kinsley

Lecture Notes

 * Monte Carlo Methods by Michael Mascagni
 * Monte Carlo Methods by Jeffrey S. Rosenthal
 * Simulation Methods by Alan Genz
 * Stochastic Simulation by Elad Hazan
 * Statistical Computing - Monte Carlo Methods by Arnaud Doucet
 * Systems Simulation by Hossein Arsham
 * Advanced Computational Methods in Statistics by Alex Gandy
 * Computational Methods by Andrew Larkoski
 * Computational Methods in Finance by Jonathan Goodman
 * Monte Carlo simulation methods by Kari Rummukainen
 * Simulation by Julien Berestycki
 * Advanced Simulation Methods by Patrick Rebeschini
 * Computing in Statistics by Kate Cowles
 * Modelling Complex Systems by David Sumpter
 * Lecture: Parameter estimation, uncertainty, model fitting, model selection, and sensitivity and uncertainty analysis by Jamie Lloyd-Smith
 * Lecture: Model Fitting and Error Estimation by Kevin D. Costa

Books and Book Chapters

 * Rubinstein, R. Y., & Kroese, D. P. (2016). Simulation and the Monte Carlo method. 3rd Ed. John Wiley & Sons.
 * Bengio, Y., Goodfellow, I. J., & Courville, A. (2016). "Chapter 17: Monte Carlo Methods". Deep Learning. MIT Press.
 * Candy, J. V. (2016). Bayesian signal processing: classical, modern, and particle filtering methods. 2nd Ed. John Wiley & Sons.
 * Theodoridis, S. (2015). "Chapter 14: Monte Carlo Methods". Machine Learning: A Bayesian and Optimization Perspective. Academic Press.
 * Theodoridis, S. (2015). "Chapter 17: Particle Filtering". Machine Learning: A Bayesian and Optimization Perspective. Academic Press.
 * Law, A. M., Kelton (2014). Simulation modeling and analysis. 5th Ed. McGraw-Hill.
 * Owen, A. B. (2013). Monte Carlo Theory, Methods and Examples. (link)
 * Durbin, J., & Koopman, S. J. (2012). Time series analysis by state space methods. Oxford University Press.
 * Murphy, K. P. (2012). "Chapter 23: Monte Carlo inference". Machine Learning: A Probabilistic Perspective. MIT Press.
 * Barber, D. (2012). "Chapter 27: Sampling". Bayesian Reasoning and Machine Learning. Cambridge University Press.
 * Ross, S. M. (2012). Simulation. 5th Ed. Academic Press.
 * Givens, G. H., & Hoeting, J. A. (2012). Computational Statistics. 2nd Ed. John Wiley & Sons.
 * Brooks, S., Gelman, A., Jones, G., & Meng, X. L. (Eds.). (2011). Handbook of Markov Chain Monte Carlo. CRC press.
 * Kroese, D. P., Taimre, T., & Botev, Z. I. (2011). Handbook of monte carlo methods. John Wiley & Sons.
 * Robert, C., & Casella, G. (2010). Monte Carlo statistical methods. Springer Science & Business Media.
 * Koller, D., & Friedman, N. (2009). "Chapter 12: Particle-Based Approximate Inference". Probabilistic Graphical Models. MIT Press.
 * Perros, H. G. (2009). Computer Simulation Techniques: The definitive introduction!.
 * Asmussen, S., & Glynn, P. W. (2007). Stochastic simulation: algorithms and analysis. Springer Science & Business Media.
 * Bishop, C. M. (2006). "Chapter 11: Sampling Methods". Pattern Recognition and Machine Learning. Springer.
 * MacKay, D. J. (2003). "Chapter 29: Monte Carlo Methods" Information Theory, Inference and Learning Algorithms. Cambridge University Press.
 * Doucet, A., De Freitas, N., & Gordon, N. (Eds). (2001). ''Sequential Monte Carlo methods in practice. Springer.
 * Rubinstein, R. Y., & Melamed, B. (1998). Modern simulation and modeling. John Wiley & Sons.
 * Gilks, W. R., Richardson, S. & Spiegelhalter, D. J. (eds). (1996). Markov Chain Monte Carlo in Practice. Chapman & Hall/CRC.
 * Ruanaidh, J. J. O., & Fitzgerald, W. J. (1996). Numerical Bayesian methods applied to Signal Processing. Springer Science & Business Media.

Scholarly Articles

 * Doucet, A., & Johansen, A. M. (2009). A tutorial on particle filtering and smoothing: Fifteen years later. Handbook of nonlinear filtering, 12(656-704), 3.
 * Doucet, A., & Wang, X. (2005). Monte Carlo methods for signal processing: a review in the statistical signal processing context. IEEE Signal Processing Magazine, 22(6), 152-170.
 * Andrieu, C. (2004). Monte Carlo methods for absolute beginners. In Advanced Lectures on Machine Learning (pp. 113-145). Springer.
 * MacKay, D. J. (1998). Introduction to monte carlo methods. In Learning in graphical models (pp. 175-204). Springer Netherlands.
 * Neal, R. M. (1993). Probabilistic inference using Markov chain Monte Carlo methods.

Tutorials

 * MCMC Review
 * Monte Carlo Methods - General Principles by Michael Mascagni

Software

 * MCMC toolbox - MATLAB
 * Ensemble MCMC sampler - MATLAB
 * emce - Python
 * PyMC3 - Python

Other Resources

 * MCMC sampling for dummies - Python
 * MCMC programming in R, Python, Java and C
 * Video lectures on Monte Carlo - VideoLectures.NET
 * Monte Carlo, and Other Kinds of Stochastic Simulation - Notebook
 * Computational Models - Nature
 * Computer Modelling - Nature
 * Computational Methods - Nature
 * Computational Science - Nature
 * Computational Modeling - NIH Science Education
 * MCMC in a frequentist setting - StackExchange
 * Monte Carlo Methods - Zoubin Ghahramani