AutoGluon時系列分析 ビジュアルリファレンス
仕組み・モデル・実践ノウハウの全て
1. AutoGluonの哲学:なぜ強力なのか?
AutoGluonの真の強さは、単一の優れたモデルを使うことではなく、性質の異なる多様なモデル群を試し、その予測を自動で巧みに組み合わせる(アンサンブルする)能力にあります。
AutoGluonは、以下の3つの要素を自動化する「熟練データサイエンティスト」と考えることができます。
多様なモデル群
統計モデルから最新の深層学習まで、網羅的に試行します。
高度な自動処理
特徴量エンジニアリングや検証プロセスを自動で最適化します。
アンサンブル学習
モデル達をチームとして連携させ、単体を超える精度を叩き出します。
2. AutoGluonの内部処理フロー
`predictor.fit()` の中で何が起きているか?
TimeSeriesDataFrame
(時間・項目ID・目的変数・共変量を持つデータ)
(日付特徴量、ラグ、移動平均などを自動生成)
(時間軸をずらしながらモデルの真の実力を評価)
(優秀なモデルの予測を組み合わせて最終モデルを構築)
Predictor
オブジェクト(未来を予測する準備が整ったモデル)
詳細:ローリングウィンドウ検証の仕組み
AutoGluonは、提供された学習データをさらに分割し、時間軸をずらしながら「学習→予測→評価」を繰り返します。これにより、信頼性の高い性能評価を実現します。
検証ウィンドウ 1
検証ウィンドウ 2 (時間軸をスライド)
3. AutoGluonのモデル動物園(Model Zoo)
AutoGluonは、問題の性質に応じてこれらのモデルを自動で選択し、試行します。
📈 統計モデル
AutoETS
, AutoARIMA
, Theta
など。明確なトレンドや季節性を持つデータに堅牢です。
📊 テーブルモデル
RecursiveTabular
, DirectTabular
。LightGBM等を内部で使用し、大量の追加特徴量(共変量)を扱うのが得意です。
🧠 ディープラーニングモデル
DeepAR
, PatchTST
, TemporalFusionTransformer
など。複雑な非線形パターンを捉え、長期予測に優れます。
🌍 基盤モデル
Chronos
。様々なデータで事前学習された巨大モデル。Fine-tuningにより高い精度を発揮します。
4. 性能向上のための実践的ノウハウ
Tip 1: `presets` を使い分ける
まずはプリセットで全体像を掴むのが基本戦略です。
medium_quality
: 最初のベースライン確認用。高速。high_quality
: 精度と速度のバランスが良い。best_quality
: 時間をかけて最高精度を追求。コンペの基本。
Tip 2: GPUメモリ不足 (CUDA OOM) を回避する
ディープラーニングモデル学習時の最頻出エラーです。hyperparameters
引数でbatch_size
を明示的に小さくすることで回避します。
# GPUモデルのバッチサイズを小さく設定
hyperparameters = {
"DeepAR": {"batch_size": 32},
"TiDE": {"batch_size": 32},
# モデル名は基本名で指定
"Chronos": {"batch_size": 16},
}
predictor.fit(..., hyperparameters=hyperparameters)
Tip 3: `refit_full=True` でモデルを仕上げる
コンペ提出用の最終モデル作成時に推奨されるオプションです。検証に使ったデータも含めた全学習データで再学習するため、モデルの汎化性能が向上します。
Tip 4: `known_covariates` を最大限活用する
予測したい未来の期間で値が確定している特徴量(例: 天気予報、祝日、セール期間)は、known_covariates
として与えることで予測精度を劇的に向上させることができます。これはAutoGluonの性能を引き出す上で最も重要な要素の一つです。
コメント