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. 1 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 (Optional[ndarray]) – Time grid for the filtering/smoothing problem.
initrv (Optional[RandomVariable]) – 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_problem –
TimeSeriesRegressionProblem
object with time points and noisy observations.info – Dictionary containing additional information like the prior process.
References
- 1
Särkkä, Simo, and Solin, Arno. Applied Stochastic Differential Equations. Cambridge University Press, 2019