class, 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:


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.


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.