Informer を用いた多変量確率的時系列予測

Hugging Face は Informer モデルを Transformers ライブラリに統合し、効率的な多変量確率的時系列予測を可能にしました。Informer モデルは、長系列時系列予測(LSTF)を扱う際のバニラ Transformer のスケーラビリティ問題を、時間と空間の両方の複雑性を削減することで解決します。

長系列に対する Transformer のスケーラビリティの解決

バニラ Transformer は、長さ $T$ の系列に対して $N$ 層をスタックすると、計算量が二次的に $O(T^2 D)$、メモリ使用量が $O(N T^2)$ となり、スケーラビリティに課題があります。Informer はこれらのボトルネックを緩和するために、主に 2 つのメカニズムを導入しています。

ProbSparse アテンション

ProbSparse アテンションは、アテンション機構に大きく寄与する「アクティブ」クエリを特定し、些細なアテンションしか生成しない「レイジー」クエリを無視することで、時間・空間の複雑性を $O(T \log T)$ に削減します。

  • Mechanism: モデルは、実際のクエリ分布と一様分布との KL ダイバージェンスに基づく Query Sparsity Measurement $M(q_i, K)$ を使用します。
  • Implementation: 実際には、測定はクエリとランダムにサンプリングされたキーのサブセットとの最大ドット積と平均ドット積の差として計算されます。上位 $u$ のアクティブクエリ($u = c \cdot \log L_Q$)のみがアテンション重みの計算に使用されます。

蒸留操作

層をスタックする際のメモリボトルネックを削減するため、Informer はエンコーダ層間の入力サイズを半分に減らす蒸留操作を採用しています。これは、各エンコーダ層間に 1D 畳み込み層とその後の最大プーリングを適用することで実現され、総メモリ使用量を $O(N \cdot T \log T)$ に削減します。

多変量確率的予測

Informer は多変量確率的予測をサポートしており、単一の 1 次元分布ではなく、将来の時系列ターゲット値ベクトルの分布を予測します。

  • Modeling Approach: 多変量データに対してもコアの Transformer/Informer アーキテクチャは変更されず、出力(エミッション)側でのみ修正が行われます。
  • Distribution Handling: 高次元の結合条件分布の計算コストを管理するため、実装では独立(対角)エミッションを使用し、これは Transformers ライブラリで実装されている分布族によりサポートされています。

実装とトレーニングの実践

InformerForPrediction モデルを使用することで、ユーザーは Monash Time Series Forecasting リポジトリの traffic_hourly データセットなどの多変量データセットでトレーニングできます。主な実装の詳細は以下の通りです:

  • Feature Engineering: モデルは「ラグ」(過去参照機構)と時間的特徴(例:時刻、曜日)を利用して位置エンコーディングとコンテキストを提供します。
  • Data Pipeline: GluonTS との統合により、MultivariateGrouper を使用して個々の系列を 2 次元行列に変換し、InstanceSplitter でコンテキストウィンドウと予測ウィンドウをサンプリングできます。
  • Inference: 自己回帰生成は generate() メソッドで処理され、予測分布からサンプリングした値を用いて予測を生成します。

パフォーマンスとベンチマーク

Traffic Hourly データセットでテストしたところ、多変量 Informer の実装は平均絶対スケール誤差(MASE)1.191 と対称平均絶対パーセンテージ誤差(sMAPE)0.532 を達成しました。

Monash Time Series Repository の他のモデルと比較すると、著者らは多変量予測は系列間相関の推定が難しく、スプリアスな相関を学習するリスクがあるため、時に単変量予測より精度が低くなることがあると指摘しています。Traffic Hourly データセットにおいては、バニラ単変量 Transformer が最も良い結果を示し、MASE は 0.821 でした。

多変量モデルは大量のデータでトレーニングされた場合にうまく機能する傾向があります。

リソース

Sources