# ar

##### Fit Autoregressive Models to Time Series

Fit an autoregressive time series model to the data, by default selecting the complexity by AIC.

- Keywords
- ts

##### Usage

```
ar(x, aic = TRUE, order.max = NULL,
method = c("yule-walker", "burg", "ols", "mle", "yw"),
na.action, series, …)
```ar.burg(x, …)
# S3 method for default
ar.burg(x, aic = TRUE, order.max = NULL,
na.action = na.fail, demean = TRUE, series,
var.method = 1, …)
# S3 method for mts
ar.burg(x, aic = TRUE, order.max = NULL,
na.action = na.fail, demean = TRUE, series,
var.method = 1, …)

ar.yw(x, …)
# S3 method for default
ar.yw(x, aic = TRUE, order.max = NULL,
na.action = na.fail, demean = TRUE, series, …)
# S3 method for mts
ar.yw(x, aic = TRUE, order.max = NULL,
na.action = na.fail, demean = TRUE, series,
var.method = 1, …)

ar.mle(x, aic = TRUE, order.max = NULL, na.action = na.fail,
demean = TRUE, series, …)

# S3 method for ar
predict(object, newdata, n.ahead = 1, se.fit = TRUE, …)

##### Arguments

- x
- A univariate or multivariate time series.
- aic
- Logical flag. If
`TRUE`

then the Akaike Information Criterion is used to choose the order of the autoregressive model. If`FALSE`

, the model of order`order.max`

is fitted. - order.max
- Maximum order (or order) of model to fit. Defaults
to the smaller of \(N-1\) and \(10\log_{10}(N)\)
where \(N\) is the number of observations
except for
`method = "mle"`

where it is the minimum of this quantity and 12. - method
- Character string giving the method used to fit the
model. Must be one of the strings in the default argument
(the first few characters are sufficient). Defaults to
`"yule-walker"`

. - na.action
- function to be called to handle missing values.
- demean
- should a mean be estimated during fitting?
- series
- names for the series. Defaults to
`deparse(substitute(x))`

. - var.method
- the method to estimate the innovations variance (see ‘Details’).
- …
- additional arguments for specific methods.
- object
- a fit from
`ar`

. - newdata
- data to which to apply the prediction.
- n.ahead
- number of steps ahead at which to predict.
- se.fit
- logical: return estimated standard errors of the prediction error?

##### Details

For definiteness, note that the AR coefficients have the sign in $$x_t - \mu = a_1(x_{t-1} - \mu) + \cdots + a_p(x_{t-p} - \mu) + e_t$$ `ar`

is just a wrapper for the functions `ar.yw`

,
`ar.burg`

, `ar.ols`

and `ar.mle`

. Order selection is done by AIC if `aic`

is true. This is
problematic, as of the methods here only `ar.mle`

performs
true maximum likelihood estimation. The AIC is computed as if the variance
estimate were the MLE, omitting the determinant term from the
likelihood. Note that this is not the same as the Gaussian likelihood
evaluated at the estimated parameter values. In `ar.yw`

the
variance matrix of the innovations is computed from the fitted
coefficients and the autocovariance of `x`

. `ar.burg`

allows two methods to estimate the innovations
variance and hence AIC. Method 1 is to use the update given by
the Levinson-Durbin recursion (Brockwell and Davis, 1991, (8.2.6)
on page 242), and follows S-PLUS. Method 2 is the mean of the sum
of squares of the forward and backward prediction errors
(as in Brockwell and Davis, 1996, page 145). Percival and Walden
(1998) discuss both. In the multivariate case the estimated
coefficients will depend (slightly) on the variance estimation method. Remember that `ar`

includes by default a constant in the model, by
removing the overall mean of `x`

before fitting the AR model,
or (`ar.mle`

) estimating a constant to subtract.

##### Value

For `ar`

and its methods a list of class `"ar"`

with
the following elements:

`aic = TRUE`

, otherwise it is `order.max`

.`ar.ols`

only.) The intercept in the model for
`x - x.mean`

.`-Inf`

.`order.max`

argument.`order.max`

.`order`

observations. The first `order`

residuals
are set to `NA`

. If `x`

is a time series, so is `resid`

.`method`

argument.`order > 0`

.)
The asymptotic-theory variance matrix of the coefficient estimates.`predict.ar`

, a time series of predictions, or if
`se.fit = TRUE`

, a list with components `pred`

, the
predictions, and `se`

, the estimated standard errors. Both
components are time series.
##### Note

Only the univariate case of `ar.mle`

is implemented. Fitting by `method="mle"`

to long series can be very slow.

##### References

Brockwell, P. J. and Davis, R. A. (1991) *Time
Series and Forecasting Methods.* Second edition. Springer, New
York. Section 11.4. Brockwell, P. J. and Davis, R. A. (1996) *Introduction to Time
Series and Forecasting.* Springer, New York. Sections 5.1 and 7.6. Percival, D. P. and Walden, A. T. (1998) *Spectral Analysis
for Physical Applications.* Cambridge University Press. Whittle, P. (1963) On the fitting of multivariate autoregressions
and the approximate canonical factorization of a spectral density
matrix. *Biometrika* **40**, 129--134.

##### See Also

`ar.ols`

, `arima`

for ARMA models;
`acf2AR`

, for AR construction from the ACF. `arima.sim`

for simulation of AR processes.

##### Examples

`library(stats)`

```
ar(lh)
ar(lh, method = "burg")
ar(lh, method = "ols")
ar(lh, FALSE, 4) # fit ar(4)
(sunspot.ar <- ar(sunspot.year))
predict(sunspot.ar, n.ahead = 25)
## try the other methods too
ar(ts.union(BJsales, BJsales.lead))
## Burg is quite different here, as is OLS (see ar.ols)
ar(ts.union(BJsales, BJsales.lead), method = "burg")
```

*Documentation reproduced from package stats, version 3.3.3, License: Part of R 3.3.3*