pypomp.panel.panel.PanelPomp.simulate

PanelPomp.simulate(key: Array, theta: PanelParameters | dict[str, DataFrame | None] | list[dict[str, DataFrame | None]] | None = None, times: Array | None = None, nsim: int = 1, as_pomp: bool = False) tuple[DataFrame, DataFrame] | object

Simulate the PanelPomp model.

Parameters:
  • key (jax.Array) – JAX random key.

  • theta (PanelParameters | dict | list, optional) – Parameter sets to use. If None, uses self.theta.

  • times (jax.Array, optional) – Times at which to simulate the model. If None, uses self.times.

  • nsim (int, optional) – Number of simulations to run.

  • as_pomp (bool, optional) – If True, returns a new PanelPomp object containing the simulated observations for the first parameter replicate and simulation, instead of DataFrames.

Returns:

If as_pomp is False, returns a tuple of (X_sims, Y_sims) DataFrames. If as_pomp is True, returns a deep copy of the original model with simulated observations.

Return type:

Union[pd.DataFrame, tuple[pd.DataFrame, pd.DataFrame], PanelPomp]