mcmc.metropolis_hastings

Usage

obj = mcmc;
xPosterior = obj.metropolis_hastings( y,x0,weights,fitting,FWDfunc,varargin);

I/O overview

Input

Description

y

measurements, [Nmeas, Nvoxels]

x0

structure variable containing starting points of all model parameters to be estimated

weights

N-D wieghts, same dimension as ‘data’ (optional)

fitting

structure contains fitting algorithm parameters

fitting.model_params

1xM cell variable, name of the model parameters, e.g. {‘S0’,’R2star’,’noise’};

fitting.lb

1xM numeric variable, fitting lower bound, same order as field ‘model_params’, e.g. [0.5, 0, 0.001];

fitting.ub

1xM numeric variable, fitting upper bound, same order as field ‘model_params’, e.g. [2, 1, 0.1];

fitting.iteration

# MCMC iterations

fitting.repetition

# repetition of MCMC proposal

fitting.thinning

sampling interval between iterations

fitting.burnin

iterations to be discarded at the beginning, if >1, the exact number will be used; else iteration*burnin

fitting.xStepSize

step size of model parameter in MCMC proposal, same size and order as ‘model_params’ (‘MH’ only)

FWDfunc

function handle for forward signal generation; size of the output must match size of ‘data’

varargin

additional input for FWDfunc other than ‘parameter’ and ‘mask’ (same order as FWDfunc)

Output

Description

xPosterior

structure contains MCMC posterior samples

xPosterior.(model_params{k})

Model parameter MCMC posterior samples

Note

‘noise’ is always required in fitting.model_params.

See also MCMC Metropolis-Hastings tutorial.