이 repo는 LTSF-linear의 공식 Pytorch 구현입니다. "Transformers는 시계열 예측에 효과적입니까?"
[2024/01/28] 우리의 모델은 신경 강화에 포함되었습니다. 기고자 @cchallu에게 특별한 감사를드립니다!
[2022/11/23] AAAI 2023에 세 번의 강한 수용으로 받아 들여졌다! 또한 추가 연구를위한 장기 시계열 예측을위한 벤치 마크를 발표합니다.
[2022/08/25] 기존 LTSF- 변환기가 LTSF 문제에 대해 잘 작동하지 않는 이유에 대한 포괄적 인 분석으로 논문을 업데이트합니다!
[2022/08/25] dlinear 외에, 우리는 종이 와이 repo에 2 개의 선형 모델을 추가하게되어 기쁩니다. 이제 우리는 LTSF-linear 가족이 있습니다!
[2022/08/25] 우리는 LTSF-linear의 일부 스크립트를 업데이트합니다.
LTSF-linear 외에도 논문의 결과를 다시 구현하기 위해 5 가지 중요한 예측 변압기를 제공합니다.
우리는 모든 실험 스크립트 파일을 ./scripts 로 제공합니다.
| 파일 | 해석 |
|---|---|
| 확장 강력한 | 장기 시계열 예측 작업 |
| exp-lookbackwindow | 다양한 룩백 윈도우 크기의 영향을 연구하십시오 |
| exp-embedding | 다른 임베딩 전략의 효과를 연구하십시오 |
이 코드는 단순히 자동 수단의 코드 기반을 기반으로 구축됩니다. 귀중한 코드 기반 또는 데이터 세트에 대해 다음 Github Repos에 감사드립니다.
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의 이중 비용이 있기 때문에 비교를 위해 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는 일반적으로 종이에 끔찍한 것처럼 더 긴 룩백 창으로 더 나은 결과를 얻습니다.
Look-Back Window 크기와 Fedformer 및 Pyraformer의 긴 예측에 대한 스크립트는 각각 FEDformer/scripts 및 Pyraformer/scripts 에 있습니다. 그것들을 실행하려면 먼저 cd FEDformer 또는 cd Pyraformer 필요합니다. 그런 다음 SH를 사용하여 비슷한 방식으로 실행할 수 있습니다. 로그는 logs/ 로 저장됩니다.
scripts/EXP-LongForecasting/Linear/ 의 각 실험은 5min-20 분을 가져갑니다. 다른 변압기 스크립트의 경우 모든 관련 실험을 하나의 스크립트 파일에 넣으므로 직접 실행하는 데 하루에 8 시간이 걸립니다. 관심있는 실험을 유지하고 다른 실험에 대해 언급 할 수 있습니다.
우리 논문에서 볼 수 있듯이 LTSF-linear의 무게는 데이터의 몇 가지 특성, 즉 주기성을 보여줄 수 있습니다. 예를 들어, 우리는 weight_plot.py 에서 dlinear의 체중 시각화를 제공합니다. 시각화를 실행하려면 dlinear (기본적으로 ./checkpoint 의 모델 디렉토리)의 모델 경로 (model_name)를 입력해야합니다. 부드럽고 명확한 패턴을 얻으려면 선형 모델 파일에서 제공 한 초기화를 사용할 수 있습니다.

이 저장소가 작업에 유용한 경우 다음과 같이 인용하는 것을 고려하십시오.
@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 }
}실험에서 사용하는 경우 모든 데이터 세트를 인용하고 방법을 비교하십시오.