Repo ini adalah implementasi Pytorch resmi LTSF-Linear: "Apakah Transformers Efektif untuk Perkiraan Seri Waktu?".
[2024/01/28] Model kami telah dimasukkan dalam NeuralForecast. Terima kasih khusus kepada kontributor @cchallu!
[2022/11/23] Diterima untuk AAAI 2023 dengan tiga Accept Strong! Kami juga merilis tolok ukur untuk peramalan seri waktu jangka panjang untuk penelitian lebih lanjut.
[2022/08/25] Kami memperbarui makalah kami dengan analisis komprehensif tentang mengapa transformer LTSF yang ada tidak bekerja dengan baik pada masalah LTSF!
[2022/08/25] Selain dlinear, kami senang menambahkan dua model linier ke kertas dan repo ini. Sekarang kami memiliki keluarga LTSF-linear!
[2022/08/25] Kami memperbarui beberapa skrip LTSF-linear.
Selain LTSF-linear, kami menyediakan lima transformator peramalan yang signifikan untuk mengimplementasikan kembali hasil dalam kertas.
Kami menyediakan semua file skrip percobaan di ./scripts :
| File | Interpretasi |
|---|---|
| Exp-LongForecasting | Tugas peramalan seri waktu jangka panjang |
| EXP-LOOKBACKWINDOW | Pelajari dampak dari berbagai ukuran jendela tampilan |
| Exp-embedding | Mempelajari efek dari berbagai strategi penyematan |
Kode ini hanya dibangun di atas basis kode autoformer. Kami sangat menghargai repo github berikut untuk basis kode atau dataset mereka yang berharga:
Implementasi autoformer, informan, dan transformator berasal dari https://github.com/thuml/autoformer
Implementasi Fedformer berasal dari https://github.com/maziqing/fedformer
Implementasi Pyraformer berasal dari https://github.com/alipay/pyraformer
LTSF-Linear adalah seperangkat model linier.
Meskipun LTSF-linear sederhana, ia memiliki beberapa karakteristik yang menarik:
Peramalan univariat:
Peramalan multivariat:
LTSF-linear lebih mengungguli semua metode berbasis transformator dengan margin besar.
Perbandingan Efisiensi Metode dengan Ukuran Jendela Look-Back 96 dan Langkah-langkah Peramalan 720 pada Listrik. Mac adalah jumlah operasi multiply-akumulasi. Kami menggunakan dlinear untuk perbandingan karena memiliki biaya ganda di LTSF-linear. Waktu inferensi rata -rata 5 berjalan.
Pertama, pastikan Anda telah menginstal Conda. Kemudian, lingkungan kita dapat dipasang oleh:
conda create -n LTSF_Linear python=3.6.9
conda activate LTSF_Linear
pip install -r requirements.txt
Anda dapat memperoleh semua sembilan tolok ukur dari Google Drive yang disediakan di Autoformer. Semua dataset sudah diproses dengan baik dan dapat digunakan dengan mudah.
mkdir dataset
Harap masukkan ke dalam direktori ./dataset
scripts/ , kami menyediakan model implementasi dlinier/autoformer/informer/transformatorFEDformer/scripts/ , kami memberikan implementasi FedformerPyraformer/scripts/ , kami menyediakan implementasi pyraformerMisalnya:
Untuk melatih LTSF-Linear pada dataset pertukaran-tarif , Anda dapat menggunakan scripts/EXP-LongForecasting/Linear/exchange_rate.sh :
sh scripts/EXP-LongForecasting/Linear/exchange_rate.sh
Ini akan mulai melatih dinier secara default, hasilnya akan ditampilkan dalam logs/LongForecasting . Anda dapat menentukan nama model dalam skrip. (Linier, dlinier, nlinear)
Semua skrip tentang menggunakan LTSF-Linear pada tugas peramalan panjang ada di scripts/EXP-LongForecasting/Linear/ , Anda dapat menjalankannya dengan cara yang sama. Jendela tampilan-belakang default dalam skrip adalah 336, LTSF-Linear umumnya mencapai hasil yang lebih baik dengan jendela tampilan-belakang yang lebih panjang seperti yang dicius di koran.
Skrip tentang ukuran jendela tampilan dan peramalan panjang Fedformer dan Pyraformer masing-masing dalam FEDformer/scripts dan Pyraformer/scripts . Untuk menjalankannya, Anda perlu cd FEDformer atau cd Pyraformer terlebih dahulu. Kemudian, Anda dapat menggunakan SH untuk menjalankannya dengan cara yang sama. Log akan disimpan dalam logs/ .
Setiap percobaan dalam scripts/EXP-LongForecasting/Linear/ membutuhkan 5 menit-20 menit. Untuk skrip transformator lainnya, karena kami menempatkan semua percobaan terkait dalam satu file skrip, langsung menjalankannya akan memakan waktu 8 jam per hari. Anda dapat menyimpan eksperimen yang Anda minati dan mengomentari yang lain.
Seperti yang ditunjukkan dalam makalah kami, bobot LTSF-linear dapat mengungkapkan beberapa karakteristik data, yaitu, periodisitas. Sebagai contoh, kami memberikan visualisasi bobot dlinear di weight_plot.py . Untuk menjalankan visualisasi, Anda perlu memasukkan jalur model (model_name) dari dlinier (direktori model di ./checkpoint secara default). Untuk mendapatkan pola yang halus dan jelas, Anda dapat menggunakan inisialisasi yang kami berikan dalam file model linier.

Jika Anda menemukan repositori ini berguna untuk pekerjaan Anda, silakan pertimbangkan mengutipnya sebagai berikut:
@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 }
}Harap ingat untuk mengutip semua set data dan membandingkan metode jika Anda menggunakannya dalam percobaan Anda.