Simulation of MARMA(p,q) processes.
marma(n, p = 0, q = 0, psi, theta, init = rep(0, p), n.start = p,
rand.gen = rfrechet, …)
mar(n, p = 1, psi, init = rep(0, p), n.start = p, rand.gen =
rfrechet, …)
mma(n, q = 1, theta, rand.gen = rfrechet, …)The number of observations.
The AR order of the MARMA process.
The MA order of the MARMA process.
A vector of non-negative parameters, of length
p. Can be omitted if p is zero.
A vector of non-negative parameters, of length
q. Can be omitted if q is zero.
A vector of non-negative starting values, of
length p.
A non-negative value denoting the length of the
burn-in period. If n.start is less than p, then
p minus n.start starting values will be included
in the output series.
A simulation function to generate the innovations.
Additional arguments for rand.gen. Most
usefully, the scale and shape parameters of the innovations
generated by rfrechet can be specified by scale
and shape respectively.
A numeric vector of length n.
A max autoregressive moving average process \(\{X_k\}\),
denoted by MARMA(p,q), is defined in Davis and Resnick (1989) as
satisfying
$$X_k = \max\{\phi_1 X_{k-1}, \ldots, \phi_p X_{k-p}, \epsilon_k,
\theta_1 \epsilon_{k-1}, \ldots, \theta_q \epsilon_{k-q}\}$$
where \(\code{phi} = (\phi_1, \ldots, \phi_p)\)
and \(\code{theta} = (\theta_1, \ldots, \theta_q)\)
are non-negative vectors of parameters, and where
\(\{\epsilon_k\}\) is a series of iid
random variables with a common distribution defined by
rand.gen.
The functions mar and mma generate MAR(p) and
MMA(q) processes respectively.
A MAR(p) process \(\{X_k\}\) is equivalent to a
MARMA(p, 0) process, so that
$$X_k = \max\{\phi_1 X_{k-1}, \ldots, \phi_p X_{k-p},
\epsilon_k\}.$$
A MMA(q) process \(\{X_k\}\) is equivalent to a
MARMA(0, q) process, so that
$$X_k = \max\{\epsilon_k, \theta_1 \epsilon_{k-1}, \ldots,
\theta_q \epsilon_{k-q}\}.$$
Davis, R. A. and Resnick, S. I. (1989) Basic properties and prediction of max-arma processes. Adv. Appl. Prob., 21, 781--803.
# NOT RUN {
marma(100, p = 1, q = 1, psi = 0.75, theta = 0.65)
mar(100, psi = 0.85, n.start = 20)
mma(100, q = 2, theta = c(0.75, 0.8))
# }
Run the code above in your browser using DataLab