RWKernel#
- class liesel.goose.rw.RWKernel(position_keys, initial_step_size=1.0, da_target_accept=0.234, da_gamma=0.05, da_kappa=0.75, da_t0=10)[source]#
Bases:
ModelMixin
,TransitionMixin
[RWKernelState
,DefaultTransitionInfo
]A random walk kernel.
Uses Gaussian proposals, Metropolis-Hastings correction and dual averaging. Implements the
Kernel
protocol.The kernel uses a default Metropolis-Hastings target acceptance probability of 0.234, which is optimal for a random walk sampler (in a certain sense). See Gelman et al. (1997) Weak convergence and optimal scaling of random walk Metropolis algorithms: https://doi.org/10.1214/aoap/1034625254.
Methods
This section is empty if this class has only inherited attributes.
end_epoch
(prng_key, kernel_state, ...)Sets the step size as found by the dual averaging algorithm.
end_warmup
(prng_key, kernel_state, ...)Currently does nothing.
init_state
(prng_key, model_state)Initializes the kernel state.
start_epoch
(prng_key, kernel_state, ...)Resets the state of the dual averaging algorithm.
tune
(prng_key, kernel_state, model_state, epoch)Currently does nothing.
Attributes
This section is empty if this class has only inherited attributes.
Dict of error codes and their meaning.
Kernel identifier, set by
EngineBuilder
Whether this kernel needs its history for tuning.
Tuple of position keys handled by this kernel.