Fit an autoregressive time series model to the data, by default selecting the complexity by AIC.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28  ar(x, aic = TRUE, order.max = NULL,
method = c("yulewalker", "burg", "ols", "mle", "yw"),
na.action, series, ...)
ar.burg(x, ...)
## Default S3 method:
ar.burg(x, aic = TRUE, order.max = NULL,
na.action = na.fail, demean = TRUE, series,
var.method = 1, ...)
## S3 method for class 'mts'
ar.burg(x, aic = TRUE, order.max = NULL,
na.action = na.fail, demean = TRUE, series,
var.method = 1, ...)
ar.yw(x, ...)
## Default S3 method:
ar.yw(x, aic = TRUE, order.max = NULL,
na.action = na.fail, demean = TRUE, series, ...)
## S3 method for class '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 class 'ar'
predict(object, newdata, n.ahead = 1, se.fit = TRUE, ...)

x 
A univariate or multivariate time series. 
aic 
Logical flag. If 
order.max 
Maximum order (or order) of model to fit. Defaults
to the smaller of N1 and 10*log10(N)
where N is the number of observations
except for 
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

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

var.method 
the method to estimate the innovations variance (see ‘Details’). 
... 
additional arguments for specific methods. 
object 
a fit from 
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? 
For definiteness, note that the AR coefficients have the sign in
x[t]  m = a[1]*(x[t1]  m) + … + a[p]*(x[tp]  m) + 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 LevinsonDurbin recursion (Brockwell and Davis, 1991, (8.2.6)
on page 242), and follows SPLUS. 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.
For ar
and its methods a list of class "ar"
with
the following elements:
order 
The order of the fitted model. This is chosen by
minimizing the AIC if 
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 of the series used in fitting and for use in prediction. 
x.intercept 
( 
aic 
The differences in AIC between each model and the
bestfitting model. Note that the latter can have an AIC of 
n.used 
The number of observations in the time series. 
order.max 
The value of the 
partialacf 
The estimate of the partial autocorrelation function
up to lag 
resid 
residuals from the fitted model, conditioning on the
first 
method 
The value of the 
series 
The name(s) of the time series. 
frequency 
The frequency of the time series. 
call 
The matched call. 
asy.var.coef 
(univariate case, 
For 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.
Only the univariate case of ar.mle
is implemented.
Fitting by method="mle"
to long series can be very slow.
Martyn Plummer. Univariate case of ar.yw
, ar.mle
and C code for univariate case of ar.burg
by B. D. Ripley.
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.
ar.ols
, arima
for ARMA models;
acf2AR
, for AR construction from the ACF.
arima.sim
for simulation of AR processes.
1 2 3 4 5 6 7 8 9 10 11 12  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")

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.