pypomp.PanelPomp.dpop_train

PanelPomp.dpop_train(J: int, M: int, eta: LearningRate | dict[str, float] | float, chunk_size: int | str = 1, optimizer: Optimizer = Adam(clip_norm=None, scale=False, ls=False, c=0.1, max_ls_itn=10, beta1=0.9, beta2=0.999, epsilon=1e-08), alpha: float = 0.97, alpha_cooling: float = 1.0, decay: float = 0.0, process_weight_state: str | None = None, key: Array | None = None, theta: PanelParameters | None = None)

Estimate parameters using DPOP-based gradient-descent optimization.

Warning

This method is experimental. Its API and behavior are subject to change in future releases.

Parameters:
  • J (int) – Number of particles per unit.

  • M (int) – Number of training iterations.

  • eta (LearningRate or dict or float) – Learning rate(s).

  • chunk_size (int or str, optional) – Number of units to process per gradient step. Defaults to 1.

  • optimizer (Optimizer, optional) – Optimizer configuration object. Defaults to Adam().

  • alpha (float, optional) – DPOP discount / cooling factor. Defaults to 0.97.

  • alpha_cooling (float, optional) – Cosine cooling factor for alpha. Defaults to 1.0.

  • decay (float, optional) – Learning-rate decay coefficient. Defaults to 0.0.

  • process_weight_state (str or None, optional) – Name of the state component that stores the accumulated process log-weight (e.g. "logw").

  • key (jax.Array or None, optional) – JAX random key. If None, uses the model’s fresh_key.

  • theta (PanelParameters or None, optional) – Initial parameter estimates. If None, defaults to self.theta.