雑記: Transformer は時系列予測に有効かどうかというほど時系列予測とは何かがわからない話

2023-06-19 途中だったまとめの最後の項目を追記し、記事に表題を付けました。
お気付きの点がありましたらご指摘いただけますと幸いです。
  1. [2205.13504] Are Transformers Effective for Time Series Forecasting?(2023年6月17日参照).
    • AAAI 2023 で発表された研究のプレプリント版である。Autoformer や FEDformer のような時系列長期予測向け Transformer モデルよりも、もっと単純なモデル(DLinear)の方が時系列長期予測性能がよいことを示している。
  2. Yes, Transformers are Effective for Time Series Forecasting (+ Autoformer)(2023年6月17日参照).
    • タイトルの通り [1] への反論のような位置付けの Hugging Face のブログ記事である。[1] と異なるタスク設定で検証した結果やはり Autoformer の方がよかったどころかそれより vanilla Transformer がよかったことを示している。結びに大規模時系列データセットの必要性を訴えている。Hugging Face のライブラリで Autoformer を提供していることもあってか Autoformer の説明が詳しい。なお [2] 中に使用方法があるように DLinear も Hugging Face から提供されている は GluonTS から提供されている。
  3. Autoformer: Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting | OpenReview(2023年6月17日参照).
    • NeurIPS 2021 で発表された Transformer を時系列長期予測用に改修した研究である。
  4. FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting(2023年6月17日参照).
    • ICML 2022 で発表された Transformer を時系列長期予測用に改修した研究である。
  5. Crossformer: Transformer Utilizing Cross-Dimension Dependency for Multivariate Time Series Forecasting | OpenReview(2023年6月17日参照).
    • ICLR 2023 で発表された Transformer を多変量時系列長期予測用に改修した研究である。このブログ記事の中で触られなかったがこれも Transformer ベース時系列モデルなので [1] の矛先のはずである。もっとも、これも Transformer を用いることは前提に予測精度を高めたという論調にはみえる。なお、この研究はタイトル通り時刻間だけでなく成分間の依存関係にもアテンションを適用しており、[2] で多変量時系列の場合の予測の困難さに立ち向かう研究として言及されていた。

