記事のポイント
ARIMAモデルは自己相関を持つ非定常な時間系列データ分析と予測に有効です。
定常性確認、自己相関分析、情報量規準で最適なパラメータを選定します。
外れ値処理、季節調整、外部変数組み込みで予測精度向上が可能です。
はじめに
本記事では、ARIMAモデル(自己回帰積分移動平均モデル)を用いた時間系列データの分析と予測に焦点を当て、その実践的な活用法を解説します。ARIMAモデルは、自己相関 を持つ非定常 な時間系列データ の分析に有効であり、適切なパラメータ選定とモデル評価を通じて、予測精度 を向上させることが可能です。
本稿では、ARIMAモデルの基礎から、パラメータ選定の具体的なステップ、モデル構築と評価の方法、さらには予測精度を高めるためのテクニックまでを詳細に解説します。
ARIMAモデルの基礎と課題
本セクションでは、ARIMAモデルの基本概念から、実務でパラメータを決定する際の課題について解説します。
ARIMAモデルとは
ARIMAモデルは、時間系列データの分析に用いられるモデルであり、自己回帰(AR)、積分(I)、移動平均(MA)という3つの要素で構成されています。自己回帰(AR)モデルは、過去のデータが現在のデータに与える影響を分析します。
具体的には、ある時点のデータが、過去の時点のデータとどれくらい相関があるかを数値化します。この相関の度合いを自己相関 と呼び、ARIMAモデルではこの自己相関を利用して将来の値を予測します。積分(I)は、非定常性 を持つ時間系列データを定常的な状態に変換するために使用されます。
非定常なデータとは、平均や分散が時間とともに変化するデータのことで、このようなデータに対してARIMAモデルを適用する前に、差分を取るなどの処理を行い、データを安定させる必要があります。移動平均(MA)モデルは、過去の予測誤差を考慮に入れることで、予測精度を高める役割を果たします。過去の誤差を分析し、その誤差が将来の予測にどのように影響するかを評価することで、より正確な予測を行います。
ARIMAモデルは、これらの要素を組み合わせることで、時間系列データの背後にあるパターンを捉え、将来の値を予測するために広く利用されています。ARIMA(p, d, q)モデルとして表現され、pは自己回帰の次数 、dは非定常性 を除去するための差分次数 、qは移動平均の次数 を示します。
パラメータ(p, d, q)決定の壁
ARIMAモデルのパラメータ(p, d, q)を決定するプロセスは、モデルの予測精度 に大きく影響を与えるため、非常に重要です。しかし、最適なパラメータを見つけることは容易ではありません。なぜなら、時間系列データはそれぞれ異なる特性を持っているため、一つの万能なパラメータ設定が存在しないからです。
一般的な課題として、まず挙げられるのは、自己相関関数(ACF)と偏自己相関関数(PACF)の解釈の難しさです。これらの関数を分析することで、pとqの初期値を推定できますが、データのノイズや複雑さによって、正確な判断が難しい場合があります。
また、情報量規準(AICやBIC)を用いてモデルの評価を行う際にも、複数のモデル候補が存在し、どのモデルが最適かを判断するのに苦労することがあります。例えば、AICが最小となるモデルを選択したとしても、必ずしも予測精度 が最も高いとは限りません。
さらに、データの非定常性 に対処するために差分(d)を適用する次数 を決定するのも難しい場合があります。過剰な差分はモデルの予測精度 を低下させる可能性があり、不十分な差分はデータの非定常性 を解消できない可能性があります。
このように、ARIMAモデルのパラメータ決定は、データの特性を深く理解し、様々な手法を組み合わせる必要があるため、経験と知識が求められる作業と言えるでしょう。
予測精度向上の必要性
時間系列データの予測精度 は、ビジネスにおける意思決定の質を大きく左右するため、その向上は非常に重要です。予測精度 が高いほど、企業は将来の需要変動、市場のトレンド、リスクなどをより正確に予測し、それに基づいて適切な戦略を立てることができます。
例えば、小売業では、過去の売上データに基づいて将来の需要を予測し、在庫管理や仕入れ計画を最適化することで、機会損失を減らし、コストを削減することができます。
金融機関では、過去の株価データや経済指標に基づいて将来の市場動向を予測し、投資戦略やリスク管理を改善することで、収益を最大化し、損失を最小限に抑えることができます。
また、エネルギー業界では、過去の気象データや消費データに基づいて将来の電力需要を予測し、発電計画や供給体制を最適化することで、安定的なエネルギー供給を確保し、コストを削減することができます。
このように、時間系列予測は、様々な業界において、資源の効率的な配分、リスクの軽減、収益の向上に貢献する不可欠な要素となっています。
したがって、企業は、予測精度 を高めるために、適切なモデルの選択、データの品質向上、パラメータの最適化などに継続的に取り組む必要があります。
パラメータ選定のステップ
ARIMAモデル のパラメータ選定は、時間系列データの分析において重要なプロセスです。このセクションでは、定常性の確認から自己相関の分析、情報量規準によるモデル評価まで、パラメータ選定の各ステップを詳細に解説します。
定常性の確認と変換
ARIMAモデルを適用する上で、時間系列データの定常性を確認することは不可欠です。定常性とは、データの平均、分散、自己相関といった統計的性質が時間を通じて一定であることを意味します。非定常なデータに対しては、適切な変換を施す必要があります。
まず、Augmented Dickey-Fuller(ADF)検定を用いて、データの定常性を評価します。ADF検定は、単位根の存在を検定することで定常性を判断するもので、p値が有意水準(例えば0.05)を下回る場合、データは定常であると判断されます。
もしデータが非定常である場合、差分変換を適用します。差分変換とは、現在のデータ点から前のデータ点を引くことで新しい系列を作成する方法です。1階差分で定常性が得られない場合は、2階差分を試みます。
差分を取る回数を増やすほど、モデルはより複雑になるため、必要最小限の差分で定常性を確保することが重要です。例えば、日経平均株価のデータは、原系列では非定常ですが、1階差分を取ることで定常になることが知られています。
このように、適切な定常性の確認と変換を行うことで、ARIMAモデルの適用が可能になります。
自己相関と偏自己相関の分析
定常性を確認し、必要に応じて変換を行った後、自己相関関数(ACF)と偏自己相関関数(PACF)を用いて、ARIMAモデルのパラメータを初期推定します。ACFは、ある時点のデータとその時点から一定期間後のデータとの間の相関を示します。
一方、PACFは、他の時点の影響を取り除いた上で、特定の時点間の直接的な相関を示します。これらのグラフを分析することで、ARIMAモデルの自己回帰(AR)成分と移動平均(MA)成分の次数を決定する手がかりが得られます。
例えば、ACFが比較的ゆっくりと減衰し、PACFが最初のラグで急激に低下する場合、これはARモデルが適している可能性を示唆します。逆に、PACFが比較的ゆっくりと減衰し、ACFが最初のラグで急激に低下する場合、MAモデルが適している可能性があります。
また、ACFとPACFの両方が徐々に減衰する場合は、自己回帰移動平均(ARMA)モデルが適しているかもしれません。具体的には、ACFとPACFのグラフ上で有意な相関が認められるラグの数を参考に、p(ARの次数)とq(MAの次数)の初期値を設定します。
例えば、ACFの最初の2つのラグが有意で、PACFの最初のラグのみが有意である場合、ARIMA(1, d, 2)モデルを試してみる価値があります。
情報量規準によるモデル評価
ACFとPACFの分析に基づいて複数のARIMAモデルの候補が挙がったら、情報量規準を用いて最適なモデルを選択します。情報量規準とは、モデルの複雑さとデータへの適合度のバランスを評価するための指標であり、代表的なものとして赤池情報量基準(AIC)とベイズ情報量基準(BIC)があります。
AICは、モデルのパラメータ数が多いほどペナルティが大きくなるように設計されており、BICはAICよりもさらに大きなペナルティを課します。したがって、BICはよりシンプルなモデルを推奨する傾向があります。
モデル選択の際には、AICまたはBICが最も小さいモデルを選択します。ただし、AICとBICの結果が異なる場合は、分析の目的やデータの特性を考慮して判断する必要があります。
例えば、予測精度を重視する場合はAICを、モデルの解釈性を重視する場合はBICを選択することが考えられます。具体的には、ARIMA(1, 1, 0)、ARIMA(0, 1, 1)、ARIMA(1, 1, 1)の3つのモデルを比較し、AICがそれぞれ100、95、98、BICがそれぞれ102、97、100であった場合、BICに基づいてARIMA(0, 1, 1)モデルを選択します。
モデル AIC BIC ARIMA(1, 1, 0) 100 102 ARIMA(0, 1, 1) 95 97 ARIMA(1, 1, 1) 98 100
モデル構築と評価
ここでは、ARIMAモデルを実際に構築し、その性能を評価し改善する方法について解説します。
モデルの構築手順
ARIMAモデルの構築は、選定したパラメータに基づいて行われます。一般的には、統計解析ソフトウェアやプログラミング言語を用いてモデルを実装します。Pythonでは、statsmodels
ライブラリが広く利用されており、ARIMAモデルの構築と分析を容易に行えます。
モデル構築の最初のステップとして、データの準備があります。これには、欠損値の処理 や外れ値の除去 が含まれます。次に、statsmodels
のARIMA
関数を用いてモデルを構築し、fit
メソッドでパラメータを推定します。この際、モデルがデータに適切に適合するように、パラメータの初期値を調整することが重要です。
例えば、以下のようにARIMAモデルを構築できます。
from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(data, order=(p, d, q))
model_fit = model.fit()
print(model_fit.summary())
モデルが構築できたら、summary
メソッドを用いて、推定されたパラメータやモデルの適合度に関する情報を確認します。これらの情報 は、モデルの診断と改善に役立ちます。
残差分析によるモデル診断
モデル構築後には、残差分析 を通じてモデルの診断を行います。残差とは、実際の観測値とモデルによる予測値との差であり、モデルがデータにどれだけ適合しているかを示す重要な指標です。
残差分析では、まず残差の自己相関を確認します。自己相関プロット(ACF)や偏自己相関プロット(PACF)を用いて、残差にパターンが残っていないかを調べます。もし残差に有意な自己相関が認められる場合、モデルがまだ捉えきれていないパターンが存在することを示唆します。
次に、残差の正規性を確認します。ヒストグラム やQ-Qプロット を用いて、残差が正規分布に従っているかを視覚的に評価します。また、シャピロ-ウィルク検定 などの統計的検定を用いて、正規性を定量的に評価することも可能です。
残差が正規分布に従っていない場合、モデルのパラメータを調整するか、異なるモデルを検討する必要があります。残差分析の結果に基づいてモデルを改善することで、予測精度を向上させることができます。
予測精度評価指標
ARIMAモデルの予測精度を評価するためには、適切な評価指標を選択し、ベンチマークモデルと比較することが重要です。代表的な評価指標としては、平均二乗誤差(MSE)、平方根平均二乗誤差(RMSE)、平均絶対誤差(MAE)などがあります。
評価指標 説明 特徴 MSE (平均二乗誤差) 予測値と実際の値との二乗誤差の平均 誤差の大きさを二乗で評価するため、大きな誤差に敏感 RMSE (平方根平均二乗誤差) MSEの平方根 誤差の単位を元のデータと同じにするため、解釈が容易 MAE (平均絶対誤差) 予測値と実際の値との絶対誤差の平均 誤差の大きさを絶対値で評価するため、外れ値の影響を受けにくい
MSEは、予測値と実際の値との二乗誤差の平均であり、誤差の大きさを二乗で評価するため、大きな誤差に対して敏感です。RMSEは、MSEの平方根であり、誤差の単位を元のデータと同じにするため、解釈が容易です。MAEは、予測値と実際の値との絶対誤差の平均であり、誤差の大きさを絶対値で評価するため、外れ値の影響を受けにくいという特徴があります。
これらの指標を用いて、構築したARIMAモデルの精度を評価し、必要に応じてモデルのパラメータを調整します。また、ナイーブ予測 や季節性ナイーブ予測 などの単純なベンチマークモデルと比較することで、ARIMAモデルの優位性を確認します。
▶ データ活用支援について詳しく知る | 詳細はこちら
予測精度を高めるためのテクニック
ARIMAモデルの予測精度を高めるためには、外れ値の適切な処理、季節調整の適用、そして外部変数の組み込みが重要です。これらのテクニックを駆使することで、より精度の高い予測モデルを構築できます。
外れ値の検出と処理
外れ値は、時間系列データ分析において予測精度を著しく低下させる要因の一つです。外れ値とは、データセット内の他の値から大きく逸脱した値であり、ARIMAモデルのパラメータ推定に悪影響を及ぼし、結果として予測精度を損なう可能性があります。
外れ値の検出には、統計的な手法とドメイン知識の活用が不可欠です。統計的手法としては、四分位範囲(IQR)に基づく方法や、標準偏差を用いる方法があります。IQRに基づく方法では、第1四分位数(Q1)と第3四分位数(Q3)を用いてIQRを計算し、Q1 - 1.5 * IQRを下回る値、またはQ3 + 1.5 * IQRを上回る値を外れ値とみなします。標準偏差を用いる方法では、平均値から一定の標準偏差(例えば3σ)以上離れた値を外れ値とします。
ドメイン知識を活用することで、データが持つ背景や文脈を理解し、異常値が実際に外れ値であるかを判断できます。例えば、特定のイベントやキャンペーンが一時的なデータの急増を引き起こしている場合、それを外れ値として単純に除去するのではなく、モデルに組み込むべき情報として扱うことが考えられます。
外れ値の処理方法としては、除去、置換、モデルへの組み込みがあります。除去は最も単純な方法ですが、重要な情報が失われる可能性があるため、慎重に行う必要があります。置換は、外れ値を平均値や中央値などの代表値で置き換える方法です。モデルへの組み込みは、外れ値を説明する変数をモデルに追加することで、外れ値の影響を軽減する方法です。例えば、介入分析モデルを用いることで、外れ値が発生した時点での影響をモデルに組み込むことができます。
外れ値の検出と適切な処理は、ARIMAモデルの予測精度を向上させるために不可欠なステップです。
季節調整の適用
時間系列データには、季節的な変動が含まれていることが多く、これが予測精度に大きな影響を与える可能性があります。季節調整は、このような季節変動をデータから除去し、より正確な分析と予測を可能にするための重要なテクニックです。
季節変動は、年間の特定の時期に繰り返されるパターンであり、例えば、小売業における年末商戦の売上増加や、観光業における夏季の観光客増加などが挙げられます。これらの季節変動を考慮せずにARIMAモデルを適用すると、予測精度が低下する可能性があります。
季節調整の方法としては、X-13ARIMA-SEATS法やSTL(Seasonal-Trend decomposition using Loess)法などが一般的に用いられます。X-13ARIMA-SEATS法は、米国センサス局が開発した季節調整法であり、ARIMAモデルを基盤としています。この方法は、データのトレンド、季節変動、不規則変動を分離し、季節変動を除去することで、季節調整済みのデータを得ます。STL法は、Clevelandらが開発した非 параметリックな季節調整法であり、データのトレンドと季節変動を平滑化によって分離します。この方法は、X-13ARIMA-SEATS法と比較して、より柔軟な調整が可能であり、外れ値の影響を受けにくいという特徴があります。
季節調整を適用する際には、データの特性や目的に応じて適切な方法を選択することが重要です。例えば、データの季節変動が比較的安定している場合はX-13ARIMA-SEATS法が適しており、季節変動が複雑である場合や外れ値が多い場合はSTL法が適しています。
季節調整を適用することで、データのトレンドや周期性がより明確になり、ARIMAモデルのパラメータ推定が容易になります。その結果、予測精度が向上し、より信頼性の高い予測が可能になります。
外部変数の組み込み
ARIMAモデルの予測精度を向上させるためには、時間系列データ自体の過去のデータだけでなく、予測対象と関連性の高い外部変数を組み込むことが有効です。外部変数は、予測対象に影響を与える可能性のある要因であり、例えば、経済指標、気象データ、イベント情報などが挙げられます。これらの変数をモデルに組み込むことで、予測精度を大幅に向上させることができます。
外部変数の選択は、予測対象との関連性を慎重に検討する必要があります。例えば、小売業の売上予測を行う場合、広告宣伝費、競合店の動向、消費者の購買意欲などが関連性の高い変数として考えられます。これらの変数をデータとして収集し、ARIMAモデルに組み込むことで、より正確な売上予測が可能になります。
外部変数をARIMAモデルに組み込む方法としては、ARIMAXモデルが一般的に用いられます。ARIMAXモデルは、ARIMAモデルに外部変数の影響を組み込んだモデルであり、外部変数の係数を推定することで、その影響度を定量的に評価することができます。
ARIMAXモデルを構築する際には、外部変数の選択だけでなく、そのラグ(時間的な遅れ)も考慮する必要があります。例えば、広告宣伝費が売上に影響を与えるまでには一定の時間がかかる場合、広告宣伝費のラグを適切に設定することで、より正確な予測が可能になります。
外部変数の組み込みは、ARIMAモデルの予測精度を向上させるための強力なテクニックですが、変数の選択やラグの設定には注意が必要です。適切な外部変数を選択し、モデルに組み込むことで、より信頼性の高い予測モデルを構築することができます。
外れ値の検出 IQRに基づく方法 標準偏差を用いる方法 計算方法 Q1 - 1.5 * IQRを下回る値、またはQ3 + 1.5 * IQRを上回る値を外れ値とみなす 平均値から一定の標準偏差(例えば3σ)以上離れた値を外れ値とする
季節調整の方法 X-13ARIMA-SEATS法 STL(Seasonal-Trend decomposition using Loess)法 特徴 データのトレンド、季節変動、不規則変動を分離し、季節変動を除去 データのトレンドと季節変動を平滑化によって分離 利点 季節変動が比較的安定している場合に適している より柔軟な調整が可能で、外れ値の影響を受けにくい
ARIMAモデルの注意点と限界
ARIMAモデルは強力なツールですが、使用にあたってはいくつかの注意点と限界があります。より高度なモデルへの発展も視野に入れる必要があります。
モデルの過剰適合
ARIMAモデルは、過剰適合 のリスクを抱えています。過剰適合 とは、モデルが訓練データに対して過度に適合し、未知のデータに対する汎化性能 が低下する現象を指します。
この問題に対処するためには、モデルの複雑さを適切に調整し、汎化性能を高めるための工夫が必要です。具体的には、パラメータ数を減らす、正則化項を加える、交差検証を行うなどの対策が考えられます。
交差検証は、データを訓練用と検証用に分割し、モデルの性能を評価する方法です。これにより、未知のデータに対する予測精度をより正確に評価できます。
また、情報量規準(AIC、BICなど)を用いて、モデルの複雑さと適合度のバランスを取ることも重要です。情報量規準は、モデルのパラメータ数が増えるほどペナルティを課すため、過剰なパラメータを持つモデルを避けることができます。
さらに、早期打ち切り(Early Stopping)も有効な手法です。これは、検証データに対する性能が改善しなくなった時点で学習を停止する方法で、過剰適合を防ぐ効果があります。
モデルの選択においては、単純なモデルから始め、必要に応じて複雑さを増していくアプローチが推奨されます。例えば、ARIMA(1,0,0)から始め、自己相関関数(ACF)や偏自己相関関数(PACF)を参考にしながら、パラメータを調整していくと良いでしょう。
汎化性能 を高めるためには、訓練データだけでなく、検証データやテストデータを用いた評価が不可欠です。これにより、モデルが未知のデータに対してどの程度うまく機能するかを把握し、よりロバストなモデルを構築することができます。
非線形性の考慮
ARIMAモデルは、線形性 を仮定したモデルであるため、非線形な依存性を持つデータに対しては限界があります。非線形性 が強いデータに対してARIMAモデルを適用すると、予測精度が著しく低下する可能性があります。
このような場合、より高度なモデルの必要性が生じます。例えば、ニューラルネットワーク(特にリカレントニューラルネットワーク:RNNやLSTM)は、非線形な関係性を捉えるのに優れています。
また、状態空間モデルも、非線形な状態遷移を扱うことができます。具体的には、金融市場のデータや、複雑な季節変動を持つデータなどが、非線形性を持つ典型的な例です。
これらのデータに対しては、ARIMAモデルだけでなく、他のモデルとの組み合わせや、非線形モデルの適用を検討する必要があります。例えば、ARIMAモデルで捉えきれない残差に対して、ニューラルネットワークを適用することで、予測精度を向上させることができます。
また、非線形自己回帰モデル(NAR)や、非線形移動平均モデル(NMA)といった、ARIMAモデルを拡張したモデルも存在します。これらのモデルは、ARIMAモデルの枠組みの中で、非線形な要素を取り入れることを可能にします。
非線形性 を考慮する際には、データの特性を十分に理解し、適切なモデルを選択することが重要です。データの可視化や、非線形性の検定などを行い、モデル選択の根拠を明確にすることが求められます。
他の時系列モデルとの比較
ARIMAモデルは、時系列分析における基本的なモデルの一つですが、他の多くの時系列モデルが存在します。例えば、状態空間モデルは、状態 と呼ばれる潜在的な変数を導入することで、より柔軟なモデル化を可能にします。
状態空間モデルは、観測データだけでなく、状態 の推定も行うため、より深い分析が可能です。また、機械学習モデル(例えば、サポートベクター回帰:SVRや、ランダムフォレスト)も、時系列予測に利用できます。
これらのモデルは、非線形な関係性を捉えるのに優れており、ARIMAモデルでは捉えきれない複雑なパターンを学習することができます。ARIMAモデルの適切な使い分けを考える際には、データの特性や、予測の目的に応じてモデルを選択する必要があります。
例えば、短期的な予測にはARIMAモデルが適している場合がありますが、長期的な予測や、非線形性が強いデータに対しては、他のモデルがより適している可能性があります。具体的には、以下のような使い分けが考えられます。
自己相関が強く、定常性を持つデータにはARIMAモデル
非線形性が強いデータには、ニューラルネットワークやSVR
状態 の推定が必要な場合には、状態空間モデル
モデル選択の際には、交差検証や、情報量規準を用いて、モデルの性能を評価し、最適なモデルを選択することが重要です。また、複数のモデルを組み合わせることで、よりロバストな予測を行うことも可能です。
おわりに
ARIMAモデルは、時間系列データの予測において強力なツールですが、パラメータ選定やモデル評価には専門的な知識が求められます。
もし、データの分析や活用にお困りの際は、ぜひHakkyにご相談ください。お客様のデータから新たな価値を引き出し、ビジネスの成長を支援いたします。データ活用支援に関する詳細な情報はこちらからご覧いただけます。
お知らせ
データ活用でお困りではありませんか。貴社のデータから新たな価値を引き出すお手伝いをいたします。
関連記事
参考文献