File Exchange

image thumbnail

Markov Chain Monte Carlo sampling of posterior distribution

version 1.5.0.0 (4.29 KB) by Aslak Grinsted
MCMC sampling of using a cascaded metropolis

14 Downloads

Updated 04 May 2015

View License

NOTE: I recommend using my new GWMCMC sampler which can also be downloaded from the file exchange: http://www.mathworks.com/matlabcentral/fileexchange/49820-the-mcmc-hammer--gwmcmc
Markov Chain Monte Carlo sampling of posterior distribution

A metropolis sampler
[mmc,logP]=mcmc(initialm,loglikelihood,logmodelprior,stepfunction,mccount,skip)
---------
initialm: starting point fopr random walk
loglikelihood: function handle to likelihood function: logL(m)
logprior: function handle to the log model priori probability: logPapriori(m)
stepfunction: function handle with no inputs which returns a random
step in the random walk. (note stepfunction can also be a
matrix describing the size of a normally distributed
step.)
mccount: How long should the markov chain be?
skip: Thin the chain by only storing every N'th step [default=10]



EXAMPLE USAGE: fit a normal distribution to data
-------------------------------------------
data=randn(100,1)*2+3;
logmodelprior=@(m)0; %use a flat prior.
loglike=@(m)sum(log(normpdf(data,m(1),m(2))));
minit=[0 1];
m=mcmc(minit,loglike,logmodelprior,[.2 .5],10000);
m(1:100,:)=[]; %crop drift
plotmatrix(m);


--- Aslak Grinsted 2010

Cite As

Aslak Grinsted (2019). Markov Chain Monte Carlo sampling of posterior distribution (https://www.mathworks.com/matlabcentral/fileexchange/47912-markov-chain-monte-carlo-sampling-of-posterior-distribution), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (7)

hello. thanks for your submission. I need your help. I dont know initialm value for invese gamma distribution. please help me.

hina Shakir

Hello Great code...but could you guide me if i have to define two uniform priors for mu and sigma or say two parameters of a distribution how can i do it in your code?
?

Jisu Han

thanks so much for this amazing code!

Awesome code. Using it now!

@abdul: I don't understand your comment.

abdul he

I did not get the same result

zhuowei

I just want to learn it!

Updates

1.5.0.0

updated link in description again

1.4.0.0

updated GWMCMC link in description

1.3.0.0

changed description

1.2.0.0

changed title

1.1.0.0

Bugfix for small values of skip

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: Ensemble MCMC sampler

Inspired: Ensemble MCMC sampler