sequince.steps.transition#

Classes#

ImportanceTransition

Propagate particles and apply a joint importance-weight correction.

Module Contents#

class sequince.steps.transition.ImportanceTransition(kernel, *, normalize_after=True)[source]#

Bases: sequince.steps.base.SMCStep

Propagate particles and apply a joint importance-weight correction.

The supplied ImportanceKernel samples one child per parent and computes the associated importance log-weight increment from the parent and child populations.

The transition is one-to-one: it must preserve the particle population size. Moving particles invalidates any cached target evaluation while preserving their existing ancestry indices.

Parameters:
  • kernel (sequince.filtering.ImportanceKernel)

  • normalize_after (bool)

property kernel: sequince.filtering.ImportanceKernel#

The transition kernel applied by this step.

Return type:

sequince.filtering.ImportanceKernel

apply(state, context, rng)[source]#
Parameters:
Return type:

tuple[sequince.state.ParticleState, sequince.steps.context.StepContext, dict[str, Any]]