functional.models.predict_glm()
Register GLM-style observation/forecast sites from a latent predictor.
Usage
functional.models.predict_glm(
h,
obs_dist_fn,
latent,
)The generalized-linear counterpart of predict(): instead of a zero-centered noise distribution shifted by a mean, the caller supplies a link obs_dist_fn that maps the full-horizon latent predictor to the observation distribution directly (e.g. lambda eta: Poisson(jnp.exp(eta))). The prefix/suffix mirroring is identical to predict(): while training the observation is observed; while forecasting the in-sample prefix is observed and the forecast suffix is sampled and exposed as the "forecast" deterministic site. The observation distribution must support time-axis surgery (~numpyro_forecast.surgery.slice_time() / ~numpyro_forecast.surgery.prefix_condition()), i.e. an elementwise family.
Parameters
h: Horizon-
The horizon for the current model call (see Horizon).
obs_dist_fn: Callable[[Array], dist.Distribution]-
Link mapping the full-horizon
latentto the observation distribution (time at axis-2, shape(*batch, duration, obs)). latent: Array-
The deterministic latent predictor over the full horizon, time at axis
-2.
Raises
RuntimeError-
If forecasting (
future > 0) but no observed data is available. ValueError-
If the observation distribution has discrete support but
h.datais not integer-dtyped (the usual mistake for count models).