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 (
Real
) – Marginal measurement variance.driftspeed (
Real
) – Drift parameter of the Ornstein-Uhlenbeck process.process_diffusion (
Real
) – Diffusion constant for the dynamicstime_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