Rev Language Reference


The adaptive mirror (normal) proposal of Thawornwattana et al. 2017, uses MCMC samples to find posterior mean and variance. After user-defined waiting time, proposes moves on opposite side of posterior mean from current location using a normal distribution with the learned posterior standard deviation (scaled by lambda). Before this time, the move uses mu0 as the mean, and lambda as the standard deviation. WARNING: Disabling tuning disables both tuning of proposal variance and learning of empirical mean and variance. To learn the empirical mean and variance without tuning sigma, set adaptOnly=true.


mvMirror(Real x, Natural waitBeforeLearning, Natural waitBeforeUsing, Natural maxUpdates, Real mu0, RealPos sigma, Bool tune, Bool adaptOnly, RealPos weight, Probability tuneTarget)


x : Real (<stochastic> pass by reference)
The variable on which this move operates.
waitBeforeLearning : Natural (pass by value)
The number of move attempts to wait before tracking the mean and variance of the variable.
Default : 500
waitBeforeUsing : Natural (pass by value)
The number of move attempts to wait before using the learned mean and variance.
Default : 1000
maxUpdates : Natural (pass by value)
The maximum number of updates to the empirical mean and variance.
Default : 10000
mu0 : Real (pass by value)
Initial guess at posterior mean.
Default : 0
sigma : RealPos (pass by value)
The tuning parameter, adjusts variance of proposal.
Default : 1
tune : Bool (pass by value)
Should we tune the move during burnin?
Default : TRUE
adaptOnly : Bool (pass by value)
If true, sigma is not tuned but mean and variance are still learned
Default : FALSE
weight : RealPos (pass by value)
The weight how often on average this move will be used per iteration.
Default : 1
tuneTarget : Probability (pass by value)
The acceptance probability targeted by auto-tuning.
Default : 0.44