Create object to adapt proposal scale to coerce average acceptance rate using a Robbins and Monro (1951) scheme.
Source:R/adaptation.R
stochastic_approximation_scale_adapter.RdWhen combined with covariance_shape_adapter() corresponds to Algorithm 4 in
Andrieu and Thoms (2009).
Usage
stochastic_approximation_scale_adapter(
initial_scale = NULL,
target_accept_prob = NULL,
kappa = 0.6
)Arguments
- initial_scale
Initial value to use for scale parameter. If not set explicitly a proposal and dimension dependent default will be used.
- target_accept_prob
Target value for average accept probability for chain. If not set a proposal dependent default will be used.
- kappa
Decay rate exponent in
[0.5, 1]for adaptation learning rate.
Value
List of functions with entries
initialize, a function for initializing adapter state and proposal parameters at beginning of chain,updatea function for updating adapter state and proposal parameters on each chain iteration,finalizea function for performing any final updates to adapter state and proposal parameters on completion of chain sampling (may beNULLif unused).statea zero-argument function for accessing current values of adapter state variables.
References
Andrieu, C., & Thoms, J. (2008). A tutorial on adaptive MCMC. Statistics and Computing, 18, 343-373.
Robbins, H., & Monro, S. (1951). A stochastic approximation method. The Annals of Mathematical Statistics, 400-407.
Examples
proposal <- barker_proposal()
adapter <- stochastic_approximation_scale_adapter(
initial_scale = 1., target_accept_prob = 0.4
)
adapter$initialize(proposal, chain_state(c(0, 0)))