R: Fit Autoregressive Models to Time Series by OLS

ar.ols {stats} | R Documentation

## Fit Autoregressive Models to Time Series by OLS

### Description

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

### Usage

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

### 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 10*log10(N) where N is the number of observations.
`na.action` | function to be called to handle missing values.
`demean` | should the AR model be for `x` minus its mean?
`intercept` | should a separate intercept term be fitted?
`series` | names for the series. Defaults to `deparse1(substitute(x))`.
`...` | further arguments to be passed to or from methods.

### Details

`ar.ols` fits the general AR model to a possibly non-stationary and/or multivariate system of series `x`. The resulting unconstrained least squares estimates are consistent, even if some of the series are non-stationary and/or co-integrated. For definiteness, note that the AR coefficients have the sign in

(x[t] - m) = a[0] + a[1]*(x[t-1] - m) + … + a[p]*(x[t-p] - m) + e[t]

where a[0] is zero unless `intercept` is true, and m is the sample mean if `demean` is true, zero otherwise.

Order selection is done by AIC if `aic` is true. This is problematic, as `ar.ols` does not perform true maximum likelihood estimation. The AIC is computed as if the variance estimate (computed from the variance matrix of the residuals) 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.

Some care is needed if `intercept` is true and `demean` is false. Only use this is the series are roughly centred on zero. Otherwise the computations may be inaccurate or fail entirely.

### Value

A list of class `"ar"` with the following elements:

`order` | The order of the fitted model. This is chosen by minimizing the AIC if `aic = TRUE`, otherwise it is `order.max`.
`ar` | Estimated autoregression coefficients for the fitted model.
`var.pred` | The prediction variance: an estimate of the portion of the variance of the time series that is not explained by the autoregressive model.
`x.mean` | The estimated mean (or zero if `demean` is false) of the series used in fitting and for use in prediction.
`x.intercept` | The intercept in the model for `x - x.mean`, or zero if `intercept` is false.
`aic` | The differences in AIC between each model and the best-fitting model. Note that the latter can have an AIC of `-Inf`.
`n.used` | The number of observations in the time series.
`order.max` | The value of the `order.max` argument.
`partialacf` | `NULL`. For compatibility with `ar`.
`resid` | residuals from the fitted model, conditioning on the first `order` observations. The first `order` residuals are set to `NA`. If `x` is a time series, so is `resid`.
`method` | The character string `"Unconstrained LS"`.
`series` | The name(s) of the time series.
`frequency` | The frequency of the time series.
`call` | The matched call.
`asy.se.coef` | The asymptotic-theory standard errors of the coefficient estimates.

### Author(s)

Adrian Trapletti, Brian Ripley.

### References

Luetkepohl, H. (1991): Introduction to Multiple Time Series Analysis. Springer Verlag, NY, pp. 368–370.

### See Also

`ar`

### Examples

    ar(lh, method = "burg")
    ar.ols(lh)
    ar.ols(lh, FALSE, 4) # fit ar(4)

    ar.ols(ts.union(BJsales, BJsales.lead))

    x <- diff(log(EuStockMarkets))
    ar.ols(x, order.max = 6, demean = FALSE, intercept = TRUE)

[Package stats version 4.0.5 Index]