まとめ

  • 時系列長期予測向け Transformer として最先端の性能を誇る Autoformer や FEDformer ― どちらも「時系列成分分解 + Transformer」モデルよりも、単なる「時系列成分分解 + 全結合層1層」モデル(DLinearの方がベンチマーク時系列データで長期予測性能がよかった [1]。
  • しかし、[1] と異なるタスク設定(データも予測ホライズンも誤差の定義も異なる)ではやはり DLinear より Autoformer の方がよかった。それどころか vanilla Transformer の方がさらによかった [2]。
    • ただ、[2] では 862 地点の道路の混雑度のセンサーの値の系列を同一視して単変量予測しているので、その意味で現実の時系列を予測していないことになる。
    • また、DLinear 側は道路の混雑度を予測するのに曜日時刻を扱えないなど直感的に結構不利である。
  • [2] は時系列では自然言語や画像分野に比べて大規模データセットが不足していると訴えている。
    • 不足しているために [1] のような([2] 視点で)ミスリーディングになりかねない研究発表がなされるのだと暗にいいたいのではないかと感じられる。
  • なので私見をまとめると、
    • ベンチマークタスクが確立されていることは研究どうしの比較を容易にし研究の進展を加速させるが、研究の流れをそのタスクにオーバーフィットさせている恐れもある(長期時系列予測における Transformer ベースモデルの追及 [3] [4] [5] もそれへの批判 [1] も、限られたデータセットでのタスクのやや機械的すぎる指標の上に成り立っている)。
    • また、「Transformer でなくてもよい」[1] というのも、「いや Transformer がよい」[2] というのも、どちらも結局理論面からの定量的な裏打ちはない。
    • 盤石なベンチマークタスクを定めづらいのも、理論面からの裏打ちをしづらいのも、時系列データというものが「等時間間隔に観測された何か」以上に具体的でない(ついでにそれを用いたタスクも具体的でない)ことに起因しているのではないかと思われる。
      • さらに等時間間隔でなかったらという議論も混ざってきそうだが一旦置いておいて。

ときに副部長、先日以下のようなタイトルの研究をみつけたんです。

[1] [2205.13504] Are Transformers Effective for Time Series Forecasting?

上記は arXiv のリンクですが、調べると同名の研究が AAAI 2023 で発表されていました。AAAI 2023 の会議録はまだ公開されていないようなので arXiv を参照していますが。

それで、上記のタイトルの問いかけが気になっていたんですが、なんと先ほどこれに Yes と回答する記事をみつけたんです。Hugging Face のブログで、公開日がちょうど昨日でした。

[2] Yes, Transformers are Effective for Time Series Forecasting (+ Autoformer)

疑問を投げたら誰かが回答してくれるなんて心温まるインターネットですね。

いや、[1] は反語表現だから [2] は心温まる回答どころか煽りに近い気もするけど……。

そうなんですか? どれどれ、[1] のアブストラストをみると……趣意は以下のようなものですね。

「近年 Transformer ベースのモデルで時系列長期予測精度を高める路線の研究が盛んであるが、Transformer は単語から単語へのアテンションを学びこそすれ、時間ステップ間の依存性は直接学ばないので時系列予測には不利なはずである。実際、シンプルな一層のモデル(DLinear)の性能が Transformer ベース時系列長期予測モデルの性能を凌駕した。」

ええっ!? ということは、Autoformer [3] さんや FEDformer [4] さんは私を騙していたんですか……? 詐欺罪と器物損壊罪で訴えます……。

何を損壊されたんだ……。というか、Autoformer も FEDformer も少なくともアブストラクトは「Transformer の時系列長期予測精度を高めるには?」といったもので、Transformer でないモデルへの優位性を主張するものじゃないし……実際、Autoformer は Transformer ベースのモデルを除いては LSTNet、LSTM、TCN としか比較していないし、FEDformer にいたっては Transformer ベースのモデルとしか比較していないしね。部長を騙したのではないよ。もちろん、Transformer 自体が時系列予測に向かないならなぜ Transformer の改良を盛んにするのかという [1] の突っ込みはもっともだけれど、[1] も理論面から Transformer は時系列予測に向かないといっているわけではないよね、経験的にいくつかのベンチマークデータでセルフアテンションしないモデルの優位性を示しているだけで。理論の裏付けがない以上、ことさら Transformer が時系列予測に有効ではないと言い切れないはずだよ。あと、[1] の Figure3 の (a) (c) あたりをみると、これはただの印象だけど DLinear は「どんなモデルであったって読み違えそうな状況下でたまたま控えめな予測をしたので平均誤差を膨らませずに済んだ」って雰囲気もしないでもないんだよね。こういう状況下では LSTM の忘却ゲートや GRU のリセットゲートが役に立ちそうな気もするけど。

それで、[1] の 4 節をみると、その DLinear は Autoformer と FEDformer の成分分解スキームはそのまま利用しているんだね。DLinear はトレンド成分と季節成分に分解した後に1層の線形レイヤーを適用して再度足し合わせるだけのものらしい。Autoformer は Transformer が時系列のパターンを学習しやすいように長期トレンドを除去したわけだけど、長期トレンドを除去したら Transformer じゃなくたって学習しやすかったということだったのかな? もし Autoformer が成分分解スキーム単品の有効性を検証していたら [1] の結果はそこでわかっていたかもしれないね。ただ Transformer ベースでないモデルに適用する想定ではなかったんだろうけどね。

な、なるほど……では、その [1] への返歌である [2] はどのように主張しているのでしょうか。

TL;DR の箇所には、「DLinear は、有利な場合もあるが、共変量(Ex. Traffic データにおける日付時刻)を取り込みづらい」とある。こちらも特定のタスクにおける実験結果からそういっているだけのはずだけど。記事の最下部のほうに、DLinear が Traffic データにおいて週末の交通量予測を外している(週末かどうかを取り込めないため)グラフがあるよ。ただこれもこれで DLinear に結構不利な比較に感じられるけど。

ん? [1] では Traffic データでも DLinear が勝ちという結果ではなかったのでしたっけ?? [2] の記事が検証し直したら異なる結果になったということですか??

いや、[2] では Traffic データ中の 862 系列をそれぞれ単変量時系列として1つの共通のモデルを訓練しているからタスクが異なっている。さらに、予測ホライズンと評価指標も違っている。[1] の評価指標は「96~720 期先までの MSE および MAE」だけど、[2] の評価指標は「24期先までの MASE」になっている。

MASE?

Mean Absolute Scaled Error の略で、[2] からリンクがあるけど以下に定義があるね。

MASE - a Hugging Face Space by evaluate-metric

分母は訓練データから計算するんだね。例えば日次データであって完全に7日周期のデータだったら分母がゼロになる。完全に周期的なデータに近いほど評価が厳しくなる。他方、前週の同じ曜日の値とずれやすいなら分母はそれだけ大きくなり MASE による評価は甘くなる。これ、MASE が 1 より大きくなるようなら「前週の同じ曜日の値をそのまま提示していた方がまだまし」ってことになるね。そういうことがわかる指標みたいだ。

他方、MSE では自明でない予測ができているのかわからないし、さらに予測ホライズンが長いとなおさら「週末のピーク時間帯を予測できているのか」とかを反映しないよね。Traffic は毎時データだから 96~720 期先って 4~30 日先で、任意の時点から 4~30 日先までの中に週末のピーク時間帯が占める割合って小さいはずで、週末のピーク時間帯の予測ができなくても誤差を抑えられるのかもしれない。平日の予測に特化した方がよいまであるかもしれないし。実用的にはありがたくない誤差の縮め方をしている可能性が DLinear だけでなく Autoformer や FEDformer にもあるかもしれない。というか [2] の記事の Conclusion にある表では vanilla Transformer が Autoformer に勝っているし。

ええ……やっぱり Autoformer さんは私を騙していたんじゃないですか……。

ただ [2] は指標以前にタスク自体を変えていることもあるからオリジナルのタスクで 24 期先予測を MASE で評価しても vanilla Transformer が勝るかはわからないけど。というか [2] の結びで大規模時系列データセットの必要性を訴えているところをみるに、「862 変量時系列を単変量時系列とみなして色々なパターンを含む大規模データにしたので [1] の研究とは結果が変わった」って暗にいいたいのかな……てっきり予測ホライズンと評価指標を変えたから結果が変わったのだと初見で思い込んでしまったけど。どちらの寄与が大きいのかな?

終わり