pypomp.functional.mop

pypomp.functional.mop(struct: PompStruct, thetas_array: Array, J: int, alpha: float, keys: Array) Array[source]

MOP differentiable particle filter log-likelihood objective.

A pure functional implementation of the Measurement Off-Parameter (MOP) differentiable particle filter (Tan et al. 2024 [1]), intended for composition within custom JAX loops or higher-order functions.

Unlike the standard particle filter (pfilter()), the MOP objective is designed to be fully differentiable with respect to the model parameters using automatic differentiation.

Parameters:
  • struct (PompStruct) – Compiled structural representation of the POMP model.

  • thetas_array (jax.Array) – Array of initial parameters of shape (n_reps, n_params), aligned with the canonical order of struct.param_names.

  • J (int) – Number of particles.

  • alpha (float) – Alpha parameter for MOP.

  • keys (jax.Array) – Random keys of shape (n_reps, ...).

Returns:

Negative MOP log-likelihood estimates.

Return type:

jax.Array

See also

pypomp.Pomp.train

High-level OOP training interface.

pypomp.functional.align_params

Prepare parameter arrays.

References