04
時系列
まとめ
このセクションは、時系列データを「いつ」の情報を持つデータとして読み解き、予測と異常検知までつなげるためのガイドです。折れ線やカレンダーヒートマップで季節性を見つけ、ACF/PACF でラグの相関を診断し、ADF 検定と差分で定常性を整える前処理から始めます。モデルは AR・MA・ARIMA の古典的手法、Holt-Winters・SARIMAX・UCM の状態空間モデル、VAR とグレンジャー因果性による多変量分析、Prophet による自動化まで、statsmodels と Prophet のコードを動かしながら学びます。最後の章では 120 通りのパイプラインを MASE で比べ、データの性質からモデルを選ぶ判断力を仕上げます。
直感 #
売上やセンサー値を日付順に並べただけでは、右上がりのトレンドと 7 日周期の季節性、突然の水準の変化が混ざって見えます。時系列分析はこれを分解する作業で、まず折れ線と ACF で「何周期の波があるか」「前日の値をどれだけ引きずるか」を測ります。そのうえで ARIMA や Holt-Winters に当てはめ、残差が白色雑音になるまでモデルを直し、最後に未来 30 日や 12 か月を予測区間つきで描きます。異常検知も同じ道具で、予測区間を外れた点やトレンドの傾きが変わった時点を変化点として拾います。
詳細な解説 #
このセクションで学べること #
- 基礎とセットアップ — 時系列の基本構造、成長率、学習・検証分割の設計
- 可視化と相関診断 — ACF/PACF・ラグプロット・パワースペクトルによる系列の特性把握
- 季節性とパターン — カレンダーヒートマップ・月次サブシリーズ・曜日比較による周期性の発見
- データ品質と異常検知 — 欠損値・外れ値・構造変化の早期検出
- 変換とローリング指標 — 差分・リサンプリング・移動統計量による前処理
- クラシカルモデル — AR・MA・ARMA・ARIMAで堅実なベースラインを構築
- 状態空間モデル — ETS・Holt-Winters・SARIMAX・STL・UCMでトレンドと季節性を分解
- 多変量と因果分析 — VAR・グレンジャー因果で系列間の影響を定量化
- 自動化ツール — Prophetによる再現性の高い予測ワークフロー
- モデル比較と選択 — 合成データでモデル × 前処理の精度を体系比較し、最適なパイプラインを選ぶ
これがわかるとできること #
- 時系列データのトレンド・季節性・定常性を正しく診断し、前処理の方針を決められる
- タスクに応じた予測モデルを選択し、Pythonで実装・評価できる
- 異常検知や変化点検出をパイプラインに組み込み、データ品質を継続的に監視できる
学習の進め方 #
まず基礎と可視化(5.1〜5.3)で、折れ線・ACF/PACF・カレンダーヒートマップから系列の周期と自己相関を読む練習をします。次にデータ品質と変換(5.4〜5.5)で、欠損補完・外れ値検出・差分・リサンプリングといった前処理を身に付けます。クラシカルモデルと状態空間モデル(5.6〜5.7)では ARIMA と Holt-Winters・SARIMAX を statsmodels で動かし、残差診断までを一通り回します。そのあと多変量分析と自動化ツール(5.8〜5.9)で VAR・グレンジャー因果・Prophet に進み、最後にモデル比較(5.10)で 120 通りのパイプラインを MASE ヒートマップで比べ、データの性質からモデルを選ぶ判断を仕上げます。