Content deleted Content added
Section "Mathematical formulation" with subsections for AR, MA, ARMA; Section "History and interpretations" |
Reorder sections for flow |
||
Line 67:
Moreover, starting summations from <math> i=0 </math> and setting <math> \phi_0 = -1 </math> and <math> \theta_0 = 1 </math>, then we get an even more elegant formulation: <math> -\sum_{i=0}^p \phi_i L^i \; X_t = \sum_{i=0}^q \theta_i L^i \; \varepsilon_t \, .</math>
== Spectrum ==▼
=== History and interpretation ===▼
The [[spectral density]] of an ARMA process is<math display="block">S(f) = \frac{\sigma^2}{2\pi} \left\vert \frac{\theta(e^{-if})}{\phi(e^{-if})} \right\vert^2</math>where <math>\sigma^2</math> is the [[variance]] of the white noise, <math>\theta</math> is the characteristic polynomial of the moving average part of the ARMA model, and <math>\phi</math> is the characteristic polynomial of the autoregressive part of the ARMA model.<ref>{{Cite book |last=Rosenblatt |first=Murray |url=https://www.worldcat.org/oclc/42061096 |title=Gaussian and non-Gaussian linear time series and random fields |date=2000 |publisher=Springer |isbn=0-387-98917-X |___location=New York |pages=10 |language=en |oclc=42061096}}</ref><ref>{{Cite book |last=Wei |first=William W. S. |url=https://www.worldcat.org/oclc/18166355 |title=Time series analysis : univariate and multivariate methods |date=1990 |publisher=Addison-Wesley Pub |isbn=0-201-15911-2 |___location=Redwood City, Calif. |pages=242–243 |language=en |oclc=18166355}}</ref>▼
The general ARMA model was described in the 1951 thesis of [[Peter Whittle (mathematician)|Peter Whittle]], who used mathematical analysis ([[Laurent series]] and [[Fourier analysis]]) and statistical inference.<ref>{{cite book |last=Hannan |first=Edward James |author-link=Edward James Hannan |title=Multiple time series |publisher=John Wiley and Sons |year=1970 |series=Wiley series in probability and mathematical statistics |___location=New York}}</ref><ref>{{cite book |author=Whittle, P. |title=Hypothesis Testing in Time Series Analysis |publisher=Almquist and Wicksell |year=1951}}▼
{{cite book |author=Whittle, P. |title=Prediction and Regulation |publisher=English Universities Press |year=1963 |isbn=0-8166-1147-5}}▼
: Republished as: {{cite book |author=Whittle, P. |title=Prediction and Regulation by Linear Least-Square Methods |publisher=University of Minnesota Press |year=1983 |isbn=0-8166-1148-3}}</ref> 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).<ref>{{harvtxt|Hannan|Deistler|1988|loc=p. 227}}: {{cite book |last1=Hannan |first1=E. J. |author-link=Edward James Hannan |title=Statistical theory of linear systems |last2=Deistler |first2=Manfred |publisher=John Wiley and Sons |year=1988 |series=Wiley series in probability and mathematical statistics |___location=New York}}</ref>▼
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.▼
== Fitting models ==
Line 92 ⟶ 84:
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.
=== Software implementations ===
* In [[R (programming language)|R]], standard package <code>stats</code> has function <code>arima</code>, documented in [http://search.r-project.org/R/library/stats/html/arima.html ARIMA Modelling of Time Series]. Package [https://cran.r-project.org/web/packages/astsa/index.html <code>astsa</code>] has an improved script called <code>sarima</code> for fitting ARMA models (seasonal and nonseasonal) and <code>sarima.sim</code> to simulate data from these models. Extension packages contain related and extended functionality: package <code>tseries</code> includes the function <code>arma()</code>, documented in [http://finzi.psych.upenn.edu/R/library/tseries/html/arma.html "Fit ARMA Models to Time Series"]; package[https://cran.r-project.org/web/packages/fracdiff <code>fracdiff</code>] contains <code>fracdiff()</code> for fractionally integrated ARMA processes; and package [https://cran.r-project.org/web/packages/forecast/index.html <code>forecast</code>] includes <code>auto.arima</code> for selecting a parsimonious set of ''p, q''. The CRAN task view on [https://cran.r-project.org/web/views/TimeSeries.html Time Series] contains links to most of these.
* [[Mathematica]] has a complete library of time series functions including ARMA.<ref>[http://www.wolfram.com/products/applications/timeseries/features.html Time series features in Mathematica] {{webarchive |url=https://web.archive.org/web/20111124032002/http://www.wolfram.com/products/applications/timeseries/features.html |date=November 24, 2011 }}</ref>
* [[MATLAB]] includes functions such as [http://www.mathworks.com/help/econ/arma-model.html <code>arma</code>], [http://www.mathworks.com/help/ident/ref/ar.html <code>ar</code>] and [http://www.mathworks.com/help/ident/ref/arx.html <code>arx</code>] to estimate autoregressive, exogenous autoregressive and ARMAX models. See [http://www.mathworks.com/help/ident/ug/estimating-ar-and-arma-models.html System Identification Toolbox] and [http://www.mathworks.com/help/econ/arima.estimate.html Econometrics Toolbox] for details.
* [[Julia_(programming_language) | Julia]] has community-driven packages that implement fitting with an ARMA model such as [https://github.com/joefowler/ARMA.jl <code>arma.jl</code>].
* Python has the <code>statsmodels</code>[http://statsmodels.sourceforge.net/ 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 (software)|Pandas]].
* [[PyFlux]] has a Python-based implementation of ARIMAX models, including Bayesian ARIMAX models.
* [[IMSL Numerical Libraries]] are libraries of numerical analysis functionality including ARMA and ARIMA procedures implemented in standard programming languages like C, Java, C# .NET, and Fortran.
* [[gretl]] can estimate ARMA models, as mentioned [http://constantdream.wordpress.com/2008/03/16/gnu-regression-econometrics-and-time-series-library-gretl/ here]
* [[GNU Octave]] extra package [http://octave.sourceforge.net/ <code>octave-forge</code>] supports AR models.
* [[Stata]] includes the function <code>arima</code>. for ARMA and [[Autoregressive integrated moving average|ARIMA]] models.
* [[SuanShu]] is a Java library of numerical methods that implements univariate/multivariate ARMA, ARIMA, ARMAX, etc models, documented in [http://www.numericalmethod.com/javadoc/suanshu/ "SuanShu, a Java numerical and statistical library"].
* [[SAS (software)|SAS]] has an econometric package, ETS, that estimates ARIMA models. [https://web.archive.org/web/20110930032431/http://support.sas.com/rnd/app/ets/proc/ets_arima.html See details].
▲== Spectrum ==
▲The general ARMA model was described in the 1951 thesis of [[Peter Whittle (mathematician)|Peter Whittle]], who used mathematical analysis ([[Laurent series]] and [[Fourier analysis]]) and statistical inference.<ref>{{cite book |last=Hannan |first=Edward James |author-link=Edward James Hannan |title=Multiple time series |publisher=John Wiley and Sons |year=1970 |series=Wiley series in probability and mathematical statistics |___location=New York}}</ref><ref>{{cite book |author=Whittle, P. |title=Hypothesis Testing in Time Series Analysis |publisher=Almquist and Wicksell |year=1951}}
▲The [[spectral density]] of an ARMA process is<math display="block">S(f) = \frac{\sigma^2}{2\pi} \left\vert \frac{\theta(e^{-if})}{\phi(e^{-if})} \right\vert^2</math>where <math>\sigma^2</math> is the [[variance]] of the white noise, <math>\theta</math> is the characteristic polynomial of the moving average part of the ARMA model, and <math>\phi</math> is the characteristic polynomial of the autoregressive part of the ARMA model.<ref>{{Cite book |last=Rosenblatt |first=Murray |url=https://www.worldcat.org/oclc/42061096 |title=Gaussian and non-Gaussian linear time series and random fields |date=2000 |publisher=Springer |isbn=0-387-98917-X |___location=New York |pages=10 |language=en |oclc=42061096}}</ref><ref>{{Cite book |last=Wei |first=William W. S. |url=https://www.worldcat.org/oclc/18166355 |title=Time series analysis : univariate and multivariate methods |date=1990 |publisher=Addison-Wesley Pub |isbn=0-201-15911-2 |___location=Redwood City, Calif. |pages=242–243 |language=en |oclc=18166355}}</ref>
▲{{cite book |author=Whittle, P. |title=Prediction and Regulation |publisher=English Universities Press |year=1963 |isbn=0-8166-1147-5}}
▲: Republished as: {{cite book |author=Whittle, P. |title=Prediction and Regulation by Linear Least-Square Methods |publisher=University of Minnesota Press |year=1983 |isbn=0-8166-1148-3}}</ref> 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).<ref>{{harvtxt|Hannan|Deistler|1988|loc=p. 227}}: {{cite book |last1=Hannan |first1=E. J. |author-link=Edward James Hannan |title=Statistical theory of linear systems |last2=Deistler |first2=Manfred |publisher=John Wiley and Sons |year=1988 |series=Wiley series in probability and mathematical statistics |___location=New York}}</ref>
▲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.
== Applications ==
|