時系列データ分析の基本:新人エンジニアに向けたARIMAモデルとProphetの仕組み解説

こんにちは。ゆうせいです。

業務システムやWebサービスの運用において、将来のアクセス数や売上などの推移を予測する需要は頻繁に発生します。時間の経過に伴って記録されたデータを時系列データと呼び、その変動パターンを数式に落とし込んで将来を予測する手法を時系列モデルと呼びます。

今回は、実務で頻繁に選択肢として挙がる代表的な2つの手法、ARIMAモデルとProphetについて、基礎から分かりやすく解説します。

時系列データ分析の基礎概念

時系列データを扱う上で、まず理解すべき特性が存在します。通常の機械学習で扱う表形式のデータとは異なり、時系列データは直前の数値が次の数値に直接影響を与えるという時間的な連続性を持っています。

定常性と非定常性

時系列データを分析する際、データ全体の平均値やばらつき(分散)が時間によって変化しない状態を定常性と呼びます。

例えば、振り子の揺れのように、時間帯を問わず一定のリズムと振れ幅を保つ状態が定常性です。一方、成長期の生徒の身長のように、年月の経過とともに平均値そのものが右肩上がりに変化していく状態を非定常性と呼びます。

多くの統計的モデルは、データが定常性を持つことを前提として数式を組み立てています。そのため、非定常なデータに対しては、前後の差分を計算して水準の移動を取り除くといった前処理が必要になります。

統計的アプローチの代表:ARIMAモデル

ARIMA(自己回帰和分移動平均)モデルは、統計学を基盤とした古典的かつ強力な時系列予測モデルです。

3つの要素の役割

ARIMAは、AR(自己回帰)、I(和分・階差)、MA(移動平均)という3つの仕組みを組み合わせた構造を持っています。

  • AR(自己回帰):過去の自分自身の値から現在を予測する仕組みです。昨日の気温が高ければ今日も高いというような、過去の数値の引きずられ度合いを数式化します。
  • I(階差):先ほど触れた非定常なデータを定常なデータへ変換する仕組みです。昨日の値との差(引き算)をとることで、全体的な右肩上がりや右肩下がりの傾向を相殺します。
  • MA(移動平均):過去の予測のズレ(誤差)を現在に反映する仕組みです。昨日予想外に気温が上がったという誤差の影響が、今日も少しだけ残るという現象を表現します。

ARIMAモデルの数式表現

階差をとった後の系列を y' とし、過去 p 期間の値と過去 q 期間の誤差項 e を用いて表現する場合、次の構造をとります。

y'_{t} = c + \sum_{i=1}^{p} \phi_{i} y'_{t-i} + \sum_{j=1}^{q} \theta_{j} e_{t-j} + e_{t}

定数項 c、各ラグの重み係数 phi、誤差項の重み係数 theta をデータから推定します。

ARIMAの長所と短所

ARIMAモデルを採用する際の具体的な特徴は以下の通りです。

  • 長所:数理的背景が明確であり、パラメータが決定した後の予測プロセスが透明である点です。データ全体の傾向や誤差の構造を数式で直接説明できます。
  • 短所:データの事前検証(定常性の検定など)とパラメータ探索に数学的な手順を多く要する点です。また、祝日や曜日といった複雑な周期性、あるいは突発的な欠損値への耐性が低く、前処理の負担が大きくなります。

ビジネス予測向けのアプローチ:Prophet

Prophetは、Meta(旧Facebook)が開発・公開した、実務的な予測課題に特化したオープンソースの時系列予測ライブラリです。

加法モデルによる要因分解

Prophetは、時系列データを複数の要素を足し合わせたものとして捉えます。

身近な例として、あるテーマパークの来場者数をイメージしてください。

  • 10年スパンで施設規模が拡大して増える全体的な流れ(トレンド)
  • 夏休みや週末に人が集中する定期的なリズム(周期性)
  • ゴールデンウィークや年末年始といった特定のイベント日(祝日効果)

Prophetはこれらを別個の関数として計算し、合計することで将来の来場者数を算出します。

Prophetの数式構造

予測値 y(t) は、トレンド成分 g(t)、季節・周期成分 s(t)、祝日・イベント成分 h(t)、そして偶発的な誤差成分 e(t) の和として定式化されます。

y(t) = g(t) + s(t) + h(t) + e(t)

Prophetの長所と短所

Prophetを採用する際の具体的な特徴は以下の通りです。

  • 長所:欠損値や外れ値が含まれていてもモデルが破綻しにくく、祝日リストの組み込みや週単位・年単位の周期性の指定を簡潔なコードで実装できる点です。自動調整機能が充実しており、迅速なプロトタイプ構築に向いています。
  • 短所:内部でベイジアン推定などを活用した複雑なフィッティングを行っているため、ARIMAのような古典的モデルに比べて各パラメータの厳密な統計的検定が難しい点です。また、過去の直近の動きに急激に左右されるような微細な変動の追従には向かない場合があります。

両モデルの比較と選択基準

エンジニアが実務でどちらを選択すべきかは、対象データの性質と開発の目的に依存します。

  • データの周期性が複雑(年、週、祝日など)で、実務の現場で手早く一定の予測精度を得たい場合はProphetが適しています。
  • データが短期間の等間隔測定値であり、物理法則や市場の自己相関を明確な統計パラメータとして解釈・説明したい場合はARIMAが適しています。

まとめ

時系列モデルの習得は、以下のステップで進めていくことが合理的です。

  • 1段階:移動平均や自己相関の概念を学び、生データが定常性を持っているかを確認する技術を身につけます。
  • 2段階:手元の実データに対してProphetを適用し、トレンドや周期性への要因分解がどのように行われるかを観察します。
  • 3段階:ARIMAモデルのパラメータ(p, d, q)の意味を数式から理解し、定常化のための階差処理とモデル評価指標(AICなど)を用いた比較検討を実践します。

それぞれのモデルの数理的特徴を把握した上で、用途に応じて適切にツールを選択してください。

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。