mcmc.optmisation
Wrapper function for mcmc.metropolis_hastings and mcmc.goodman_weare.
Usage
obj = mcmc;
out = obj.optimisation( data, mask, weights, parameters, fitting, FWDfunc, varargin);
I/O overview
Input |
Description |
|---|---|
data |
(Unmasked) N-D (imaging) data , first 3 diemnsions reserved for spatial info (x,y,z) |
mask |
[1 or 3]D signal mask |
weights |
N-D wieghts, same dimension as ‘data’ (optional) |
parameters |
structure variable containing starting points of all model parameters to be estimated |
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.algorithm |
MCMC algorithm, ‘MH’ (Metropolis-Hastings)|’GW’ (Affline-invariant ensemble) |
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) |
fitting.StepSize |
step size for ‘GW’ in MCMC proposal (‘GW’ only) |
fitting.Nwalker |
# random walkers (‘GW’ only) |
fitting.metric |
cell variable, metric(s) derived from posterior distribution, ‘mean’|’std’|’median’|’iqr’ (can be multiple) |
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 |
|---|---|
out |
structure contains optimisation result |
out.posterior |
structure contains MCMC posterior samples |
out.posterior.(model_params{k}) |
Model parameter MCMC posterior samples, masked and unshaped for memory preservation |
out.{metric}.(model_params{k}) |
Posterior statistics chosen in fitting.metric |
Note
‘noise’ is always required in fitting.model_params.
See also MCMC basic tutorial.