Stochastic Simulation and Monte Carlo Method
Davoud Mirzaei
TL;DR
This collection of lecture notes introduces stochastic simulation and Monte Carlo methods for scientific computing, contrasting deterministic and stochastic modeling and providing practical tools for generating random variables, estimating integrals, and simulating stochastic processes. It covers core MC techniques (inverse transform, acceptance-rejection, importance sampling) and analyzes convergence and error via the central limit theorem, while applying them to Markov processes, Gaussian processes, SSA (Gillespie) for biochemical kinetics, and MCMC (Metropolis–Hastings) for Bayesian parameter inference. A central thread is the Stochastic Simulation Algorithm (SSA) for discrete-event dynamics and its extensions (tau-leaping), alongside stochastic process generation and Gaussian-process sampling, with extensive Python code examples. The notes emphasize real-world applications across biology, chemistry, ecology, and finance, illustrating how stochastic methods yield both trajectory-level and ensemble-level insights, including stationary distributions, hitting times, and posterior uncertainty quantification. Overall, the work provides a practical, implementation-focused framework for leveraging stochastic simulation to model uncertainty and compute complex expectations in high dimensions and complex domains.
Abstract
These lecture notes are intended to cover some introductory topics in stochastic simulation for scientific computing courses offered by the IT department at Uppsala University, as taught by the author. Basic concepts in probability theory are provided in the Appendix A, which you may review before starting the upcoming sections or refer to as needed throughout the text.
