# arma

##### Fit ARMA Models to Time Series

Fit an ARMA model to a univariate time series by conditional least
squares. For exact maximum likelihood estimation see
`arima0`

.

- Keywords
- ts

##### Usage

```
arma (x, order = c(1, 1), lag = NULL, coef = NULL, include.intercept = TRUE,
series = NULL, qr.tol = 1e-07, ...)
coef (object)
residuals (object)
fitted (object)
print (object, digits = max(3,.Options$digits-3))
summary (object)
plot (object, ask = interactive())
print.summary (object, digits = max(3,.Options$digits-3),
signif.stars = .Options$show.signif.stars, ...)
```

##### Arguments

- x
- a numeric vector or time series.
- order
- a two dimensional integer vector giving the orders of the
model to fit.
`order[1]`

corresponds to the AR part and`order[2]`

to the MA part. - lag
- a list with components
`ar`

and`ma`

. Each component is an integer vector, specifying the AR and MA lags that are included in the model. If both,`order`

and`lag`

, are given, only the specification - coef
- If given this numeric vector is used as the initial estimate of the ARMA coefficients. The preliminary estimator suggested in Hannan and Rissanen (1982) is used for the default initialization.
- include.intercept
- Should the model contain an intercept?
- series
- name for the series. Defaults to
`deparse(substitute(x))`

. - qr.tol
- the
`tol`

argument for`qr`

when computing the asymptotic standard errors of`coef`

. - ...
- additional arguments for
`optim`

when fitting the model. - object
- a fit from
`arma`

. - digits, signif.stars
- see
`print.coefmat`

. - ask
- Should the
`plot`

method work interactively? See`interactive`

. - ...
- additional arguments for
`print`

.

##### Details

The following parametrization is used for the ARMA(p,q) model:
$$y[t] = a[0] + a[1]y[t-1] + \dots + a[p]y[t-p] + b[1]e[t-1] +
\dots + b[q]e[t-q] + e[t],$$
where `a[0]`

is set to zero if no intercept is included. By using
the argument `lag`

, it is possible to fit a parsimonious submodel
by setting arbitrary `a[i]`

and `b[i]`

to zero.
`arma`

uses `optim`

to minimize the conditional
sum-of-squared errors. The gradient is computed, if it is needed, by
a finite-difference approximation. Default initialization is done by
fitting a pure high-order AR model (see `ar.ols`

).
The estimated residuals are then used for computing a least squares
estimator of the full ARMA model. See Hannan and Rissanen (1982) for
details.
`summary`

computes the asymptotic standard errors of the
coefficient estimates from the numerically differentiated Hessian
matrix approximation. The AIC is computed from the conditional
sum-of-squared errors and not from the true maximum likelihood
function. That may be problematic.

##### Value

- For
`arma`

and its methods`print`

and`plot`

a list of class`"arma"`

with the following elements: lag the lag specification of the fitted model. coef estimated ARMA coefficients for the fitted model. css the conditional sum-of-squared errors. n.used the number of observations of `x`

.residuals the series of residuals. fitted.values the fitted series. series the name of the series `x`

.frequency the frequency of the series `x`

.call the call of the `arma`

function.asy.se.coef the asymptotic-theory standard errors of the coefficient estimates. convergence The `convergence`

integer code from`optim`

.include.intercept Does the model contain an intercept? - For
`coef`

, a numeric vector, for`residuals`

and`fitted`

a univariate time series. For`summary`

and`print.summary`

a list of class`"summary.arma"`

.

##### References

E. J. Hannan and J. Rissanen (1982): Recursive Estimation of Mixed
Autoregressive-Moving Average Order. *Biometrika* **69**,
81-94.

##### See Also

##### Examples

```
data (tcm)
r <- diff(tcm10y)
summary (r.arma <- arma (r, order = c(1, 0)))
summary (r.arma <- arma (r, order = c(2, 0)))
summary (r.arma <- arma (r, order = c(0, 1)))
summary (r.arma <- arma (r, order = c(0, 2)))
summary (r.arma <- arma (r, order = c(1, 1)))
plot (r.arma)
data (nino)
s <- nino3.4
summary (s.arma <- arma (s, order=c(20,0)))
summary (s.arma
<- arma (s, lag=list(ar=c(1,3,7,10,12,13,16,17,19),ma=NULL)))
acf (residuals(s.arma), na.action=na.remove)
pacf (residuals(s.arma), na.action=na.remove)
summary (s.arma
<- arma (s, lag=list(ar=c(1,3,7,10,12,13,16,17,19),ma=12)))
summary (s.arma
<- arma (s, lag=list(ar=c(1,3,7,10,12,13,16,17),ma=12)))
plot (s.arma)
```

*Documentation reproduced from package tseries, version 0.7-4, License: GPL (see file COPYING), except for ./src/muin2ser.f and ./misc which are free for non-commercial purposes. See file README for details.*