# 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 from`lag`

is used.- 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:

the lag specification of the fitted model.

estimated ARMA coefficients for the fitted model.

the conditional sum-of-squared errors.

the number of observations of `x`

.

the series of residuals.

the fitted series.

the name of the series `x`

.

the frequency of the series `x`

.

the call of the `arma`

function.

estimate of the asymptotic-theory covariance matrix for the coefficient estimates.

The `convergence`

integer code from
`optim`

.

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

```
# NOT RUN {
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.10-46, License: GPL-2*