marma {evd} | R Documentation

## Simulate MARMA(p,q) Processes

### Description

Simulation of MARMA(p,q) processes.

### Usage

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

### Arguments

`n` | The number of observations.
`p` | The AR order of the MARMA process.
`q` | The MA order of the MARMA process.
`psi` | A vector of non-negative parameters, of length `p`. Can be omitted if `p` is zero.
`theta` | A vector of non-negative parameters, of length `q`. Can be omitted if `q` is zero.
`init` | A vector of non-negative starting values, of length `p`.
`n.start` | 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.
`rand.gen` | 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.

### Details

A max autoregressive moving average process {X_k}, denoted by MARMA(p,q), satisfies

X_k = max[phi_1 X_{k-1}, ..., phi_p X_{k-p}, epsilon_k, theta_1 epsilon_{k-1}, ..., theta_q epsilon_{k-q}]

where `phi` = (phi_1, ..., phi_p) and `theta` = (theta_1, ..., 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}, ..., 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}, ..., theta_q epsilon_{k-q}].

### Value

A numeric vector of length `n`.

### See Also

`evmc`

### Examples

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

[Package Contents]