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

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

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

##### Value

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

##### References

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

##### See Also

`summary.arma`

for summarizing ARMA model fits;
`arma-methods`

for further methods;
`arima0`

, `ar`

.

##### 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.8-3, License: GPL (see file COPYING), except for ./src/muin2ser.f and ./misc which are free for non-commercial purposes. See file README for details.*