In the statistical analysis of time series, autoregressive–moving-average (ARMA) models are a way to describe of a (weakly) stationary stochastic process using autoregression (AR) and a moving average (MA), each with a polynomial. They are a tool for understanding a series and predicting future values. AR involves regressing the variable on its own lagged (i.e., past) values. MA involves modeling the error as a linear combination of error terms occurring contemporaneously and at various times in the past. The model is usually denoted ARMA(p, q), where p is the order of AR and q is the order of MA.
The general ARMA model was described in the 1951 thesis of Peter Whittle, Hypothesis testing in time series analysis, and it was popularized in the 1970 book by George E. P. Box and Gwilym Jenkins.
ARMA models can be estimated by using the Box–Jenkins method.
See main article: Autoregressive model. The notation AR(p) refers to the autoregressive model of order p. The AR(p) model is written as
Xt=
p | |
\sum | |
i=1 |
\varphiiXt-i+\varepsilont
where
\varphi1,\ldots,\varphip
\varepsilont
In order for the model to remain stationary, the roots of its characteristic polynomial must lie outside the unit circle. For example, processes in the AR(1) model with
|\varphi1|\ge1
1-\varphi1B=0
The augmented Dickey–Fuller test assesses the stability of IMF and trend components. For stationary time series, the ARMA model is used, while for non-stationary series, LSTM models are used to derive abstract features. The final value is obtained by reconstructing the predicted outcomes of each time series.
See main article: Moving-average model. The notation MA(q) refers to the moving average model of order q:
Xt=\mu+\varepsilont+
q | |
\sum | |
i=1 |
\thetai\varepsilont-i
where the
\theta1,...,\thetaq
\mu
Xt
\varepsilon1
\varepsilont
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,[5]
Xt=\varepsilont+
p | |
\sum | |
i=1 |
\varphiiXt-i+
q | |
\sum | |
i=1 |
\thetai\varepsilont-i.
In some texts, the models is specified using the lag operator L. In these terms, the AR(p) model is given by
\varepsilont=\left(1-
p | |
\sum | |
i=1 |
\varphiiLi\right)Xt=\varphi(L)Xt
where
\varphi
\varphi(L)=1-
p | |
\sum | |
i=1 |
\varphiiLi.
The MA(q) model is given by
Xt-\mu=\left(1+
q | |
\sum | |
i=1 |
\thetaiLi\right)\varepsilont=\theta(L)\varepsilont,
where
\theta
\theta(L)=1+
q | |
\sum | |
i=1 |
\thetaiLi.
Finally, the combined ARMA(p, q) model is given by
\left(1-
p | |
\sum | |
i=1 |
\varphiiLi\right)Xt=\left(1+
q | |
\sum | |
i=1 |
\thetaiLi\right)\varepsilont,
or more concisely,
\varphi(L)Xt=\theta(L)\varepsilont
or
\varphi(L) | |
\theta(L) |
Xt=\varepsilont.
Moreover, starting summations from
i=0
\phi0=-1
\theta0=1
p | |
-\sum | |
i=0 |
\phiiLi Xt=
q | |
\sum | |
i=0 |
\thetaiLi \varepsilont.
The spectral density of an ARMA process iswhere
\sigma2
\theta
\phi
An appropriate value of p in the ARMA(p, q) model can be found by plotting the partial autocorrelation functions. Similarly, q can be estimated by using the autocorrelation functions. Both p and q 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 of p and q.
Brockwell & Davis recommend using Akaike information criterion (AIC) for finding p and q.[10] Another option is the Bayesian information criterion (BIC).
After choosing p and q, ARMA models can be fitted by least squares regression to find the values of the parameters which minimize the error term. It is 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.
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 function arima
, documented in ARIMA Modelling of Time Series. Package astsa
has an improved script called sarima
for fitting ARMA models (seasonal and nonseasonal) and sarima.sim
to simulate data from these models. Extension packages contain related and extended functionality: package tseries
includes the function arma
, documented in "Fit ARMA Models to Time Series"; packagefracdiff
contains fracdiff
for fractionally integrated ARMA processes; and package forecast
includes auto.arima
for selecting a parsimonious set of p, q. The CRAN task view on Time Series contains links to most of these.arma
, ar
and arx
to estimate autoregressive, exogenous autoregressive and ARMAX models. See System Identification Toolbox and Econometrics Toolbox for details.arma.jl
.statsmodels
S package which includes many models and functions for time series analysis, including ARMA. Formerly part of the scikit-learn library, it is now stand-alone and integrates well with Pandas.octave-forge
supports AR models.arima
. for ARMA and ARIMA models.The general ARMA model was described in the 1951 thesis of Peter Whittle, who used mathematical analysis (Laurent series and Fourier analysis) and statistical inference.[12] [13] ARMA models were popularized by a 1970 book by George 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 an infinite impulse response filter applied to white noise, with some additional interpretation placed on it.
In digital 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 and mean-reversion effects due to market participants.
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) model multivariate 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) models periodic variation. Autoregressive fractionally integrated moving average (ARFIMA, or Fractional ARIMA, FARIMA) model time-series that exhibits long memory. Multiscale AR (MAR) is indexed by the nodes of a tree instead of integers.
The notation ARMAX(p, q, b) refers to a model with p autoregressive terms, q moving average terms and b exogenous inputs terms. The last term is a linear combination of the last b terms of a known and external time series
dt
Xt=\varepsilont+
p | |
\sum | |
i=1 |
\varphiiXt-i+
q | |
\sum | |
i=1 |
\thetai\varepsilont-i+
b | |
\sum | |
i=1 |
ηidt-i.
η1,\ldots,ηb
dt
Some nonlinear variants of models with exogenous variables have been defined: see for example Nonlinear 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, in R[15] and gretl) refer to the regression:
Xt-mt=\varepsilont+
p | |
\sum | |
i=1 |
\varphii(Xt-i-mt-i)+
q | |
\sum | |
i=1 |
\thetai\varepsilont-i.
mt
mt=c+
b | |
\sum | |
i=0 |
ηidt-i.
Book: Whittle, P. . Prediction and Regulation . English Universities Press . 1963 . 0-8166-1147-5.
Republished as: Book: Whittle, P. . Prediction and Regulation by Linear Least-Square Methods . University of Minnesota Press . 1983 . 0-8166-1148-3.
Book: Hannan . E. J. . Edward James Hannan . Statistical theory of linear systems . Deistler . Manfred . John Wiley and Sons . 1988 . Wiley series in probability and mathematical statistics . New York.