Transition

class probnum.filtsmooth.Transition

Bases: abc.ABC

Markov transition rules in discrete or continuous time.

In continuous time, this is a Markov process and described by a stochastic differential equation (SDE)

\[d x_t = f(t, x_t) d t + d w_t\]

driven by a Wiener process \(w\). In discrete time, it is defined by a transformation

\[x_{t + \Delta t} \sim p(x_{t + \Delta t} | x_t).\]

Sometimes, these can be equivalent. For example: mild solutions to linear, time-invariant SDEs have an equivalent, discretised form that can be written as a transformation.

See also

ContinuousModel

Continuously indexed transitions (SDEs)

DiscreteModel

Discretely indexed transitions (transformations)

Attributes Summary

dimension

Dimension of the transition model.

Methods Summary

__call__(arr_or_rv[, start, stop])

Transition a random variable or a realization of one.

transition_realization(real, start[, stop])

Transition a realization of a random variable from time \(t\) to time \(t+\Delta t\).

transition_rv(rv, start[, stop])

Transition a random variable from time \(t\) to time \(t+\Delta t\).

Attributes Documentation

dimension

Dimension of the transition model.

Not all transition models have a unique dimension. Some turn a state (x, y) into a scalar z and it is not clear whether the dimension should be 2 or 1.

Return type

int

Methods Documentation

__call__(arr_or_rv, start=None, stop=None, **kwargs)[source]

Transition a random variable or a realization of one.

The input is either interpreted as a random variable or as a realization. Accordingly, the respective methods are called: transition_realization() or transition_rv().

Return type

(‘RandomVariable’, typing.Dict)

abstract transition_realization(real, start, stop=None, **kwargs)[source]

Transition a realization of a random variable from time \(t\) to time \(t+\Delta t\).

For random variable \(x_t\), it returns the random variable defined by

\[x_{t + \Delta t} \sim p(x_{t + \Delta t} | x_t = r) .\]

This is different to transition_rv() which computes the parametrization of \(x_{t + \Delta t}\) based on the parametrization of \(x_t\).

Nb: Think of transition as a verb, i.e. this method “transitions” a realization of a random variable.

Parameters
  • real (ndarray) – Realization of the random variable.

  • start (float) – Starting point \(t\).

  • stop (Optional[float]) – End point \(t + \Delta t\).

Return type

(‘RandomVariable’, typing.Dict)

Returns

  • RandomVariable – Random variable, describing the state at time \(t + \Delta t\) based on realization at time \(t\).

  • dict – Additional information in form of a dictionary, for instance the cross-covariance in the prediction step, access to which is useful in smoothing.

See also

transition_rv()

Apply transition to a random variable.

abstract transition_rv(rv, start, stop=None, **kwargs)[source]

Transition a random variable from time \(t\) to time \(t+\Delta t\).

For random variable \(x_t\), it returns the random variable defined by

\[x_{t + \Delta t} \sim p(x_{t + \Delta t} | x_t) .\]

This returns a random variable where the parametrization depends on the paramtrization of \(x_t\). This is different to transition_rv() which computes the parametrization of \(x_{t + \Delta t}\) based on a realization of \(x_t\).

Nb: Think of transition as a verb, i.e. this method “transitions” a random variable.

Parameters
Return type

(‘RandomVariable’, typing.Dict)

Returns

  • RandomVariable – Random variable, describing the state at time \(t + \Delta t\) based on realization at time \(t\).

  • dict – Additional information in form of a dictionary, for instance the cross-covariance in the prediction step, access to which is useful in smoothing.

See also

transition_realization()

Apply transition to a realization of a random variable.