repo นี้เป็นการดำเนินการ Pytorch อย่างเป็นทางการของ LTSF-Linear: "Transformers มีประสิทธิภาพสำหรับการพยากรณ์อนุกรมเวลาหรือไม่"
[2024/01/28] แบบจำลองของเรารวมอยู่ใน NeuralForecast ขอขอบคุณเป็นพิเศษสำหรับผู้สนับสนุน @cchallu!
[2022/11/23] ได้รับการยอมรับจาก AAAI 2023 ด้วยการยอมรับอย่างแรงสามครั้ง! นอกจากนี้เรายังเปิด ตัวเกณฑ์มาตรฐานสำหรับการพยากรณ์อนุกรมเวลาระยะยาว สำหรับการวิจัยเพิ่มเติม
[2022/08/25] เราอัปเดตบทความของเราด้วยการวิเคราะห์ที่ครอบคลุมว่าทำไม LTSF-transformers ที่มีอยู่จึงทำงานได้ไม่ดีกับปัญหา LTSF!
[2022/08/25] นอกจาก DLINEAR เรารู้สึกตื่นเต้นที่จะเพิ่มโมเดลเชิงเส้นสองแบบลงในกระดาษและ repo นี้ ตอนนี้เรามีครอบครัว LTSF-Linear!
[2022/08/25] เราอัปเดตสคริปต์ของ LTSF-Linear
นอกจาก LTSF-Linear แล้วเรายังมีหม้อแปลงการพยากรณ์ที่สำคัญห้าประการเพื่อดำเนินการอีกครั้งผลลัพธ์ในกระดาษ
เราให้ไฟล์สคริปต์การทดลองทั้งหมดใน ./scripts :
| ไฟล์ | การตีความ |
|---|---|
| ความยาว | งานพยากรณ์อนุกรมเวลาระยะยาว |
| exp-lookbackwindow | ศึกษาผลกระทบของขนาดหน้าต่างมองกลับที่แตกต่างกัน |
| Exp-Embedding | ศึกษาผลกระทบของกลยุทธ์การฝังที่แตกต่างกัน |
รหัสนี้สร้างขึ้นบนฐานรหัสของ Autoformer เราขอขอบคุณ 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 นั้นง่าย แต่ก็มีลักษณะที่น่าสนใจบางอย่าง:
การพยากรณ์ univariate:
การพยากรณ์หลายตัวแปร:
LTSF-Linear มีประสิทธิภาพสูงกว่าวิธีการที่ใช้หม้อแปลงทั้งหมดโดยระยะขอบขนาดใหญ่
การเปรียบเทียบประสิทธิภาพของวิธีการกับขนาดหน้าต่างมองกลับ 96 และขั้นตอนการพยากรณ์ 720 เกี่ยวกับไฟฟ้า MACs คือจำนวนการดำเนินการสะสมคูณ เราใช้ DLinear สำหรับการเปรียบเทียบเนื่องจากมีค่าใช้จ่ายสองเท่าใน LTSF-Linear เวลาอนุมานเฉลี่ย 5 วิ่ง
ก่อนอื่นโปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง conda จากนั้นสภาพแวดล้อมของเราสามารถติดตั้งได้โดย:
conda create -n LTSF_Linear python=3.6.9
conda activate LTSF_Linear
pip install -r requirements.txt
คุณสามารถรับมาตรฐานทั้งเก้าจาก Google Drive ที่ให้ไว้ใน Autoformer ชุดข้อมูลทั้งหมดมีการประมวลผลล่วงหน้าและสามารถใช้งานได้ง่าย
mkdir dataset
กรุณาใส่ไว้ในไดเรกทอรี ./dataset
scripts/ เราให้การใช้งานแบบจำลอง DLINEAR/Autoformer/Informer/TransformerFEDformer/scripts/ เราให้การใช้งาน FedFormerPyraformer/scripts/ เราให้บริการ Pyraformerตัวอย่างเช่น:
ในการฝึกอบรม 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 จะได้ผลลัพธ์ที่ดีกว่าด้วยหน้าต่างมองย้อนกลับที่ยาวขึ้นเช่นเดียวกับ dicussed ในกระดาษ
สคริปต์เกี่ยวกับขนาดหน้าต่างที่มองย้อนกลับและการพยากรณ์ระยะยาวของ fedformer และ pyraformer อยู่ใน FEDformer/scripts และ Pyraformer/scripts ตามลำดับ ในการเรียกใช้พวกเขาคุณต้องใช้ cd FEDformer หรือ cd Pyraformer ก่อน จากนั้นคุณสามารถใช้ SH เพื่อเรียกใช้ในลักษณะเดียวกัน บันทึกจะถูกเก็บไว้ใน logs/
การทดลองแต่ละครั้งใน scripts/EXP-LongForecasting/Linear/ ใช้เวลา 5 นาที-20 นาที สำหรับสคริปต์หม้อแปลงอื่น ๆ เนื่องจากเราทำการทดลองที่เกี่ยวข้องทั้งหมดในไฟล์สคริปต์เดียวการเรียกใช้โดยตรงจะใช้เวลา 8 ชั่วโมงต่อวัน คุณสามารถเก็บการทดลองที่คุณสนใจและแสดงความคิดเห็นกับผู้อื่น
ดังที่แสดงในกระดาษของเราน้ำหนักของ LTSF-Linear สามารถเปิดเผยลักษณะบางอย่างของข้อมูลเช่นระยะเวลา ตัวอย่างเช่นเราให้การแสดงน้ำหนักของ dLinear ใน weight_plot.py ในการเรียกใช้การสร้างภาพคุณจะต้องป้อนเส้นทางโมเดล (model_name) ของ dLinear (ไดเรกทอรีโมเดลใน ./checkpoint 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 }
}โปรดจำไว้ว่าให้อ้างอิงชุดข้อมูลทั้งหมดและวิธีการเปรียบเทียบหากคุณใช้ในการทดลองของคุณ