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

ou2R Documentation

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
)

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).

Value

A ‘pomp’ object with simulated data.

See Also

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

Examples

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

pomp documentation built on Aug. 8, 2023, 1:08 a.m.