R/mcmc-kernels.R
mcmc_transformed_transition_kernel.Rd
The transformed transition kernel enables fitting
a bijector which serves to decorrelate the Markov chain Monte Carlo (MCMC)
event dimensions thus making the chain mix faster. This is
particularly useful when the geometry of the target distribution is
unfavorable. In such cases it may take many evaluations of the
target_log_prob_fn
for the chain to mix between faraway states.
mcmc_transformed_transition_kernel(inner_kernel, bijector, name = NULL)
inner_kernel |
|
---|---|
bijector | bijector or list of bijectors. These bijectors use |
name | string prefixed to Ops created by this function.
Default value: |
a Monte Carlo sampling kernel
The idea of training an affine function to decorrelate chain event dims was presented in Parno and Marzouk (2014). Used in conjunction with the Hamiltonian Monte Carlo transition kernel, the Parno and Marzouk (2014) idea is an instance of Riemannian manifold HMC (Girolami and Calderhead, 2011).
The transformed transition kernel enables arbitrary bijective transformations
of arbitrary transition kernels, e.g., one could use bijectors
tfb_affine
, tfb_real_nvp
, etc.
with transition kernels mcmc_hamiltonian_monte_carlo
, mcmc_random_walk_metropolis
, etc.
Other mcmc_kernels:
mcmc_dual_averaging_step_size_adaptation()
,
mcmc_hamiltonian_monte_carlo()
,
mcmc_metropolis_adjusted_langevin_algorithm()
,
mcmc_metropolis_hastings()
,
mcmc_no_u_turn_sampler()
,
mcmc_random_walk_metropolis()
,
mcmc_replica_exchange_mc()
,
mcmc_simple_step_size_adaptation()
,
mcmc_slice_sampler()
,
mcmc_uncalibrated_hamiltonian_monte_carlo()
,
mcmc_uncalibrated_langevin()
,
mcmc_uncalibrated_random_walk()