arma {tseries} | R Documentation |
Fit an ARMA model to a univariate time series by conditional least
squares. For exact maximum likelihood estimation see
arima0
.
arma (x, order = c(1, 1), lag = NULL, coef = NULL, include.intercept = TRUE, series = NULL, qr.tol = 1e-07, ...) coef (object) residuals (object) fitted (object) print (object, digits = max(3,.Options$digits-3)) summary (object) plot (object, ask = interactive()) print.summary (object, digits = max(3,.Options$digits-3), signif.stars = .Options$show.signif.stars, ...)
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. |
object |
a fit from arma . |
digits, signif.stars |
see print.coefmat . |
ask |
Should the plot method work interactively? See
interactive . |
... |
additional arguments for print . |
The following parametrization is used for the ARMA(p,q) model:
y[t] = a[0] + a[1]y[t-1] + ... + a[p]y[t-p] + b[1]e[t-1] + ... + 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.
summary
computes the asymptotic standard errors of the
coefficient estimates from the numerically differentiated Hessian
matrix approximation. The AIC is computed from the conditional
sum-of-squared errors and not from the true maximum likelihood
function. That may be problematic.
For arma
and its methods print
and plot
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. |
asy.se.coef |
the asymptotic-theory standard errors of the coefficient estimates. |
convergence |
The convergence integer code from
optim . |
include.intercept |
Does the model contain an intercept? |
For coef
, a numeric vector, for residuals
and
fitted
a univariate time series.
For summary
and print.summary
a list of
class "summary.arma"
.
A. Trapletti
E. J. Hannan and J. Rissanen (1982): Recursive Estimation of Mixed Autoregressive-Moving Average Order. Biometrika 69, 81-94.
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)