# arma: Fit ARMA Models to Time Series In tseries: Time Series Analysis and Computational Finance

 arma R Documentation

## Fit ARMA Models to Time Series

### Description

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

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

 `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. `vcov` estimate of the asymptotic-theory covariance matrix for the coefficient estimates. `convergence` The `convergence` integer code from `optim`. `include.intercept` Does the model contain an intercept?

A. Trapletti

### References

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

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

tseries documentation built on May 2, 2023, 5:11 p.m.