統計学 や計量経済学 で使用される時系列分析 では、自己回帰和分移動平均 (ARIMA )モデルと季節ARIMA (SARIMA )モデルは 、それぞれ非定常系列と周期変動に対する自己回帰移動平均 (ARMA)モデルの一般化です。これらのモデルはすべて、時系列をよりよく理解し、将来の値を予測するために時系列 に適合されます。これらの一般化の目的は、データにできるだけ適合させることです。具体的には、ARMAは時系列が定常で ある、つまり期待値が時間的に一定であると仮定します。代わりに時系列にトレンドがある場合(ただし分散/自己共分散 は一定)、トレンドは「差分」によって除去され[ 1 ] 、定常系列が残ります。この操作はARMAを一般化し、ARIMAの「積分 」部分に対応します。同様に、周期変動は「季節差分」によって除去されます。[ 2 ]
コンポーネント ARMAと同様に、ARIMAの「自己回帰」( AR )部分は、関心のある変化する変数が過去の値に対して回帰されることを示しています。「移動平均」( MA )部分は、回帰誤差 が、同時発生的かつ過去のさまざまな時点で発生した誤差項の線形結合で あることを示しています。 [ 3 ] 「積分」( I )部分は、データ値が各値と前の値との差に置き換えられていることを示しています。
Woldの分解定理 [ 4 ] [ 5 ] [ 6 ] によれば、ARMAモデルは、正則 (つまり純粋に非決定論的[ 6 ] )広義定常 時系列を記述するのに十分である。このことから、ARMAを使用する前に、差分法などを用いて、このような非定常時系列を定常化することが求められる。[ 7 ]
時系列に予測可能な サブプロセス(純粋な正弦関数または複素数値指数プロセス[ 5 ] とも呼ばれる)が含まれている場合、ARIMAフレームワークでは予測可能な成分は非ゼロ平均だが周期的な(つまり季節的な)成分として扱われ、季節差分によって除去されます。
非季節ARIMAモデルは通常ARIMA( p , d , q )と表記され、パラメータ p 、d 、q は非負の整数です。pは 自己回帰モデル の次数(時間ラグの数)、d は差分の次数(データから過去の値を減算した回数)、qは 移動平均モデル の次数です。季節ARIMAモデルは通常ARIMA( p , d , q )( P , D , Q ) m と表記され、大文字のP 、D 、Q はARIMAモデルの季節部分の自己回帰項、差分項、移動平均項であり、m は各季節の期間数です。[ 8 ] [ 2 ] 2 つのパラメータが 0 の場合、モデルは非ゼロのパラメータに基づいて参照することができ、頭字語から「AR 」、「I 」または「MA 」を省略します。たとえば、 ARIMA ( 1 、 0 、 0 ) ARIMA(1,0,0) は AR(1) で ある、ARIMA ( 0 、 1 、 0 ) ARIMA(0,1,0) は I(1) であり、 ARIMA ( 0 、 0 、 1 ) ARIMA(0,0,1) はMA(1) です。
時系列データX t が与えられたとき、ここでt は整数インデックスであり、X t は実数である。アルマ ( p ′ 、 q ) {\displaystyle {\text{ARMA}}(p',q)} モデルは次のように与えられる。
X t − α 1 X t − 1 − ⋯ − α p ′ X t − p ′ = ε t + θ 1 ε t − 1 + ⋯ + θ q ε t − q 、 {\displaystyle X_{t}-\alpha _{1}X_{t-1}-\dots -\alpha _{p'}X_{tp'}=\varepsilon _{t}+\theta _{1}\varepsilon _{t-1}+\cdots +\theta _{q}\varepsilon _{tq},} または同等に
( 1 − ∑ 私 = 1 p ′ α 私 L 私 ) X t = ( 1 + ∑ 私 = 1 q θ 私 L 私 ) ε t {\displaystyle \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}\,} どこL {\displaystyle L} は遅延演算子 です。α 私 \displaystyle \alpha _{i}} はモデルの自己回帰部分のパラメータであり、θ 私 \displaystyle \theta _{i}} は移動平均部分のパラメータであり、ε t {\displaystyle \varepsilon _{t}} 誤差項です。ε t {\displaystyle \varepsilon _{t}} これらは一般的に、平均値がゼロの正規分布からサンプリングされた 、独立で同一の分布に従う 変数であると想定される。
多項式( 1 − ∑ 私 = 1 p ′ α 私 L 私 ) {\displaystyle \textstyle \left(1-\sum _{i=1}^{p'}\alpha _{i}L^{i}\right)} 単位根 (因数)を持つ( 1 − L ) {\displaystyle (1-L)} )多重度d の場合、次のように書き換えることができます。
( 1 − ∑ 私 = 1 p ′ α 私 L 私 ) = ( 1 − ∑ 私 = 1 p ′ − d φ 私 L 私 ) ( 1 − L ) d 。 {\displaystyle \left(1-\sum _{i=1}^{p'}\alpha _{i}L^{i}\right)=\left(1-\sum _{i=1}^{p'-d}\varphi _{i}L^{i}\right)\left(1-L\right)^{d}.} ARIMA( p , d , q )過程は、 p = p'−d の場合のこの多項式因数分解特性を表し、次のように表されます。
( 1 − ∑ 私 = 1 p φ 私 L 私 ) ( 1 − L ) d X t = ( 1 + ∑ 私 = 1 q θ 私 L 私 ) ε t {\displaystyle \left(1-\sum _{i=1}^{p}\varphi _{i}L^{i}\right)(1-L)^{d}X_{t}=\left(1+\sum _{i=1}^{q}\theta _{i}L^{i}\right)\varepsilon _{t}\,} そして、 d 個の単位根を持つ自己回帰多項式を持つARMA( p+d , q ) 過程の特殊なケースも同様です。(これが、 d > 0の ARIMA モデルで正確に記述される過程が広義定常 ではない理由です。)
上記は以下のように一般化できる。
( 1 − ∑ 私 = 1 p φ 私 L 私 ) ( 1 − L ) d X t = δ + ( 1 + ∑ 私 = 1 q θ 私 L 私 ) ε t 。 {\displaystyle \left(1-\sum _{i=1}^{p}\varphi _{i}L^{i}\right)(1-L)^{d}X_{t}=\delta +\left(1+\sum _{i=1}^{q}\theta _{i}L^{i}\right)\varepsilon _{t}.\,} これは、ドリフト を持つARIMA( p , d , q )プロセスを定義する。δ 1 − ∑ φ 私 {\displaystyle {\frac {\delta }{1-\sum \varphi _{i}}}} 。
上記のように自己回帰多項式の因数分解を明示的に特定することは、他のケースにも拡張でき、まず移動平均多項式に適用し、次に他の特殊な因数を含めることができる。例えば、因数を持つ( 1 − L s ) {\displaystyle (1-L^{s})} モデルに を組み込む方法の一つは、期間s の非定常季節性をモデルに組み込むことです。この因子は、データをs 期間前からの変化として再表現する効果があります。別の例としては、因子 があります。 ( 1 − 3 L + L 2 ) {\displaystyle \left(1-{\sqrt {3}}L+L^{2}\right)} これには、周期2の(非定常的な)季節性が含まれます。 最初のタイプの要因の効果は、各季節の値が時間の経過とともに個別に変動することを可能にすることですが、2番目のタイプの要因では、隣接する季節の値が一緒に変動します。
ARIMAモデルにおいて適切な因子を特定し、指定することは、モデリングにおいて重要なステップとなり得る。なぜなら、それによって推定すべきパラメータの総数を減らすことができるだけでなく、論理と経験から示唆されるような挙動のタイプをモデルに組み込むことが可能になるからである。
差分 定常時系列の特性は変化しません。具体的には、広義の定常 時系列では、平均と分散/自己共分散 は時間を通じて一定です。統計学における差分法 は、非定常時系列に適用される変換であり、トレンドまたは非定常平均を除去または減算することで、トレンドを定常化 (すなわち、平均の意味で定常化)します。ただし、分散または 自己共分散 の非定常性には影響しません。同様に、季節差分法 または季節除去法 は、時系列から季節成分を除去するために適用されます。
信号処理、特にフーリエスペクトル解析 理論の観点から見ると、トレンドは系列のスペクトルの低周波部分であり、季節は周期周波数部分である。したがって、差分はハイパス (つまりローストップ)フィルタであり、季節差分はスペクトル領域で(時間領域で直接ではなく)それぞれ低周波トレンドと周期周波数季節を抑制するコムフィルタである。 [ 7 ]
データの差分を取るには、連続する観測値間の差分を計算します。数学的には、これは次のように表されます。
y t ′ = y t − y t − 1 {\displaystyle y_{t}'=y_{t}-y_{t-1}\,} 定常時系列を得るためには、データを2度差分化する必要がある場合があり、これは2次差分 と呼ばれます。
y t * = y t ′ − y t − 1 ′ = ( y t − y t − 1 ) − ( y t − 1 − y t − 2 ) = y t − 2 y t − 1 + y t − 2 {\displaystyle {\begin{aligned}y_{t}^{*}&=y_{t}'-y_{t-1}'\\&=(y_{t}-y_{t-1})-(y_{t-1}-y_{t-2})\\&=y_{t}-2y_{t-1}+y_{t-2}\end{aligned}}} 季節差分とは、ある観測値と、前シーズン(例えば1年前)の対応する観測値との差を計算することです。これは次のように表されます。
y t ′ = y t − y t − m どこ m = シーズンの期間 。 {\displaystyle y_{t}'=y_{t}-y_{tm}\quad {\text{ただし}}m={\text{季節の期間}}。} 差分データは、その後ARMA モデルの推定に用いられる。
例 よく知られている特殊なケースの中には、自然に発生するものや、他の一般的な予測モデルと数学的に等価なものがいくつかあります。例えば、次のとおりです。
ARIMA(0, 0, 0) はホワイトノイズ をモデル化します。 ARIMA(0, 1, 0) モデルはランダムウォーク です。 ARIMA(0, 1, 2)モデルは減衰ホルトモデルです。 定数項のないARIMA(0, 1, 1)モデルは、基本的な指数平滑化 モデルである。[ 9 ] ARIMA(0, 2, 2)モデルは次のように表される。X t = 2 X t − 1 − X t − 2 + ( α + β − 2 ) ε t − 1 + ( 1 − α ) ε t − 2 + ε t {\displaystyle X_{t}=2X_{t-1}-X_{t-2}+(\alpha +\beta -2)\varepsilon _{t-1}+(1-\alpha )\varepsilon _{t-2}+\varepsilon _{t}} これは、加法誤差を伴うホルトの線形法、または二重指数平滑化 に相当する。[ 9 ]
注文の選択 次数p とq は、 標本自己相関関数 (ACF)、偏自己相関関数 (PACF)、および/または拡張自己相関関数 (EACF) 法を用いて決定することができる。[ 10 ]
その他の代替手法としては、AIC、BICなどがある[ 10 ]。 非季節ARIMAモデルの次数を決定するための有用な基準は、赤池情報量規準(AIC) である。これは次のように表される。
AIC = − 2 ログ ( L ) + 2 ( p + q + k ) 、 {\displaystyle {\text{AIC}}=-2\log(L)+2(p+q+k),} ここで、L はデータの尤度、p は自己回帰部分の次数、q は移動平均部分の次数です。kはARIMA モデルの切片を表します。AICの場合、k = 1であればARIMAモデルに切片があり(c ≠ 0)、k = 0であればARIMAモデルに切片はありません(c = 0)。
ARIMAモデルの修正AICは次のように表すことができます。
AICc = AIC + 2 ( p + q + k ) ( p + q + k + 1 ) T − p − q − k − 1 。 {\displaystyle {\text{AICc}}={\text{AIC}}+{\frac {2(p+q+k)(p+q+k+1)}{Tpqk-1}}.} ベイズ情報量規準(BIC)は 次のように表すことができます。
ビック = AIC + ( ( ログ T ) − 2 ) ( p + q + k ) 。 {\displaystyle {\text{BIC}}={\text{AIC}}+((\log T)-2)(p+q+k).} 目的は、優れたモデルを得るために、AIC、AICc、またはBICの値を最小化することです。調査対象のモデル群において、これらの基準のいずれかの値が低いほど、モデルはデータに適合します。AICとBICは、全く異なる目的で使用されます。AICはモデルを現実の状況に近づけようとしますが、BICは完全な適合を見つけようとします。BICアプローチは、現実の複雑なデータに完全に適合することは決してないため、しばしば批判されますが、AICよりもパラメータが多いモデルに対してより厳しいペナルティを課すため、依然として選択のための有用な方法です。
AICcは、差分次数が同じARIMAモデルの比較にのみ使用できます。差分次数が異なるARIMAモデルの比較には、RMSEを 使用できます。
ARIMAモデルを用いた予測 ARIMAモデルは、2つのモデルの「カスケード」として捉えることができる。1つ目は非定常モデルである。
Y t = ( 1 − L ) d X t {\displaystyle Y_{t}=(1-L)^{d}X_{t}} 一方、2つ目は広義の定常性を 持つ。
( 1 − ∑ 私 = 1 p φ 私 L 私 ) Y t = ( 1 + ∑ 私 = 1 q θ 私 L 私 ) ε t 。 {\displaystyle \left(1-\sum _{i=1}^{p}\varphi _{i}L^{i}\right)Y_{t}=\left(1+\sum _{i=1}^{q}\theta _{i}L^{i}\right)\varepsilon _{t}\,.} これで、そのプロセスに関する予測が可能になった。Y t {\displaystyle Y_{t}} 自己回帰予測 法の一般化を用いて。
予測間隔 ARIMAモデルの予測区間(予測値の信頼区間 )は、残差が無相関かつ正規分布に従うという仮定に基づいています。これらの仮定のいずれかが成り立たない場合、予測区間は不正確になる可能性があります。そのため、研究者は予測区間を算出する前に、残差の自己相関関数(ACF)とヒストグラムを作成して仮定を確認します。
95%予測区間: y ^ T + h ∣ T ± 1.96 v T + h ∣ T \displaystyle {\hat {y}}_{T+h\,\mid \,T}\pm 1.96{\sqrt {v_{T+h\,\mid \,T}}}} 、 どこv T + h ∣ T {\displaystyle v_{T+h\mid T}} 分散はy T + h ∣ y 1 、 … 、 y T {\displaystyle y_{T+h}\mid y_{1},\dots ,y_{T}} 。
のためにh = 1 {\displaystyle h=1} 、v T + h ∣ T = σ ^ 2 ${\displaystyle v_{T+h\,\mid \,T}={\hat {\sigma }}^{2}}$ パラメータや次数に関係なく、すべてのARIMAモデルに適用されます。
ARIMA(0,0,q)の場合、y t = e t + ∑ 私 = 1 q θ 私 e t − 私 。 {\displaystyle y_{t}=e_{t}+\sum _{i=1}^{q}\theta _{i}e_{ti}.}
v T + h ∣ T = σ ^ 2 [ 1 + ∑ 私 = 1 h − 1 θ 私 e t − 私 ] 、 のために h = 2 、 3 、 … {\displaystyle v_{T+h\,\mid \,T}={\hat {\sigma }}^{2}\left[1+\sum _{i=1}^{h-1}\theta _{i}e_{ti}\right],{\text{ for }}h=2,3,\ldots } 一般的に、ARIMAモデルによる予測間隔は、予測期間が長くなるにつれて長くなります。
バリエーションと拡張 ARIMAモデルのいくつかのバリエーションが一般的に使用されています。複数の時系列を使用する場合、X t {\displaystyle X_{t}} これらはベクトルとして考えることができ、VARIMA モデルが適切である場合があります。モデルに季節効果が疑われる場合、一般的には、モデルの AR または MA 部分の次数を上げるよりも SARIMA (季節 ARIMA) モデルを使用する方が良いと考えられています。[ 11 ] 時系列が長距離依存性 を示すと疑われる場合、dパラメータは、 分数積分移動平均 モデル (FARIMA または ARFIMA) モデルとも呼ばれる)で非整数値をとることができます。
ソフトウェア実装 ARIMAモデルの適切なパラメータを見つけるために、Box-Jenkins パラメータ最適化などの手法を適用する様々なパッケージが利用可能です。
EViews :ARIMAおよびSARIMAに関する豊富な機能を備えています。Julia : TimeModelsパッケージにARIMAの実装が含まれています[ 12 ] Mathematica :ARIMAProcess関数が含まれています。MATLAB :計量経済学ツールボックスには、 ARIMAモデルとARIMA誤差を用いた回帰分析が含まれています。NCSS :ARIMA適合と予測のためのいくつかの手順が含まれています。[ 13 ] [ 14 ] [ 15 ] Python : "statsmodels"パッケージには、時系列分析用のモデルが含まれています。単変量時系列分析: AR、ARIMA、ベクトル自己回帰モデル、VAR、構造VAR、時系列分析用の記述統計とプロセス モデル。R : 標準の R stats パッケージにはarima関数 が 含まれており、「ARIMA Modelling of Time Series」で説明されています。ARIMA ( p 、 d 、 q ) \displaystyle ARIMA(p,d,q) 関数には、季節要因、切片項、および外生変数 ( xreg 、「外部回帰変数」と呼ばれる) も含まれます。astsa パッケージには、季節モデルまたは非季節モデルを推定するためのsarimaや、これらのモデルからシミュレーションを行う sarima.sim などのスクリプトがあります。CRAN の時系列タスク ビューには、さらに多くのリンクが掲載されています。Rの 「 forecast」パッケージは、関数を使用して指定された時系列に対して ARIMA モデルを自動的に選択できます(ただし、この関数は疑わしい結果をもたらすことがよくあります)。auto.arima()また、その関数で季節性ARIMAモデルと非季節性ARIMAモデルをシミュレートすることもできますsimulate.Arima()。[ 16 ] Ruby : 「statsample-timeseries」 gemは、ARIMAモデルやカルマンフィルタリングを含む時系列分析に使用されます。JavaScript : 「arima」パッケージには、時系列分析および予測のためのモデル(ARIMA、SARIMA、SARIMAX、AutoARIMA)が含まれています。C : 「ctsa」パッケージには、ARIMA、SARIMA、SARIMAX、AutoARIMA、および時系列分析のための複数の手法が含まれています。安全なツールボックス:ARIMAモデリングとARIMA誤差を用いた回帰分析が含まれます。 SAS :計量経済学および時系列分析システムであるSAS/ETSに、広範なARIMA処理機能が含まれています。IBM SPSS : 統計パッケージのプロフェッショナル版とプレミアム版、およびモデル化パッケージにARIMAモデリング機能が含まれています。デフォルトのエキスパートモデラー機能は、季節性および非季節性の自己回帰(p )、積分(d )、移動平均(q )の設定範囲と、7つの指数平滑化モデルを評価します。エキスパートモデラーは、対象の時系列データを平方根または自然対数に変換することもできます。ユーザーは、エキスパートモデラーをARIMAモデルに限定するか、エキスパートモデラーを使用せずにARIMAの非季節性および季節性のp 、d 、q の設定を手動で入力することもできます。7種類の外れ値に対して自動外れ値検出機能が利用可能で、この機能を選択すると、検出された外れ値は時系列モデルに反映されます。 SAP : SAP ERP のAPO-FCSパッケージ[ 17 ] は、Box-Jenkins手法を使用してARIMAモデルの作成と適合を可能にします。マイクロソフトの SQL Server Analysis Services には、データマイニングアルゴリズムとしてARIMAが含まれています。Stata 9以降、ARIMAモデル(arimaコマンドを使用)が組み込まれています。StatSim :予測ウェブアプリにARIMAモデルが含まれています。 Teradata Vantageは、機械学習エンジンの一部としてARIMA関数を備えています。TOL(時間指向言語)は、ARIMAモデル(SARIMA、ARIMAX、DSARIMAXの派生モデルを含む)をモデル化するために設計されています。。 Scala : spark-timeseriesライブラリには、Scala、Java、Python用のARIMA実装が含まれています。この実装はApache Spark 上で動作するように設計されています。PostgreSQL / MadLib:時系列分析/ARIMA。X-12-ARIMA :米国国勢調査局より
参考文献 ↑ 定常性と差分法に関する詳細については、 https://www.otexts.org/fpp/8/1 を参照してください。 1 2 Hyndman, Rob J; Athanasopoulos, George. "8.9 季節ARIMAモデル" .予測:原理と実践 . oTexts . 2015年 5月19日 取得 . ↑ Box, George EP (2015). 時系列分析:予測と制御 . WILEY. ISBN 978-1-118-67502-1 。↑ ハミルトン、ジェームズ (1994). 時系列分析 . プリンストン大学出版局. ISBN 9780691042893 。1 2 パポリス、アタナシオス (2002). 確率、ランダム変数、および確率過程 . タタ・マグロウヒル・エデュケーション. 1 2 Triacca, Umberto (2021年2月19日). 「Wold分解定理」 (PDF) . 2016年3月27日のオリジナルから アーカイブ (PDF) 。 1 2 Wang, Shixiong; Li, Chongshou; Lim, Andrew (2019-12-18). "なぜARIMAとSARIMAは十分ではないのか". arXiv : 1904.07632 [ stat.AP ]. ↑ 「ARIMAモデルの表記法」 . 時系列予測システム . SAS Institute . 2015年 5月19日 取得 。 1 2 「ARIMAモデル入門」 . people.duke.edu . 2016年6月5日 取得。 1 2 ミズーリ州立大学。 「モデル仕様、時系列分析」 (PDF) 。 ↑ Swain, S; et al. (2018). 「インド、オリッサ州コルダ地区における月間降雨量予測のためのARIMAモデルの開発」. Recent Findings in Intelligent Computing Techniques . Advances in Intelligent Systems and Computing. Vol. 708. pp. 325–331 . doi : 10.1007/978-981-10-8636-6_34 . ISBN 978-981-10-8635-9 。↑ TimeModels.jl www.github.com ↑ NCSS の ARIMA、 ↑ NCSS での自動 ARMA、 ↑ NCSSにおける自己相関と偏自己相関 ↑ Hyndman, Rob J; Athanasopoulos, George. "8.7 RにおけるARIMAモデリング" . Forecasting: principles and practice . oTexts . 2015年 5月19日 取得 . ↑ 「Box Jenkinsモデル」 . SAP . 2013年 3月8日 取得 。
さらに読む アステリウ、ディミトロス;ホール、 スティーブン・G. (2011)。「ARIMAモデルとボックス・ジェンキンス法」応用計量経済学 (第2 版)。パルグレイブ・マクミラン。pp. 265–286。ISBN 978-0-230-27182-1 。ミルズ、テレンス・C. (1990).経済学者のための時系列分析手法 . ケンブリッジ大学出版局. ISBN 978-0-521-34339-8 。 パーシバル、ドナルド・B.、ウォルデン、アンドリュー・T. (1993).物理応用におけるスペクトル解析 . ケンブリッジ大学出版局. ISBN 978-0-521-35532-2 。 Shumway RH および Stoffer, DS (2017).時系列分析とその応用:R の例付き . Springer. DOI: 10.1007/978-3-319-52452-8 R における ARIMA モデル。R を使用して時系列データに ARIMA (自己回帰和分移動平均) モデルを適合させるエキスパートになりましょう。
外部リンク デューク大学 のロバート・ナウによるARIMAモデルに関する講義ノート