Result Types¶
The standalone and handler-based APIs return dataclasses.
Common base for results from the NumPyro-free conditioning primitive.
dsx.condition returns this type under both Filter and Smoother.
It carries the complete inference output through the handler stack without
registering NumPyro sites. Filter results may additionally expose the
canonical one-step-ahead predicted_observations and an
evaluation_result attached by an outer evaluation handler. Posterior
distributions are time-major:
dists[i] corresponds to times[..., i]. Leading axes on times
are optional plate axes, while each distribution may carry the matching
plate axes in its batch shape.
Outputs computed by an evaluation handler.
Evaluation handlers attach this object to the ConditionedResult they
consume. NumPyro registration remains deferred so dsx.condition stays
side-effect free while dsx.sample can register the same outputs later.
Result of simulation without eager NumPyro side effects.
This result therefore stores the realized state path x and observation path y
produced on the requested simulator time grid.
For raw forward simulation, times, x_0, states, and
observations are populated. The field names match their NumPyro site
suffixes. When a simulator is layered outside a Filter or Smoother for
posterior rollout, the same result object instead carries
predicted_times, predicted_states, and
predicted_observations.