Dieses Repo ist die offizielle Pytorch-Implementierung von LTSF-linear: "Sind Transformatoren für die Zeitreihenprognose wirksam?".
[2024/01/28] Unser Modell wurde in NeuralForecast aufgenommen. Besonderer Dank geht an den Mitarbeiter @cchallu!
[2022/11/23] mit drei starken Akzeptieren an AAAI 2023 akzeptiert! Wir veröffentlichen auch einen Benchmark für die langfristige Zeitreihenprognose für weitere Forschung.
[2022/08/25] Wir aktualisieren unser Papier mit umfassenden Analysen darüber, warum vorhandene LTSF-Transformer nicht gut für das LTSF-Problem funktionieren!
[2022/08/25] Neben Dlinear freuen wir uns, dem Papier und diesem Repo zwei lineare Modelle hinzuzufügen. Jetzt haben wir eine LTSF-lineare Familie!
[2022/08/25] Wir aktualisieren einige Skripte von LTSF-linear.
Neben LTSF-linear stellen wir fünf signifikante Prognosetransformatoren zur Verfügung, um die Ergebnisse in der Arbeit neu zu implementieren.
Wir stellen alle Experiment -Skriptdateien in ./scripts an:
| Dateien | Interpretation |
|---|---|
| Explogforecasting | Langzeit-Zeitreihenprognoseaufgabe |
| Exp-LookbackWindow | Untersuchen Sie die Auswirkungen verschiedener Look-Back-Fenstergrößen |
| Exp-Embedding | Untersuchen Sie die Auswirkungen verschiedener Einbettungsstrategien |
Dieser Code ist einfach auf der Codebasis von AutoFormer aufgebaut. Wir schätzen die folgenden Github -Repos sehr für ihre wertvolle Codebasis oder ihre Datensätze:
Die Implementierung von AutoFormer, Informant und Transformator stammt von https://github.com/thuml/autoformer
Die Implementierung von Fedformer stammt von https://github.com/maziqing/fedformer
Die Implementierung von Pyraformer stammt von https://github.com/alipay/pyraformer
LTSF-Line ist ein Satz linearer Modelle.
Obwohl LTSF-linear einfach ist, hat es einige überzeugende Eigenschaften:
Univariate Prognose:
Multivariate Prognose:
LTSF-Line übertrifft alle Transformator-basierten Methoden mit großem Rand.
Vergleich der Methodeneffizienz mit Look-Back-Fenstergröße 96 und Prognoseschritte 720 mit Strom. MACs sind die Anzahl der multiplizierten Operationen. Wir verwenden Dlinear zum Vergleich, da es die doppelten Kosten in LTSF-Line hat. Die Inferenzzeit durchschnittlich 5 Läufe.
Bitte stellen Sie zunächst sicher, dass Sie Conda installiert haben. Dann kann unsere Umgebung von: installiert werden von:
conda create -n LTSF_Linear python=3.6.9
conda activate LTSF_Linear
pip install -r requirements.txt
Sie können alle neun Benchmarks von Google Drive in AutoFormer erhalten. Alle Datensätze sind gut vorverarbeitet und können leicht verwendet werden.
mkdir dataset
Bitte setzen Sie sie in das Verzeichnis ./dataset
scripts/ bieten wir die Modellimplementierung dlinear/AutoFormer/Informant/TransformatorFEDformer/scripts/ bieten wir die Fedformer -Implementierung anPyraformer/scripts/ bieten wir die Pyraformer -Implementierung anZum Beispiel:
Um den LTSF-linear im Exchange-Rate-Datensatz zu trainieren, können Sie die scripts/EXP-LongForecasting/Linear/exchange_rate.sh verwenden:
sh scripts/EXP-LongForecasting/Linear/exchange_rate.sh
Es wird standardmäßig Dlinear trainieren. Die Ergebnisse werden in logs/LongForecasting angezeigt. Sie können den Namen des Modells im Skript angeben. (Linear, dlinear, nlinear)
Alle Skripte über die Verwendung von LTSF-linear bei Long Prognosen-Aufgabe sind in scripts/EXP-LongForecasting/Linear/ Sie können sie auf ähnliche Weise ausführen. Das Standard-Look-Back-Fenster in Skripten beträgt 336, LTSF-linear erzielt im Allgemeinen bessere Ergebnisse mit längerem Look-Back-Fenster, wie im Papier dikussiert.
Skripte über die Größe des Look-Back-Fensters und die lange Vorhersage von Fedformer und Pyraformer sind in FEDformer/scripts bzw. Pyraformer/scripts . Um sie auszuführen, müssen Sie den ersten cd FEDformer oder cd Pyraformer . Dann können Sie SH verwenden, um sie auf ähnliche Weise auszuführen. Protokolle werden in logs/ gespeichert.
Jedes Experiment in scripts/EXP-LongForecasting/Linear/ dauert 5 min-20 min. Für andere Transformator -Skripte dauert es 8 Stunden pro Tag, da wir alle verwandten Experimente in eine Skriptdatei einfügen. Sie können die Experimente, an denen Sie interessiert sind, behalten und die anderen kommentieren.
Wie in unserem Artikel gezeigt, können die Gewichte von LTSF-linear einige Merkmale der Daten ergeben, dh die Periodizität. Als Beispiel liefern wir die Gewichtsvisualisierung von Dlinear in weight_plot.py . Um die Visualisierung auszuführen, müssen Sie den Modellpfad (model_name) von Dlinear (das Modellverzeichnis in ./checkpoint standardmäßig) eingeben. Um reibungslose und klare Muster zu erhalten, können Sie die Initialisierung verwenden, die wir in der Datei linearer Modelle bereitgestellt haben.

Wenn Sie dieses Repository für Ihre Arbeit nützlich finden, sollten Sie sich wie folgt wie folgt angeben:
@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 }
}Bitte denken Sie daran, alle Datensätze und Methoden zu zitieren, wenn Sie sie in Ihren Experimenten verwenden.