Skip to content

Matlab code implementing Hamiltonian Annealed Importance Sampling for importance weight, partition function, and log likelihood estimation for models with continuous state spaces

Notifications You must be signed in to change notification settings

Sohl-Dickstein/Hamiltonian-Annealed-Importance-Sampling

Repository files navigation

Hamiltonian Annealed Importance Sampling (HAIS)

HAIS is a method for combining Hamiltonian Monte Carlo (HMC) and Annealed Importance Sampling (AIS), so that a single Hamiltonian trajectory can stretch over many AIS intermediate distributions. This greatly improves the efficiency of AIS in continuous state spaces. It is described in detail in the paper:

J Sohl-Dickstein, BJ Culpepper
Hamiltonian annealed importance sampling for partition function estimation
Redwood Technical Report (2011)
http://arxiv.org/abs/1205.1925

The code in this repository can be used for log likelihood estimation, partition function estimation, and importance weight estimation. It can also be used as a Hamiltonian Monte Carlo sampler. See HAIS_examples.m for usage examples.

Files

  • HAIS_examples.m demonstrates the capabilities of this code in a variety of scenarios.
  • HAIS.m performs Hamiltonian Annealed Importance Sampling.
  • HAIS_logL.m calculates the log likelihood of a model given data using HAIS.
  • HAIS_logL_aux.m calculates the log likelihood of a model with hidden (auxiliary) variables given data using HAIS.

About

Matlab code implementing Hamiltonian Annealed Importance Sampling for importance weight, partition function, and log likelihood estimation for models with continuous state spaces

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages