Learn R Programming

pomp (version 5.11)

ou2: Two-dimensional discrete-time Ornstein-Uhlenbeck process

Description

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

Usage

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
)

Value

A ‘pomp’ object with simulated data.

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

Details

If the state process is \(X(t) = (X_{1}(t),X_{2}(t))\), then $$X(t+1) = \alpha X(t) + \sigma \epsilon(t),$$ where \(\alpha\) and \(\sigma\) are 2x2 matrices, \(\sigma\) is lower-triangular, and \(\epsilon(t)\) is standard bivariate normal. The observation process is \(Y(t) = (Y_1(t),Y_2(t))\), where \(Y_i(t) \sim \mathrm{normal}(X_i(t),\tau)\).

See Also

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

Examples

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

Run the code above in your browser using DataLab