ARMA {dse} | R Documentation |

Constructs an ARMA TSmodel object as used by the DSE package.

```
ARMA(A=NULL, B=NULL, C=NULL, TREND=NULL,
constants=NULL,
description=NULL, names=NULL, input.names=NULL, output.names=NULL)
is.ARMA(obj)
```

`A` |
The auto-regressive polynomial, an axpxp array. |

`B` |
The moving-average polynomial, an bxpxp array. |

`C` |
The input polynomial, an cxpxm array. C should be NULL if there is no input |

`TREND` |
A matrix, p-vector, or NULL. |

`constants` |
NULL or a list of logical arrays with the same names as arrays above, indicating which elements should be considered constants. |

`description` |
An arbitrary string. |

`names` |
A list with elements input and output, each a vector of strings. Arguments input.names and output.names should not be used if argument names is used. |

`input.names` |
A vector of strings. |

`output.names` |
A vector of strings. |

`obj` |
Any object. |

The ARMA model is defined by:

A(L)y(t) = B(L)w(t) + C(L)u(t) + TREND(t)

where

- A
(axpxp) is the auto-regressive polynomial array.

- B
(bxpxp) is the moving-average polynomial array.

- C
(cxpxm) is the input polynomial array. C should be NULL if there is no input

- y
is the p dimensional output data.

- u
is the m dimensional control (input) data.

- TREND
is a matrix the same dimension as y, a p-vector (which gets replicated for each time period), or NULL.

This is sometime called a vector ARMA (VARMA) model, but the univariate case is
also handled by this structure. VAR models are a special case
where `B(L) = I`

. ARIMA models are also special cases where the
polynomial arrays have unit roots, but these are not distinguished in a
separate term as is sometimes done in other programs.

The name of last term, `TREND`

, is misleading. If it is NULL it is treated
as zero. If it is a p-vector, then this constant vector is added to the
the p-vector `y(t)`

at each period. For a stable model this would give the
none zero mean, and might more appropriately be called the constant or intercept
rather than trend. If the model is for differenced data, then this mean is the
trend of the undifferenced model. The more general case is when `TREND`

is
a time series matrix of the same dimension as `y`

. In this case it is added
to `y`

. This allows for a very general deterministic component, which may
or may not be a traditional trend.

By default, elements in parameter arrays are treated as constants if they
are exactly 1.0 or 0.0, and as parameters otherwise. A value of 1.001 would
be treated as a parameter, and this is the easiest way to initialize an
element which is not to be treated as a constant of value 1.0. Any array
elements can be fixed to constants by specifying the list `constants`

.
Arrays which are not specified in the list will be treated in the default
way. An alternative for fixing constants is the function `fixConstants`

.

The function `ARMA`

sets up a model but does not estimate it. See
`estVARXls`

for one possibility for estimating VAR models and
`estMaxLik`

for one possibility for estimating ARMA models.

An ARMA TSmodel

`TSmodel`

,
`simulate.ARMA`

,
`fixConstants`

`estVARXls`

`estMaxLik`

```
mod1 <- ARMA(A=array(c(1,-.25,-.05), c(3,1,1)), B=array(1,c(1,1,1)))
AR <- array(c(1, .5, .3, 0, .2, .1, 0, .2, .05, 1, .5, .3) ,c(3,2,2))
VAR <- ARMA(A=AR, B=diag(1,2))
C <- array(c(0.5,0,0,0.2),c(1,2,2))
VARX <- ARMA(A=AR, B=diag(1,2), C=C)
MA <- array(c(1, .2, 0, .1, 0, 0, 1, .3), c(2,2,2))
ARMA <- ARMA(A=AR, B=MA, C=NULL)
ARMAX <- ARMA(A=AR, B=MA, C=C)
```

[Package *dse* version 2020.2-1 Index]