TimeSeriesPosterior¶
- class probnum.filtsmooth.TimeSeriesPosterior(locations=None, states=None)¶
Bases:
ABC
Posterior Distribution over States after time-series algorithms such as filtering/smoothing or solving ODEs.
- Parameters
locations (Optional[Iterable[FloatLike]]) – Locations of the posterior states (represented as random variables).
states (Optional[Iterable[randvars.RandomVariable]]) – Posterior random variables.
- Return type
None
Attributes Summary
Whether the posterior is frozen.
Locations of the states of the posterior.
States of the posterior.
Methods Summary
__call__
(t)Evaluate the time-continuous posterior at location t
append
(location, state)Append a state to the posterior.
freeze
()Freeze the posterior.
interpolate
(t[, previous_index, next_index])Evaluate the posterior at a measurement-free point.
sample
(rng[, t, size])Draw samples from the filtering/smoothing posterior.
Transform base-measure-realizations into posteriors samples.
Attributes Documentation
- frozen¶
Whether the posterior is frozen.
- locations¶
Locations of the states of the posterior.
- states¶
States of the posterior.
Methods Documentation
- __call__(t)[source]¶
Evaluate the time-continuous posterior at location t
Algorithm: 1. Find closest t_prev and t_next, with t_prev < t < t_next 2. Predict from t_prev to t 3. (if self._with_smoothing=True) Predict from t to t_next 4. (if self._with_smoothing=True) Smooth from t_next to t 5. Return random variable for time t
- Parameters
t (ArrayLike) – Location, or time, at which to evaluate the posterior.
- Raises
ValueError – If time-points are not strictly increasing.
- Returns
Estimate of the states at time
t
.- Return type
- append(location, state)[source]¶
Append a state to the posterior.
- Parameters
location (FloatLike) –
state (RandomVariable) –
- Return type
None
- abstract interpolate(t, previous_index=None, next_index=None)[source]¶
Evaluate the posterior at a measurement-free point.
- Returns
Dense evaluation.
- Return type
- Parameters
t (FloatLike) –
previous_index (Optional[IntLike]) –
next_index (Optional[IntLike]) –
- abstract sample(rng, t=None, size=())[source]¶
Draw samples from the filtering/smoothing posterior.
If nothing is specified, a single sample is drawn (supported on self.locations). If locations are specified, a single sample is drawn on those locations. If size is specified, more than a single sample is drawn.
Internally, samples from a base measure are drawn and transformed via self.transform_base_measure_realizations.
- Parameters
rng (np.random.Generator) – Random number generator.
t (Optional[ArrayLike]) – Locations on which the samples are wanted. Default is none, which implies that self.location is used.
size (Optional[ShapeLike]) – Indicates how many samples are drawn. Default is an empty tuple, in which case a single sample is returned.
- Returns
Drawn samples. If size has shape (A1, …, Z1), locations have shape (L,), and the state space model has shape (A2, …, Z2), the output has shape (A1, …, Z1, L, A2, …, Z2). For example: size=4, len(locations)=4, dim=3 gives shape (4, 4, 3).
- Return type
np.ndarray
- abstract transform_base_measure_realizations(base_measure_realizations, t)[source]¶
Transform base-measure-realizations into posteriors samples.
- Parameters
base_measure_realizations (np.ndarray) – Base measure realizations.
t (Optional[ArrayLike]) – Locations on which the transformed realizations shall represent realizations from the posterior.
- Returns
Transformed realizations.
- Return type
np.ndarray