Skip to content

Instantly share code, notes, and snippets.

@muddydixon
Last active December 14, 2015 15:08
Show Gist options
  • Save muddydixon/5105242 to your computer and use it in GitHub Desktop.
Save muddydixon/5105242 to your computer and use it in GitHub Desktop.

[[統計学]]および[[経済学]]、とりわけ[[時系列解析]]の分野において、’’’自己回帰和分移動平均モデル’’’ (じこかいきわぶんいどうへいきんモデル) {{lang-en-short|Autoregressive integrated moving average model}}、’’’ARIMAモデル’’’ [[Mathematical model|model]])は、[[自己回帰移動平均モデル]] (ARMA)を一般化したモデルです。これらのモデルは、

In [[statistics]] and [[econometrics]], and in particular in [[time series analysis]], an ’’’autoregressive integrated moving average (ARIMA)‘’’ [[Mathematical model|model]] is a generalization of an [[autoregressive moving average]] (ARMA) model. These models are fitted to [[time series]] data either to better understand the data or to predict future points in the series ([[forecasting]]). They are applied in some cases where data show evidence of [[Stationary process|non-stationarity]], where an initial differencing step (corresponding to the “integrated” part of the model) can be applied to remove the non-stationarity.

The model is generally referred to as an ARIMA model where [[parameter]]s ’’p’’, ’’d’’, and ’’q’’ are non-negative integers that refer to the order of the [[Autoregressive model|autoregressive]], integrated, and [[Moving-average model|moving average]] parts of the model respectively. ARIMA models form an important part of the [[Box-Jenkins]] approach to time-series modelling.

When one of the three terms is zero, it’s usual to drop “AR”, “I” or “MA”. For example, ARIMA is I(1), and ARIMA is MA.

Definition

Given a time series of data X_t where t is an integer index and the X_t are real numbers, then an ARMA model is given by:

\left(
1 – \sum_{i=1}^{p’} \alpha_i L^i
\right) X_t
=
\left(
1 + \sum_{i=1}^q \theta_i L^i
\right) \varepsilon_t \,

where L is the [[lag operator]], the \alpha_i are the parameters of the autoregressive part of the model, the \theta_i are the parameters of the moving average part and the \varepsilon_t are error terms. The error terms \varepsilon_t are generally assumed to be [[Independent and identically-distributed random variables|independent, identically distributed]] variables sampled from a [[normal distribution]] with zero mean.

Assume now that the polynomial \left( 1 – \sum_{i=1}^{p’} \alpha_i L^i \right) has a unitary root of multiplicity ’’d’’. Then it can be rewritten as:

:
\left(
1 – \sum_{i=1}^{p’} \alpha_i L^i
\right)
=
\left(
1 – \sum_{i=1}^{p’-d} \phi_i L^i
\right)
\left(
1 – L
\right)^{d} .

An ARIMA process expresses this polynomial factorisation property with ’’p’’=‘’p’−d’’, and is given by:

:
\left(
1 – \sum_{i=1}^p \phi_i L^i
\right)
\left(
1-L
\right)^d
X_t
=
\left(
1 + \sum_{i=1}^q \theta_i L^i
\right) \varepsilon_t \,

and thus can be thought as a particular case of an ARMA process having the autoregressive polynomial with ’’d’’ unit roots. (For this reason, every ARIMA model with ’’d’’>0 is not [[wide sense stationary]].)

The above can be generalized as follows.

:
\left(
1 – \sum_{i=1}^p \phi_i L^i
\right)
\left(
1-L
\right)^d
X_t
=
\delta + \left(
1 + \sum_{i=1}^q \theta_i L^i
\right) \varepsilon_t \,

This defines an ARIMA process with drift ‘’δ’‘/(1−Σ’‘φ’‘’’i’’).

その他の特別な形式

