Create object to adapt proposal with per dimension scales based on estimates of target distribution variances.
Source:R/adaptation.R
variance_shape_adapter.RdCorresponds to variance variant of Algorithm 2 in Andrieu and Thoms (2009), which is itself a restatement of method proposed in Haario et al. (2001).
Arguments
- kappa
Decay rate exponent in
[0.5, 1]for adaptation learning rate. Value of 1 (default) corresponds to computing empirical variances.- initial_shape
Optional numeric vector of length equal to the target distribution dimension, specifying the per-dimension proposal scales to use as the initial variance estimate. When supplied, takes precedence over both any current proposal shape and the default unit initialisation. When
NULL(default), the adapter reads the current proposal shape at initialisation time (to carry over state from a previous warm-up stage) and falls back to unit variances if no current shape is available.
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.
Haario, H., Saksman, E., & Tamminen, J. (2001). An adaptive Metropolis algorithm. Bernoulli, 7(2): 223-242.
Examples
proposal <- barker_proposal()
adapter <- variance_shape_adapter()
adapter$initialize(proposal, chain_state(c(0, 0)))