Posterior Sampling Differential Evolution Random Jumps

Class providing the stochastic random-jump component added to proposals in differential evolution Markov chain Monte Carlo (DE-MCMC) posterior samplers—a small perturbation vector drawn from some distribution (e.g.uniform or Gaussian) that is added to the deterministic differential evolution proposal to ensure ergodicity and prevent the chain from becoming trapped in a lower-dimensional subspace. The sample method returns a jump vector in parameter space, scaled according to the parameter priors or step sizes, for each active chain state in the ensemble.

Methods

sampledouble precision, dimension(size(modelParameters_))

Draw and return a random perturbation vector in parameter space from the jump distribution, added to the deterministic differential evolution proposal to ensure ergodicity and prevent chain collapse to a lower-dimensional subspace.

  • type (modelParameterList ), dimension(:), intent(in ) :: modelParameters_

  • class(posteriorSampleStateClass) , intent(inout) :: simulationState

posteriorSampleDffrntlEvltnRandomJumpAdaptive

The random jumps are drawn from the distributions specified in the random element of each modelParameterClass object and then multiplied by the currently occupied range of each parameter (i.e. the maximum value of the parameter over all current chain states minus the minimum value of each parameter over all current chain states).

posteriorSampleDffrntlEvltnRandomJumpSimple

In this class, the random jumps are drawn directly from the distributions specified in the random object of each modelParameterClass object.

Methods

  • calculationReset — Reset memoized calculations.