ou2 function

Two-dimensional discrete-time Ornstein-Uhlenbeck process

Two-dimensional discrete-time Ornstein-Uhlenbeck process

ou2() constructs a pomp object encoding a bivariate discrete-time Ornstein-Uhlenbeck process with noisy observations. data

ou2( alpha_1 = 0.8, alpha_2 = -0.5, alpha_3 = 0.3, alpha_4 = 0.9, sigma_1 = 3, sigma_2 = -0.5, sigma_3 = 2, tau = 1, x1_0 = -3, x2_0 = 4, times = 1:100, t0 = 0 )

Arguments

  • alpha_1, alpha_2, alpha_3, alpha_4: entries of the α\alpha matrix, in column-major order. That is, alpha_2 is in the lower-left position.
  • sigma_1, sigma_2, sigma_3: entries of the lower-triangular σ\sigma matrix. sigma_2 is the entry in the lower-left position.
  • tau: measurement error s.d.
  • x1_0, x2_0: latent variable values at time t0
  • times: vector of observation times
  • t0: the zero time

Returns

A pomp object with simulated data.

Details

If the state process is X(t)=(X1(t),X2(t))X(t) = (X_{1}(t),X_{2}(t)), then

X(t+1)=αX(t)+σϵ(t), X(t+1) = \alpha X(t) + \sigma \epsilon(t),

where α\alpha and σ\sigma are 2x2 matrices, σ\sigma is lower-triangular, and ϵ(t)\epsilon(t) is standard bivariate normal. The observation process is Y(t)=(Y1(t),Y2(t))Y(t) = (Y_1(t),Y_2(t)), where Yi(t)normal(Xi(t),τ)Y_i(t) \sim \mathrm{normal}(X_i(t),\tau).

Examples

po <- ou2() plot(po) coef(po) x <- simulate(po) plot(x) pf <- pfilter(po,Np=1000) logLik(pf)

See Also

More examples provided with pomp: blowflies, childhood_disease_data, compartmental_models, dacca(), ebola, gompertz(), pomp_examples, ricker(), rw2(), verhulst()

  • Maintainer: Aaron A. King
  • License: GPL-3
  • Last published: 2025-04-16