markov chain monte carlo - jacob jjacobj.ca/mcmc.pdf · 2017-10-04 · introduction •metropolis...

61
Markov chain Monte Carlo Jacob Jackson

Upload: others

Post on 04-Apr-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Markov chain Monte CarloJacob Jackson

Page 2: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Introduction• Metropolis algorithm for Monte Carlo

• Simplex method for linear

programming

• Krylov subspace iteration methods

• The decompositional approach to

matrix computations

• The Fortran optimizing compiler

• QR algorithm for computing

eigenvalues

• Quicksort algorithm for sorting

• Fast Fourier transform

• Integer relation detection

• Fast multipole method

Page 3: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Introduction• Metropolis algorithm for Monte Carlo

• Simplex method for linear

programming

• Krylov subspace iteration methods

• The decompositional approach to

matrix computations

• The Fortran optimizing compiler

• QR algorithm for computing

eigenvalues

• Quicksort algorithm for sorting

• Fast Fourier transform

• Integer relation detection

• Fast multipole method

Page 4: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 5: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 6: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 7: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 8: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 9: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 10: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 11: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 12: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 13: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 14: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 15: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 16: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 17: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 18: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 19: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 20: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Motivating example: Bayesian inference

Page 21: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Problem formulation

Page 22: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Problem formulation

Page 23: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Problem formulation

Page 24: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Problem formulation

Page 25: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Problem formulation

Page 26: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Problem formulation

Page 27: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Problem formulation

Page 28: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Simple solution

Page 29: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Simple solution

Page 30: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Simple solution

Page 31: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Simple solution

Page 32: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Simple solution

Page 33: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Metropolis-Hastings algorithm history

Page 34: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Metropolis-Hastings algorithm

Page 35: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Metropolis-Hastings algorithm

Page 36: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Metropolis-Hastings algorithm

Page 37: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Metropolis-Hastings algorithm

https://chi-feng.github.io/mcmc-demo/app.html#RandomWalkMH,banana

Page 38: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 39: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 40: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 41: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 42: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 43: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 44: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 45: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 46: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 47: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 48: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 49: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 50: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 51: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 52: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 53: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 54: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

“Proof” of correctness for Metropolis-Hastings

Page 55: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

What does M-H do, again?

Page 56: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Bayesian inference

Page 57: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Non-toy example

Page 58: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Connection with optimization

Page 59: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Note

Page 60: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace

Some links for those interested

http://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf

https://arxiv.org/abs/1704.03581

https://www.coursera.org/learn/bayesian

Page 61: Markov chain Monte Carlo - Jacob Jjacobj.ca/mcmc.pdf · 2017-10-04 · Introduction •Metropolis algorithm for Monte Carlo •Simplex method for linear programming •Krylov subspace