πŸ”— GitHub Repository

Project Page:
github.com/SaiSampathKedari/MonteCarlo-Statistical-Methods


MonteCarlo-Statistical-Methods

Python Jupyter Last Commit Stars License

A visual and practical guide to Monte Carlo techniques, focused on understanding rather than memorizing.
Each method is implemented from scratch and explored through intuitive diagrams, animations, and diagnostic tools.
These foundations support real applications in robotics, dynamics, and reinforcement learning, from Bayesian filters to sampling-based planning and uncertainty-aware control.


Table of Contents


Overview

This repository builds Monte Carlo ideas from first principles using:

Each topic is supported by clean visualizations and self-contained Jupyter notebooks.


Sampling Visualizations

   

Inverse Transform sampling (left) and Accept–Reject sampling (right).


Importance Sampling

   

Proposal vs likelihood alignment and resulting posterior for Importance Sampling.


Control Variates

   

Variance comparison (left) and correlation structure enabling control variates (right).


Brownian Motion

   

Random-walk scaling to Brownian motion and simulated sample paths.


Markov Chain Monte Carlo

The repository implements four MCMC algorithms on both 2D Gaussian and banana-shaped targets:

All diagnostics: burn-in, mixing, autocorrelation, integrated autocorrelation, and ESS, are derived in the MH diagnostics notebook and reused across the remaining algorithms.

Below is a DRAM example on the banana-shaped target.

Target and Laplace Initialization

DRAM Sample Exploration

Mixing Behavior

Autocorrelation Diagnostics


Notebook Gallery

Chapter 2: Sampling

Chapter 3: Importance Sampling

Chapter 4: Variance Reduction

Chapter 6: Stochastic Processes

Chapter 5: MCMC


PDF Chapter Library

Full write-ups:


Project Structure

MonteCarlo-Statistical-Methods/
β”‚
β”œβ”€β”€ animations/
β”œβ”€β”€ images/
β”‚   β”œβ”€β”€ sampling/
β”‚   β”œβ”€β”€ importance_sampling/
β”‚   β”œβ”€β”€ variance_reduction/
β”‚   β”œβ”€β”€ stochastic_processes/
β”‚   β”œβ”€β”€ mcmc/
β”‚   └── exponential/
β”œβ”€β”€ notebooks/
β”‚   β”œβ”€β”€ ch02_sampling/
β”‚   β”œβ”€β”€ ch03_importance_sampling/
β”‚   β”œβ”€β”€ ch04_variance_reduction/
β”‚   β”œβ”€β”€ ch05_mcmc/
β”‚   └── ch06_stochastic_processes/
β”œβ”€β”€ reports/
β”œβ”€β”€ src/
β”œβ”€β”€ README.md
β”œβ”€β”€ index.md
└── pyproject.toml

About Me

I study and implement methods in optimization, control, robotics, Bayesian inference, and probabilistic reasoning.


πŸ‘€ About Me

Interested in robotics, control, and probabilistic methods for intelligent systems.

πŸ“« Email: sampath@umich.edu
: linkedin.com/in/sai-sampath-kedari
𝕏 : @SaiSampathK
: github.com/SaiSampathKedari