# ornstein_uhlenbeck¶

probnum.problems.zoo.filtsmooth.ornstein_uhlenbeck(rng, measurement_variance=0.1, driftspeed=0.21, process_diffusion=0.5, time_grid=None, initrv=None, forward_implementation='classic', backward_implementation='classic')[source]

Filtering/smoothing setup based on an Ornstein Uhlenbeck process.

A linear, time-invariant state space model for the dynamics of a time-invariant Ornstein-Uhlenbeck process. See e.g. Example 10.19 in Särkkä et. al, 2019.  Here, we formulate a continuous-discrete state space model:

$\begin{split}d x(t) &= \lambda x(t) d t + L d w(t) \\ y_n &= x(t_n) + r_n\end{split}$

for a drift constant $$\lambda$$ and a driving Wiener process $$w(t)$$. $$r_n \sim \mathcal{N}(0, R)$$ is Gaussian distributed measurement noise with covariance matrix $$R$$. Note that the linear, time-invariant dynamics have an equivalent discretization.

Parameters:
• rng (Generator) – Random number generator.

• measurement_variance (FloatLike) – Marginal measurement variance.

• driftspeed (FloatLike) – Drift parameter of the Ornstein-Uhlenbeck process.

• process_diffusion (FloatLike) – Diffusion constant for the dynamics

• time_grid (ndarray | None) – Time grid for the filtering/smoothing problem.

• initrv (RandomVariable | None) – Initial random variable.

• forward_implementation (str) – Implementation of the forward transitions inside prior and measurement model. Optional. Default is classic. For improved numerical stability, use sqrt.

• backward_implementation (str) – Implementation of the backward transitions inside prior and measurement model. Optional. Default is classic. For improved numerical stability, use sqrt.

Returns:

• regression_problemTimeSeriesRegressionProblem object with time points and noisy observations.

• info – Dictionary containing additional information like the prior process.

References