coupled_chains: Coupled MCMC chains

Description Usage Arguments

View source: R/debiasing_algorithm.R

Description

Sample two MCMC chains, each following single_kernel marginally, and coupled_kernel jointly, until min(max(tau, m), max_iterations), where tau is the first time at which the two chains meet (i.e. take the same value exactly). Or more precisely, they meet with a delay of one, i.e. X_t = Y_t-1. The chains are initialized from the distribution provided in rinit.

See get_hmc_kernel for an example of function returning the appropriate kernels.

Usage

1
2
coupled_chains(single_kernel, coupled_kernel, rinit, m = 1,
  max_iterations = Inf, preallocate = 10)

Arguments

single_kernel

function taking a state (in a vector), its log density and an iteration, and returning a list with a key named chain_state containing the next state and its log density current_pdf.

coupled_kernel

function taking two states (in two vectors), their log densities and an iteration, and returning a list with keys chain_state1, chain_state2, current_pdf1 and current_pdf2.

rinit

function taking no arguments are returning an initial state for a Markov chain.

m

number of iterations desired (will be proportional to the computing cost if meeting occurs before m, default to 1).

max_iterations

number of iterations at which the function stops if it is still running (default to Inf).

preallocate

expected number of iterations, used to pre-allocate memory (default to 10).

logtarget

function evaluating the log target density


pierrejacob/unbiasedpathsampling documentation built on May 17, 2019, 12:03 p.m.