In thestatistical analysis oftime series, anautoregressive–moving-average (ARMA) model is used to represent a(weakly) stationary stochastic process by combining two components:autoregression (AR) andmoving average (MA). These models are widely used for analyzing the structure of a series and for forecasting future values.
The AR component specifies that the current value of the series depends linearly on its own past values (lags), while the MA component specifies that the current value depends on alinear combination of pasterror terms. An ARMA model is typically denoted as ARMA(p,q), wherep is the order of the autoregressive part andq is the order of the moving-average part.
The general ARMA model was described in the 1951 thesis ofPeter Whittle,Hypothesis testing in time series analysis, and it was popularized in the 1970 book byGeorge E. P. Box andGwilym Jenkins.
ARMA models can be estimated by using theBox–Jenkins method.
The notation AR(p) refers to the autoregressive model of orderp. The AR(p) model is written as
where areparameters and the random variable iswhite noise, usuallyindependent and identically distributed (i.i.d.)normal random variables.[1][2]
In order for the model to remainstationary, the roots of itscharacteristic polynomial must lie outside the unit circle. For example, processes in the AR(1) model with are not stationary because the root of lies within the unit circle.[3]
Theaugmented Dickey–Fuller test can assesses the stability of anintrinsic mode function and trend components. For stationary time series, the ARMA models can be used, while for non-stationary series,Long short-term memory models can be used to derive abstract features. The final value is obtained by reconstructing the predicted outcomes of each time series.[citation needed]
The notation MA(q) refers to the moving average model of orderq:
where the are the parameters of the model, is the expectation of (often assumed to equal 0), and, ..., are i.i.d. white noise error terms that are commonly normal random variables.[4]
The notation ARMA(p,q) refers to the model withp autoregressive terms andq moving-average terms. This model contains the AR(p) and MA(q) models,[5]
In some texts, the models is specified using thelag operatorL. In these terms, 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,
or
This is the form used inBox,Jenkins & Reinsel.[6]
Moreover, starting summations from and setting and, then we get an even more elegant formulation:
Thespectral density of an ARMA process iswhere is thevariance of the white noise, is the characteristic polynomial of the moving average part of the ARMA model, and is the characteristic polynomial of the autoregressive part of the ARMA model.[7][8]
An appropriate value ofp in the ARMA(p,q) model can be found by plotting thepartial autocorrelation functions. Similarly,q can be estimated by using theautocorrelation functions. Bothp andq can be determined simultaneously using extended autocorrelation functions (EACF).[9] Further information can be gleaned by considering the same functions for the residuals of a model fitted with an initial selection ofp andq.
Brockwell & Davis recommend usingAkaike information criterion (AIC) for findingp andq.[10] Another option is theBayesian information criterion (BIC).
After choosingp andq, ARMA models can be fitted byleast squares regression to find the values of the parameters which minimize the error term. It is good practice to find the smallest values ofp andq which provide an acceptable fit to the data. For a pure AR model, theYule-Walker equations may be used to provide a fit.
ARMA outputs are used primarily to forecast (predict), and not to infer causation as in other areas of econometrics and regression methods such as OLS and 2SLS.
stats has functionarima, documented inARIMA Modelling of Time Series. Packageastsa has an improved script calledsarima for fitting ARMA models (seasonal and nonseasonal) andsarima.sim to simulate data from these models. Extension packages contain related and extended functionality: packagetseries includes the functionarma(), documented in"Fit ARMA Models to Time Series"; packagefracdiff containsfracdiff() for fractionally integrated ARMA processes; and packageforecast includesauto.arima for selecting a parsimonious set ofp, q. The CRAN task view onTime Series contains links to most of these.arma,ar andarx to estimate autoregressive, exogenous autoregressive and ARMAX models. SeeSystem Identification Toolbox andEconometrics Toolbox for details.arma.jl.statsmodelsS package which includes many models and functions for time series analysis, including ARMA. Formerly part of thescikit-learn library, it is now stand-alone and integrates well withPandas.octave-forge supports AR models.arima. for ARMA andARIMA models.The general ARMA model was described in the 1951 thesis ofPeter Whittle, who used mathematical analysis (Laurent series andFourier analysis) and statistical inference.[12][13] ARMA models were popularized by a 1970 book byGeorge E. P. Box and Jenkins, who expounded an iterative (Box–Jenkins) method for choosing and estimating them. This method was useful for low-order polynomials (of degree three or less).[14]
ARMA is essentially aninfinite impulse response filter applied to white noise, with some additional interpretation placed on it.
Indigital signal processing, ARMA is represented as a digital filter with white noise at the input and the ARMA process at the output.
ARMA is appropriate when a system is a function of a series of unobserved shocks (the MA or moving average part) as well as its own behavior. For example, stock prices may be shocked by fundamental information as well as exhibiting technical trending andmean-reversion effects due to market participants.[citation needed]
There are various generalizations of ARMA.Nonlinear AR (NAR), nonlinear MA (NMA) and nonlinear ARMA (NARMA) model nonlinear dependence on past values and error terms.Vector AR (VAR) and vector ARMA (VARMA) modelmultivariate time series.Autoregressive integrated moving average (ARIMA) models non-stationary time series (that is, whose mean changes over time).Autoregressive conditional heteroskedasticity (ARCH) models time series where the variance changes. Seasonal ARIMA (SARIMA or periodic ARMA) modelsperiodic variation.Autoregressive fractionally integrated moving average (ARFIMA, or Fractional ARIMA, FARIMA) model time-series that exhibitslong memory. Multiscale AR (MAR) is indexed by the nodes of atree instead of integers.
The notation ARMAX(p,q,b) refers to a model withp autoregressive terms,q moving average terms andb exogenous inputs terms. The last term is a linear combination of the lastb terms of a known and external time series. It is given by:
where are theparameters of the exogenous input.
Some nonlinear variants of models with exogenous variables have been defined: see for exampleNonlinear autoregressive exogenous model.
Statistical packages implement the ARMAX model through the use of "exogenous" (that is, independent) variables. Care must be taken when interpreting the output of those packages, because the estimated parameters usually (for example, inR[15] andgretl) refer to the regression:
where incorporates all exogenous (or independent) variables:
This article includes a list ofgeneral references, butit lacks sufficient correspondinginline citations. Please help toimprove this article byintroducing more precise citations.(August 2010) (Learn how and when to remove this message) |
{{cite book}}:ISBN / Date incompatibility (help)