上記のような自己回帰多項式の要素への明示的な識別は他のケースにも適用可能です。まず、移動平均多項式に適用できます。次に、その他の特別な要因を含めることもできます。たとえば、モデルが \left( 1 – L^s \right) という要素を持つことは、モデルに周期 ’’s’’ での非定常季節性を含める一つの方法です。この要素は、 ’’s’’ 周期前からの変化がデータに再発現する効果をモデルにもたらします。別の例として、 \left( 1 – \sqrt{3} L + L^2 \right) の要素は、期間 12 の(非定常的)な季節性を含めることになります{{clarification needed|date=January 2013}}。最初のタイプの要素の効果は、時間的な推移とは分離して季節的な値がドリフトさせることです。他方、2番めのタイプでは、季節とともに変化することになります{{clarification needed|date=January 2013}}。

ARIMA モデルの適切な要素の識別と詳述は、推定しなければならないパラメタ全体を減じたモデリングを行う上で、重要なステプです。他方、そこにあるべきロジックや経験から示唆されるモデルの振る舞いを追加するためにも重要なステップです。

Forecasts using ARIMA models

The ARIMA model can be viewed as a “cascade” of two models. The first is non-stationary:

:
Y_t
=
\left(
1-L
\right)^d
X_t

while the second is wide-sense stationary:

:
\left(
1 – \sum_{i=1}^p \phi_i L^i
\right)
Y_t
=
\left(
1 + \sum_{i=1}^q \theta_i L^i
\right) \varepsilon_t \, .

Now forecasts can be made for the process Y_t, using a generalization of the method of [[Autoregressive model#n-step-ahead forecasting|autoregressive forecasting]].

Examples

Some well-known special cases arise naturally. For example, an ARIMA model is given by
:X_t = X_{t-1} + \varepsilon_t
—which is simply a [[random walk]].

Variations and extensions

A number of variations on the ARIMA model are commonly employed. If multiple time series are used then the X_t can be thought of as vectors and a VARIMA model may be appropriate. Sometimes a seasonal effect is suspected in the model; in that case, it is generally better to use a SARIMA (seasonal ARIMA) model than to increase the order of the AR or MA parts of the model. If the time-series is suspected to exhibit [[long-range dependence]], then the ’’d’’ parameter may be allowed to have non-integer values in an [[autoregressive fractionally integrated moving average]] model, which is also called a Fractional ARIMA (FARIMA or ARFIMA) model.

== Implementations in statistics packages ==
Various packages that apply methodology like [[Box-Jenkins]] parameter optimization are available to find the right parameters for the ARIMA model.

  • The [http://cran.r-project.org/web/packages/forecast/index.html “forecast”] package in [[R (programming language)|R]] can automatically select an ARIMA model for a given time series with the auto.arima() function. The package can also simulate seasonal and non-seasonal ARIMA models with its simulate.Arima() function. It also has a function Arima(), which is a wrapper for the arima from the “stats” package.
  • SAS of [http://www.sas.comSAS Institute Inc.”] includes extensive ARIMA processing in its Econometric and Time Series Analysis system: SAS/ETS.
  • Stata includes ARIMA modelling (using its arima command) as of Stata 9.
  • SAP [http://www.sap.com/solutions/analytics/business-intelligence/predictive-analysis/index.epxSAP”] allows creating models like ARIMA by using native, predictive algorithms and by employing algorithms from R.
  • [[Microsoft]] [[SQL Server Analysis Services]] includes ARIMA as a Data Mining algorithm

See also
*[[Autocorrelation]]
*[[Autoregressive moving average model|ARMA]]
*[[X-12-ARIMA]]
*[[Partial autocorrelation]]

{{No footnotes|date=May 2011}}
References
*Mills, Terence C. (1990) ‘’Time Series Techniques for Economists.’’ Cambridge University Press
*Percival, Donald B. and Andrew T. Walden. (1993) ‘’Spectral Analysis for Physical Applications.’’ Cambridge University Press.

External links
*[http://www.census.gov/srd/www/x12a/ The US Census Bureau uses ARIMA for “seasonally adjusted” data (programs, docs, and papers here)]

{{Stochastic processes}}

[[Category:Time series models]]

[[de:ARIMA]]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment