- Autoregressive moving average model
In
statistics , autoregressive moving average (ARMA) models, sometimes called Box-Jenkins models after the iterativeBox-Jenkins methodology usually used to estimate them, are typically applied totime series data.Given a time series of data "X""t", the ARMA model is a tool for understanding and, perhaps, predicting future values in this series. The model consists of two parts, an autoregressive (AR) part and a moving average (MA) part. The model is usually then referred to as the ARMA("p","q") model where "p" is the order of the autoregressive part and "q" is the order of the moving average part (as defined below).
Autoregressive model
The notation AR("p") refers to the autoregressive model of order "p". The AR("p") model is written
:
where are the "parameters" of the model, is a constant and is
white noise . The constant term is omitted by many authors for simplicity.An autoregressive model is essentially an all-pole
infinite impulse response filter with some additional interpretation placed on it.Some constraints are necessary on the values of the parameters of this model in order that the model remains stationary. For example, processes in the AR(1) model with |"φ"1| ≥ 1 are not stationary.
Example: An AR(1)-process
An AR(1)-process is given by:
:
where is a white noise process with zero mean and variance .(Note: The subscript on has been dropped.) The process is
wide sense stationary if . (If then exhibits aunit root and can also be considered as arandom walk , which is not wide sense stationary.) Assuming and denoting the mean by , we get:
Thus
:
In particular, if , then the mean is 0.
The
variance can be shown to equal:
The
autocovariance is given by:
which yields a Lorentzian profile for the spectral density:
:
where is the angular frequency associated with the decay time .
An alternative expression for can be derived by first substituting for in the defining equation. Continuing this process "N" times yields
:
For "N" approaching infinity, will approach zero and:
:
It is seen that is white noise convolved with the kernel plus the constant mean. If the white noise is a
Gaussian process then is also a Gaussian process. In other cases, thecentral limit theorem indicates that will be approximately normally distributed when is close to one.Calculation of the AR parameters
The AR("p") model is given by the equation
:
It is based on parameters where "i" = 1, ..., "p". There is a direct correspondence between these parameters and the covariance function of the process, and this correspondence can be inverted to determine the parameters from the autocorrelation function (which is itself obtained from the covariances). This is done using the Yule-Walker equations:
:
where "m" = 0, ... , "p", yielding "p" + 1 equations. is the autocorrelation function of X, is the standard deviation of the input noise process, and is the
Kronecker delta function .Because the last part of the equation is non-zero only if "m" = 0, the equation is usually solved by representing it as a matrix for "m" > 0, thus getting equation
:
solving all . For "m" = 0 have
:
which allows us to solve .
The above equations (the Yule-Walker equations) provide one route to estimating the parameters of an AR(p) model, by replacing the theoretical covariances with estimated values. One way of specificying the estimated covariances is equivalent to a calculation using
least squares regression of values "X""t" on the "'p" previous values of the same series.Derivation
The equation defining the AR process is
:
Multiplying both sides by "X""t" − "m" and taking expected value yields
:
Now, E ["X""t""X""t" − "m"] = γ"m" by definition of the autocorrelation function. The values of the noise function are independent of each other, and "X""t" − "m" is independent of εt where "m" is greater than zero. For "m" > 0, E [ε"t""X""t" − "m"] = 0. For "m" = 0,
:
Now we have, for "m" ≥ 0,
:
Furthermore,
:
which yields the Yule-Walker equations:
:
for "m" ≥ 0. For "m" < 0,
:
Moving average model
The notation MA("q") refers to the moving average model of order "q":
:
where the θ1, ..., θ"q" are the parameters of the model and the εt, εt-1,... are again, the error terms. The moving average model is essentially a
finite impulse response filter with some additional interpretation placed on it.Autoregressive moving average model
The notation ARMA("p", "q") refers to the model with "p" autoregressive terms and "q" moving average terms. This model contains the AR("p") and MA("q") models,
:
Note about the error terms
The error terms εt are generally assumed to be
independent identically-distributed random variables (i.i.d.) sampled from anormal distribution with zero mean: εt ~ N(0,σ2) where σ2 isthe variance. These assumptions may be weakened but doing so will change the properties of the model. In particular, a change to the i.i.d. assumption would make a rather fundamental difference.Specification in terms of lag operator
In some texts the models will be specified in terms of the
lag operator "L". In these terms then the AR("p") model is given by:
where φ represents the polynomial
:
The MA("q") model is given by
:
where θ represents the polynomial
:
Finally, the combined ARMA("p", "q") model is given by
:
or more concisely,
:
Alternative notation
Some authors, including Box, Jenkins & Reinsel (1994) use a different convention for the autoregression coefficients. This allows all the polynomials involving the lag operator to appear in a similar form throughout. Thus the ARMA model would be written as:
Fitting models
ARMA models in general can, after choosing p and q, be fitted by
least squares regression to find the values of the parameters which minimize the error term. It is generally considered good practice to find the smallest values of p and q which provide an acceptable fit to the data. For a pure AR model the Yule-Walker equations may be used to provide a fit.Implementations in statistics packages
* In R, library "tseries" includes an "arma" function. The function is documented in [http://finzi.psych.upenn.edu/R/library/tseries/html/arma.html "Fit ARMA Models to Time Series"] .
*MATLAB includes a function "ar" to estimate AR models, [http://www.mathworks.com/access/helpdesk/help/toolbox/ident/index.html?/access/helpdesk/help/toolbox/ident/ref/ar.html see here for more details] .
*gretl probably can also estimate ARMA models, [http://constantdream.wordpress.com/2008/03/16/gnu-regression-econometrics-and-time-series-library-gretl/ see here where it's mentioned] .Applications
ARMA is appropriate when a system is a function of a series of unobserved shocks (the MA part)Clarifyme|date=March 2008 as well as its own behavior. For example, stock prices may be shocked by fundamental information as well as exhibiting technical trending and mean-reversion effects due to market participants.
Generalizations
The dependence of "X""t" on past values and the error terms εt is assumed to be linear unless specified otherwise. If the dependence is nonlinear, the model is specifically called a "nonlinear moving average" (NMA), "nonlinear autoregressive" (NAR), or "nonlinear autoregressive moving average" (NARMA) model.
Autoregressive moving average models can be generalized in other ways. See also
autoregressive conditional heteroskedasticity (ARCH) models andautoregressive integrated moving average (ARIMA) models. If multiple time series are to be fitted then a vector ARIMA (or VARIMA) model may be fitted. If the time-series in question exhibits long memory then fractional ARIMA (FARIMA, sometimes called ARFIMA) modelling may be appropriate: seeAutoregressive fractionally integrated moving average . If the data is thought to contain seasonal effects, it may be modeled by a SARIMA (seasonal ARIMA) or a periodic ARMA model.Another generalization is the "multiscale autoregressive" (MAR) model. A MAR model is indexed by the nodes of a tree, whereas a standard (discrete time) autoregressive model is indexed by integers. See
multiscale autoregressive model for a list of references.Note that the ARMA model is an univariate model. Extensions for the multivariate case are the
Vector Autoregression (VAR) and Vector Autoregression Moving-Average (VARMA).Autoregressive moving average model with exogenous inputs model (ARMAX model)
The notation ARMAX("p", "q", "b") refers to the model with "p" autoregressive terms, "q" moving average terms and "b" eXogenous inputs terms. This model contains the AR("p") and MA("q") models and a linear combination of the last "b" terms of a known and external time series . It is given by:
:where are the "parameters" of the exogenous input .
Some nonlinear variants of models with exogenous variables have been defined: see for example
Nonlinear autoregressive exogenous model .ee also
*
ARIMA
*Predictive analytics
*Radial basis function
*Linear predictive coding References
*
George Box ,Gwilym M. Jenkins , and Gregory C. Reinsel. "Time Series Analysis: Forecasting and Control", third edition. Prentice-Hall, 1994.
*Mills, Terence C. "Time Series Techniques for Economists." Cambridge University Press, 1990.
*Percival, Donald B. and Andrew T. Walden. "Spectral Analysis for Physical Applications." Cambridge University Press, 1993.
*Pandit, Sudhakar M. and Wu, Shien-Ming. "Time Series and System Analysis with Applications." John Wiley & Sons, Inc., 1983.External links
* [http://www.statsoft.com/textbook/stathome.html Electronic Statistics Textbook]
Wikimedia Foundation. 2010.