Autoregressive moving-average model
Statistical model used in time series analysis From Wikipedia, the free encyclopedia
Statistical model used in time series analysis From Wikipedia, the free encyclopedia
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.
The notation AR(p) refers to the autoregressive model of order p. The AR(p) model is written as
where are parameters and the random variable is white noise, usually independent and identically distributed (i.i.d.) normal random variables.[1][2]
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 are not stationary because the root of lies within the unit circle.[3]
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.
The notation MA(q) refers to the moving average model of order q:
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 with p autoregressive terms and q moving-average terms. This model contains the AR(p) and MA(q) models,[5]
In some texts, the models is specified using the lag operator L. 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 in Box, Jenkins & Reinsel.[6]
Moreover, starting summations from and setting and , then we get an even more elegant formulation:
The spectral density of an ARMA process iswhere is the variance 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 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.[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) 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 . 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.
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:
where incorporates all exogenous (or independent) variables:
This article includes a list of general references, but it lacks sufficient corresponding inline citations. (August 2010) |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.