STA 4503: Advanced Monte Carlo Methods and Applications (Spring 2013)

This course will examine how advanced Monte Carlo methods can be applied to problems in statistical inference. Methods discussed may include use of auxiliary variables, use of Hamiltonian dynamics for Markov chain Monte Carlo updates, use of tempering or annealing to handle multimodal distributions and estimate normalizing constants, and ways of exploiting parallel computation. Practical issues such as verifying that a method has been implemented correctly, assessing convergence of Markov chain methods, assessing the error in estimates, and tuning the parameters of methods will also be discussed. Assignments will involve both the use of available software packages for Monte Carlo estimation and programming of custom methods for particular statistical problems.

All material handed in is now available for pickup. I'll be in my office 2:00-2:30 on Wednesday, April 24. (Later times will be announced here later.)


Radford Neal, Office: SS6026A, Phone: (416) 978-4970, Email:

Office Hours: Mondays 3:10-4:00, in SS6026A.


Wednesdays 11:10-1:00 in ES B-149, 33 Willcocks Street (Warning: this building comes in three parts that may appear to be different buildings).

Fridays 11:10-12:00 in AB 107, 50 St. George Street.

The first lecture is February 27. The last lecture is April 5. There is no lecture March 29 (Good Friday).


40% Four small theory assignments (10% each). Due start of lecture March 6, 13, 22, and April 3; handed out a week before.

14% Programming assignment 1. Handed out March 1; due start of lecture March 13.

23% Programming assignment 2. Handed out March 13; due start of lecture March 22.

23% Programming assignment 3. Handed out March 22; due start of lecture April 5.

The assignments are to be done by each student individually. Any discussion of the assignments with other students should be about general issues only, and should not involve giving or receiving written, typed, or emailed notes.

Theory assignments:

Theory assignment 1.
Theory assignment 2.
Theory assignment 3.
Theory assignment 4.

Programming assignments:

Programming assignment 1. Datasets: data1, data2, data3. The first column is the response, y; the second and third columns are the covariates, x1 and x2.
Solution: Metropolis function, script, pairwise scatterplots plots for data1, data2, data3.

Programming assignment 2.
Solution: HMC function, script.

Programming assignment 3. Datasets in Stan format: data1, data2, data3. Shell files: stan-compile, stan-print.

Some links to online references:

My 20-year-old review of MCMC
My review of Hamiltonian MCMC. The simple implementation of HMC is here.
A paper of mine on overrelaxation methods.
The No-U-Turn paper, see also my blog posts here, and here.
The Stan website.
My blog post on the harmonic mean estimator of marginal likelihood.
My paper on Annealed Importance Sampling.

Web page for preceeding course:

STA 4502: Monte Carlo Estimation (taught by Jeffrey Rosenthal).