This help topic is for R version 1.1. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/ts/html/arima0.html
arima0 {ts}R Documentation

ARIMA Modelling of Time Series – Preliminary Version

Description

Fit an ARIMA model to a univariate time series by exact maximum likelihood, and forecast from the fitted model.

Usage

arima0(x, order = c(0, 0, 0),
       seasonal = list(order = c(0, 0, 0), period = NA),
       xreg = NULL, include.mean, na.action = na.fail,
       delta = 0.01, transform.pars = 2)

predict(arima0.obj, n.ahead = 1, newxreg, se.fit = TRUE)

arima0.diag(fit, gof.lag = 10) 

Arguments

x

a univariate time series

order

A specification of the non-seasonal part of the ARIMA model: the three components are (p, d, q), the AR order, the degree of differencing and the MA order.

seasonal

A specification of the seasonal part of the ARIMA model, plus the period (which defaults to frequency(x)).

xreg

Optionally, a vector or matrix of external regressors, which must have the same number of rows as x.

include.mean

Should the ARIMA model include a mean term? The default is TRUE for undifferenced series, FALSE for differenced ones (where a mean would not affect the fit nor predictions).

na.action

Function to be applied to remove missing values.

delta

A value to indicate at which point ‘fast recursions’ should be used. See the Details section.

transform.pars

If greater than 0, the ARMA parameters are transformed to ensure that they remain in the region of invertibility. If equal to 2, the optimization is rerun on the original scale to find the Hessian.

arima0.obj, fit

The result of an arima0 fit.

newxreg

New values of xreg to be used for prediction. Must have at least n.ahead rows.

n.ahead

The number of steps ahead for which prediction is required.

se.fit

Logical: should standard errors of prediction be returned?

gof.lag

Number of lags to be used in goodness-of-fit test.

Details

Different definitions of ARIMA models have different signs for the AR and/or MA coefficients. The definition here has

X_t = a_1X_{t-1} + \cdots + a_pX_{t-p} + e_t + b_1e_{t-1} + \dots + b_qe_{t-q}

and so the MA coefficients differ in sign from those of S-PLUS. Further, if include.mean is true, this formula applies to X-m rather than X.

The exact likelihood is computed via a state-space representation of the ARMA process, and the innovations and their variance found by a Kalman filter using the Fortran code of Gardener et al. (1980). This has the option to switch to ‘fast recursions’ (assume an effectively infinite past) if the innovations variance is close enough to its asymptotic bound. The argument delta sets the tolerance: at its default value the approximation is normally negligible and the speed-up considerable. Exact computations can be ensured by setting delta to a negative value.

The variance matrix of the estimates is found from the Hessian of the log-likelihood, and so may only be a rough guide, especially for fits close to the boundary of invertibility.

Optimization is (currently) done by nlm. It will work best if the columns in xreg are roughly scaled to zero mean and unit variance.

Finite-history prediction is used. This is only statistically efficient if the MA part of the fit is invertible, so predict.arima0 will give a warning for non-invertible MA models.

Value

For arima0, a list of class "arima0" with components:

coef

a vector of AR, MA and regression coefficients,

sigma2

the MLE of the innovations variance.

var.coef

the estimated variance matrix of the coefficients coef. If transform.pars = 1, only the portion corresponding to the untransformed parameters is returned.

loglik

the maximized log-likelihood (of the differenced data).

arma

A compact form of the specification, as a vector giving the number of AR, MA, seasonal AR and seasonal MA coefficients, plus the period and the number of non-seasonal and seasonal differences.

aic

the AIC value corresponding to the log-likelihood.

resid

the residuals.

call

the matched call.

series

the name of the series x.

convergence

the value returned by optim.

For predict.arima0, 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

This is a preliminary version, and will be replaced in due course.

The standard errors of prediction exclude the uncertainty in the estimation of the ARMA model and the regression coefficients.

The results are likely to be different from S-PLUS's arima.mle, which computes a conditional likelihood and does not include a mean in the model. Further, the convention used by arima.mle reverses the signs of the MA coefficients.

Author(s)

B.D. Ripley

References

Brockwell, P. J. and Davis, R. A. (1996) Introduction to Time Series and Forecasting. Springer, New York. Sections 3.3 and 8.3.

Gardener, G, Harvey, A. C. and Phillips, G. D. A. (1980) Algorithm AS154. An algorithm for exact maximum likelihood estimation of autoregressive-moving average models by means of Kalman filtering. Applied Statistics 29, 311–322.

Harvey, A. C. (1993) Time Series Models, 2nd Edition, Harvester Wheatsheaf, section 4.4.

Harvey, A. C. and McKenzie, C. R. (1982) Algorithm AS182. An algorithm for finite sample prediction from ARIMA processes. Applied Statistics 31, 180–187.

See Also

ar

Examples

data(lh)
arima0(lh, order=c(1,0,0))
arima0(lh, order=c(3,0,0))
arima0(lh, order=c(1,0,1))
predict(arima0(lh, order=c(3,0,0)), n.ahead=12)

data(USAccDeaths)
fit <- arima0(USAccDeaths, order=c(0,1,1), seasonal=list(order=c(0,1,1)))
fit
predict(fit, n.ahead=6)

data(LakeHuron)
arima0(LakeHuron, order=c(2,0,0), xreg=1:98)