mcmc_metropolis_adjusted_langevin_algorithm | R Documentation |
Metropolis-adjusted Langevin algorithm (MALA) is a Markov chain Monte Carlo
(MCMC) algorithm that takes a step of a discretised Langevin diffusion as a
proposal. This class implements one step of MALA using Euler-Maruyama method
for a given current_state
and diagonal preconditioning volatility
matrix.
mcmc_metropolis_adjusted_langevin_algorithm( target_log_prob_fn, step_size, volatility_fn = NULL, seed = NULL, parallel_iterations = 10, name = NULL )
target_log_prob_fn |
Function which takes an argument like
|
step_size |
|
volatility_fn |
function which takes an argument like
|
seed |
integer to seed the random number generator. |
parallel_iterations |
the number of coordinates for which the gradients of
the volatility matrix |
name |
String prefixed to Ops created by this function.
Default value: |
Mathematical details and derivations can be found in Roberts and Rosenthal (1998) and Xifara et al. (2013).
The one_step
function can update multiple chains in parallel. It assumes
that all leftmost dimensions of current_state
index independent chain states
(and are therefore updated independently). The output of
target_log_prob_fn(current_state)
should reduce log-probabilities across
all event dimensions. Slices along the rightmost dimensions may have different
target distributions; for example, current_state[0, :]
could have a
different target distribution from current_state[1, :]
. These semantics are
governed by target_log_prob_fn(current_state)
. (The number of independent
chains is tf.size(target_log_prob_fn(current_state))
.)
Other mcmc_kernels:
mcmc_dual_averaging_step_size_adaptation()
,
mcmc_hamiltonian_monte_carlo()
,
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_transformed_transition_kernel()
,
mcmc_uncalibrated_hamiltonian_monte_carlo()
,
mcmc_uncalibrated_langevin()
,
mcmc_uncalibrated_random_walk()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.