tfp.experimental.mcmc.SampleDiscardingKernel

Appropriately discards samples to conduct thinning and burn-in.

Inherits From: TransitionKernel

SampleDiscardingKernel is a composable TransitionKernel that applies thinning and burn-in to samples returned by its inner_kernel. All Transition Kernels wrapping it will only see non-discarded samples.

The burn-in step conducts both burn-in and one step of thinning. In other words, the first call to one_step will skip num_burnin_steps + num_steps_between_results samples. All subsequent calls skip only num_steps_between_results samples.

inner_kernel TransitionKernel whose one_step will generate MCMC results.
num_burnin_steps Integer or scalar Tensor representing the number of chain steps to take before starting to collect results. Defaults to 0 (i.e., no burn-in).
num_steps_between_results Integer or scalar Tensor representing the number of chain steps between collecting a result. Only one out of every num_steps_between_samples + 1 steps is included in the returned results. Defaults to 0 (i.e., no thinning).
name Python str name prefixed to Ops created by this function. Default value: None (i.e., "sample_discarding_kernel").

experimental_shard_axis_names The shard axis names for members of the state.
inner_kernel

is_calibrated Returns True if Markov chain converges to specified distribution.

TransitionKernels which are "uncalibrated" are often calibrated by composing them with the tfp.mcmc.MetropolisHastings TransitionKernel.

name

num_burnin_steps

num_steps_between_results

parameters

Methods

bootstrap_results

View source

Instantiates a new kernel state with no calls.

Args
init_state Tensor or Python list of Tensors representing the state(s) of the Markov chain(s).
inner_results Optional results tuple for the inner kernel. Will be re-bootstrapped if omitted.

Returns
kernel_results collections.namedtuple of Tensors representing internal calculations made within this function.

copy

View source

Non-destructively creates a deep copy of the kernel.

Args
**override_parameter_kwargs Python String/value dictionary of initialization arguments to override with new values.

Returns
new_kernel TransitionKernel object of same type as self, initialized with the union of self.parameters and override_parameter_kwargs, with any shared keys overridden by the value of override_parameter_kwargs, i.e., dict(self.parameters, **override_parameters_kwargs).

experimental_with_shard_axes

View source

Returns a copy of the kernel with the provided shard axis names.

Args
shard_axis_names a structure of strings indicating the shard axis names for each component of this kernel's state.

Returns
A copy of the current kernel with the shard axis information.

one_step

View source

Collects one non-discarded chain state.

Args
current_state Tensor or Python list of Tensors representing the current state(s) of the Markov chain(s),
previous_kernel_results collections.namedtuple containing Tensors representing values from previous calls to this function (or from the bootstrap_results function).
seed PRNG seed; see tfp.random.sanitize_seed for details.

Returns
new_chain_state Newest non-discarded MCMC chain state drawn from the inner_kernel.
kernel_results collections.namedtuple of internal calculations used to advance the chain.