このレポは、LTSF-Linearの公式のPytorch実装です。「変圧器は時系列予測に有効ですか?」。
[2024/01/28]私たちのモデルはNeuralForeCastに含まれています。貢献者@cchalluに感謝します!
[2022/11/23] 3人の強い受け入れでAAAI 2023に受け入れられました!また、さらなる研究のために、長期の時系列予測のベンチマークをリリースします。
[2022/08/25]既存のLTSFトランスフォーマーがLTSF問題でうまく機能しない理由についての包括的な分析で論文を更新します!
[2022/08/25] dlinearに加えて、2つの線形モデルを紙とこのレポで追加することに興奮しています。今、私たちはLTSF-Linearファミリーを持っています!
[2022/08/25] LTSF-Linearのスクリプトを更新します。
LTSF-Linearに加えて、5つの重要な予測変圧器を提供して、紙の結果を再実装します。
すべての実験スクリプトファイルを./scriptsで提供します。
| ファイル | 解釈 |
|---|---|
| explongforecasting | 長期の時系列予測タスク |
| exp-lookbackwindow | さまざまなルックバックウィンドウサイズの影響を調べます |
| Exp-Embedding | さまざまな埋め込み戦略の効果を研究します |
このコードは、Autoformerのコードベースに単純に構築されています。貴重なコードベースまたはデータセットには、次のGitHubリポジトリがたくさん感謝しています。
Autoformer、Informer、およびTransformerの実装はhttps://github.com/thuml/autoformerからのものです
FedFormerの実装は、https://github.com/maziqing/fedformerからです
Pyraformerの実装は、https://github.com/alipay/pyraformerからのものです
LTSF-Linearは、線形モデルのセットです。
LTSF-Linearは簡単ですが、いくつかの説得力のある特性があります。
単変量予測:
多変量予測:
LTSF-Linearは、すべての変圧器ベースの方法を大きなマージンでアウトパフォームします。
メソッド効率とルックバックウィンドウサイズ96と電気の予測ステップ720の比較。 Macは、多重蓄積操作の数です。 LTSF-Linearの2倍のコストがあるため、Dlinearを比較に使用します。推論時間平均5回の実行。
まず、Condaをインストールしていることを確認してください。次に、環境を以下でインストールできます。
conda create -n LTSF_Linear python=3.6.9
conda activate LTSF_Linear
pip install -r requirements.txt
AutoFormerで提供されるGoogleドライブから9つのベンチマークをすべて取得できます。すべてのデータセットは十分に処理されており、簡単に使用できます。
mkdir dataset
./datasetディレクトリに入れてください
scripts/では、モデルの実装Dlinear/Autoformer/Informer/Transformerを提供しますFEDformer/scripts/では、 FedFormerの実装を提供しますPyraformer/scripts/では、 pyraformerの実装を提供します例えば:
Exchange-rateデータセットでLTSF-Linearをトレーニングするには、スクリプトscripts/EXP-LongForecasting/Linear/exchange_rate.shを使用できます。
sh scripts/EXP-LongForecasting/Linear/exchange_rate.sh
デフォルトでDLinearのトレーニングを開始し、結果はlogs/LongForecastingに表示されます。スクリプト内のモデルの名前を指定できます。 (線形、dlinear、nlinear)
長い予測タスクでLTSF-Linearを使用することに関するすべてのスクリプトはscripts/EXP-LongForecasting/Linear/にあり、同様の方法で実行できます。スクリプトのデフォルトのルックバックウィンドウは336です。LTSF-Linearは、一般に、論文でディクスされているように、より長いルックバックウィンドウを使用してより良い結果を達成します。
FedFormerとPyraformerの見た目のウィンドウサイズと長い予測に関するスクリプトは、それぞれFEDformer/scriptsとPyraformer/scriptsにあります。それらを実行するには、最初のcd FEDformerまたはcd Pyraformerが必要です。次に、SHを使用して同様の方法で実行できます。ログはlogs/に保存されます。
scripts/EXP-LongForecasting/Linear/の各実験/5分-20分かかります。他のトランススクリプトの場合、関連するすべての実験を1つのスクリプトファイルに配置するため、それらを直接実行するには1日8時間かかります。興味のある実験を維持し、他の人にコメントすることができます。
私たちの論文に示されているように、LTSF線形の重みは、データのいくつかの特性、すなわち周期性を明らかにすることができます。例として、 weight_plot.pyのdlinearの重量視覚化を提供します。視覚化を実行するには、dlinearのモデルパス(model_name)を入力する必要があります(デフォルトでは./checkpointのモデルディレクトリ)。スムーズでクリアパターンを取得するには、線形モデルのファイルで提供された初期化を使用できます。

このリポジトリが作業に役立つと思われる場合は、次のように引用することを検討してください。
@inproceedings { Zeng2022AreTE ,
title = { Are Transformers Effective for Time Series Forecasting? } ,
author = { Ailing Zeng and Muxi Chen and Lei Zhang and Qiang Xu } ,
journal = { Proceedings of the AAAI Conference on Artificial Intelligence } ,
year = { 2023 }
}すべてのデータセットを引用し、実験で使用した場合はメソッドを比較することを忘れないでください。