Posterior Sampling Differential Evolution Proposal Size¶
Class providing proposal sizes for differential evolution posterior samplers. Specifically, this class provides the proposal size parameter, \(\gamma\) (the fraction of the vector connecting to chain state to be used as the proposal for another chain), for use in differential evolution simulations.
Methods¶
gamma→double precisionReturn the proposal size parameter \(\gamma\) given the current simulation state and convergence status, scaling the vector difference between two randomly selected chain states to form the differential evolution proposal.
class(posteriorSampleStateClass ), intent(inout) :: simulationStateclass(posteriorSampleConvergenceClass), intent(inout) :: simulationConvergence
posteriorSampleDffrntlEvltnProposalSizeAdaptive¶
This class adaptively changes \(\gamma\) in an attempt to maintain the acceptance rate at an acceptable level. The algorithm is controlled by the following sub-parameters:
[gammaInitial]The initial value for \(\gamma\).
[gammaFactor]The multiplicative factor by which \(\gamma\) should be increased or decreased if the acceptance rate is out of range.
[gammaMinimum]The smallest value allowed for \(\gamma\).
[gammaMaximum]The largest value allowed for \(\gamma\).
[acceptanceRateMinimum]The minimum acceptance rate to accept before reducing \(\gamma\).
[acceptanceRateMaximum]The maximum acceptance rate to accept before reducing \(\gamma\).
[updateCount]The number of steps between successive checks of the acceptance rate.
Parameters
[logFileName](string) — The name of a file to which to log reports of adjustments to \(\gamma\). If empty, no reports are logged.[gammaInitial](real) — The initial value of the proposal scaling parameter \(\gamma\) used before the acceptance rate has been assessed and any adaptive adjustment has been made.[gammaMinimum](real) — The minimum value to which the proposal scaling parameter \(\gamma\) is permitted to be reduced during adaptive adjustment, preventing the step size from becoming vanishingly small.[gammaMaximum](real) — The maximum value to which the proposal scaling parameter \(\gamma\) is permitted to be increased during adaptive adjustment, preventing excessively large steps that would degrade acceptance rates.[gammaAdjustFactor](real) — The multiplicative factor by which \(\gamma\) is increased or decreased at each adaptation step when the current acceptance rate falls outside the target range.[acceptanceRateMinimum](real) — The minimum acceptable chain acceptance rate; if the measured acceptance rate falls below this threshold \(\gamma\) is reduced to produce smaller, more easily accepted proposals.[acceptanceRateMaximum](real) — The maximum acceptable chain acceptance rate; if the measured acceptance rate exceeds this threshold \(\gamma\) is increased to produce larger proposals that explore the posterior more efficiently.[updateCount](integer) — The number of steps between potential updates of the temperature exponent.[outliersInAcceptanceRate](boolean; default.true.) — The number of steps between potential updates of the proposal size.[appendLog](boolean; default.false.) — If true, append to the existing log file, otherwise overwrite.[restoreFromLog](boolean; default.false.) — If true, restore the value of \(\gamma\) from the log file.[flushLog](boolean; default.false.) — If true, logs are flushed to file after every update.
posteriorSampleDffrntlEvltnProposalSizeFixed¶
A posterior sampling differential evolution proposal size class in which the proposal size is a fixed value \(\gamma=\)[gamma].
Parameters
[proposalSize](real) — The fixed value of the proposal scaling parameter \(\gamma\) used to scale the vector difference between two randomly selected chain states when forming differential evolution proposals.