MCMC -- Markov Chain Monte Carlo Tools Copyright (c) 1998, Harvard University. Full copyright in the file Copyright. Some routines require version 5 of Matlab, some will work with version 4
There are three parts to this library of routines.
1. *[rnd,pdf,lpr].m - distribution function tools to complement MATLAB's
2. mcmc*.m - routines to calculate and display summaries of MCMC output
3. other - other useful routines
1. Distribution Function Tools
These function help in random number generation and various calculations involving density functions.
randrand - randomize both random number chains off the clock
mvnormrnd - random multivariate normal - different from MATLAB's mvnrnd
wishrnd - random Wishart value
wishirnd - random Wishart value - integer df only
invwishrnd - random inverse Wishart value
invwishirnd - random inverse Wishart value - integer df only
invwishpdf - inverse Wishart density
metrop - a general Metropolis-Hastings step
betalpr - log probability ratio for beta distribution
gamlpr - log probability ratio for gamma distribution
invwishlpr - log probability ratio for inverse wishart distribution
mvnormlpr - log probability ratio for multivariate normal distribution
2. MCMC Summaries
mcmclt - lower triangle - for symmetric matricies to use with mcmctrace
mcmcsumm - calculate summary statistics(includes autocorrelations and Gelman-Rubin statistics)
mcmctrace - matrix of trace plots
mcmcacf - to plot autocorrelations
mcmcgr - Gelman-Rubin R statistic for convergence
mcmcdemo - short demonstration program
3. Other
ltvec - convert a lower-triangular matrix into a vector
veclt - convert a vector into a lower-triangular matrix
ltindex - convert row and column index into lt-index
Please see the contents.m file for a full description.
Why does mcmcgr anticipate that the data will be a 3 dimensional array? Suppose I have M chains of N values, so that my data is only two 2D. How can I use this script with that?
In the definition of of the inverse wishart pdf the multivariate gamma distributrion is calculated as gammaln((d-k-klst)/2) which does not fit the definition of the multivariate gamma distribution: it should be gammaln(d - (k-klst)/2)