Это репо является официальной внедрением Pytorch LTSF-Linear: «Трансформеры эффективны для прогнозирования временных рядов?».
[2024/01/28] Наша модель была включена в Neuralforecast. Особое спасибо участнику @cchallu!
[2022/11/23] принято в AAAI 2023 с тремя сильными принятием! Мы также выпускаем эталон для долгосрочного прогнозирования временных рядов для дальнейших исследований.
[2022/08/25] Мы обновляем нашу статью с помощью всестороннего анализа о том, почему существующие LTSF-трансформаторы плохо работают над проблемой LTSF!
[2022/08/25] Помимо Dlinear, мы рады добавить две линейные модели в бумагу и это репо. Теперь у нас есть семейство LTSF-линейна!
[2022/08/25] Мы обновляем некоторые сценарии LTSF-Linear.
Помимо LTSF-Linear, мы предоставляем пять значимых трансформаторов прогнозирования для повторного внедрения результатов в статье.
Мы предоставляем все файлы сценариев эксперимента в ./scripts :
| Файлы | Интерпретация |
|---|---|
| Exp-longforecasting | Задача прогнозирования долгосрочных временных рядов |
| Exp-lookbackwindow | Изучите влияние различных размеров окон |
| Экспресс | Изучите эффекты различных стратегий внедрения |
Этот код просто построен на кодовой базе автоформирования. Мы много ценим следующие репозиции Github за их ценную кодовую базу или наборы данных:
Реализация автоформировщика, информатора и трансформатора от https://github.com/thuml/autoformer
Реализация FedMmer от https://github.com/maziqing/fedformer
Реализация Pyraformer от https://github.com/alipay/pyraformer
LTSF-Linear-это набор линейных моделей.
Хотя LTSF-Linear прост, он имеет некоторые убедительные характеристики:
Одномерное прогнозирование:
Многомерное прогнозирование:
LTSF-Linear превосходит все методы, основанные на трансформаторах с большим отрывом.
Сравнение эффективности метода с размер окна в отставке 96 и шагов прогнозирования 720 по электричеству. Mac-это количество операций с умножением. Мы используем Dlinear для сравнения, так как он имеет двойную стоимость в LTSF-линейке. Время вывода в среднем 5 пробега.
Во -первых, убедитесь, что вы установили Conda. Затем наша среда может быть установлена:
conda create -n LTSF_Linear python=3.6.9
conda activate LTSF_Linear
pip install -r requirements.txt
Вы можете получить все девять тестов от Google Drive, предоставленных в автоформировании. Все наборы данных хорошо предварительно обработаны и могут быть легко использованы.
mkdir dataset
Пожалуйста, поместите их в каталог ./dataset
scripts/ , мы предоставляем модель реализации Dlinear/AutoFormer/Informer/TransformerFEDformer/scripts/ , мы предоставляем реализацию FedmormerPyraformer/scripts/ , мы предоставляем реализацию PyraformerНапример:
Чтобы обучить LTSF-линейн на наборе данных обменной скорости , вы можете использовать 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-линейная, как правило, достигает лучших результатов с более длинным окном с обратном, как ужесточен в бумаге.
Сценарии о размере окна и долгих прогнозирования федеральных и пираформеров находятся в FEDformer/scripts и Pyraformer/scripts соответственно. Чтобы запустить их, вам нужно сначала cd FEDformer или cd Pyraformer . Затем вы можете использовать SH, чтобы запустить их аналогичным образом. Журналы будут храниться в logs/ .
Каждый эксперимент в scripts/EXP-LongForecasting/Linear/ занимает 5 мин-20 мин. Для других сценариев трансформатора, поскольку мы поместили все связанные эксперименты в один файл сценария, непосредственно их запуск займет 8 часов в день. Вы можете сохранить интересные вас эксперименты и прокомментировать другие.
Как показано в нашей статье, веса LTSF-Linear может выявить некоторые характеристики данных, то есть периодичности. В качестве примера мы предоставляем визуализацию веса dlinear in weight_plot.py . Чтобы запустить визуализацию, вам необходимо ввести путь модели (model_name) dlinear (каталог модели в ./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 }
}Пожалуйста, не забудьте процитировать все наборы данных и сравнить методы, если вы используете их в своих экспериментах.