TimeSeriesPosterior

class probnum.filtsmooth.TimeSeriesPosterior(locations=None, states=None)[source]

Bases: abc.ABC

Posterior Distribution over States after time-series algorithms such as filtering/smoothing or solving ODEs.

Parameters

Attributes Summary

frozen

locations

states

Methods Summary

__call__(t)

Evaluate the time-continuous posterior at location t

append(location, state)

rtype

None

freeze()

rtype

None

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(…)

Transform a set of realizations from a base measure into realizations from the posterior.

Attributes Documentation

frozen
locations
states

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 (Union[Real, ndarray]) – Location, or time, at which to evaluate the posterior.

Returns

Estimate of the states at time t.

Return type

randvars.RandomVariable or _randomvariablelist._RandomVariableList

append(location, state)[source]
Return type

None

freeze()[source]
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

randvars.RandomVariable or _randomvariablelist._RandomVariableList

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 (Generator) – Random number generator.

  • t (Union[Real, ndarray, None]) – Locations on which the samples are wanted. Default is none, which implies that self.location is used.

  • size (Union[Integral, Iterable[Integral], None]) – 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 a set of realizations from a base measure into realizations from the posterior.

Parameters
  • base_measure_realizations (ndarray) – Base measure realizations.

  • t (Union[Real, ndarray, None]) – Locations on which the transformed realizations shall represent realizations from the posterior.

Returns

Transformed realizations.

Return type

np.ndarray