Awesome
<div align="center">VisionTS
Visual Masked Autoencoders Are Free-Lunch Zero-Shot Time Series Forecasters
</div> <p align="center"> 🔍 <a href="#-about">About</a> | 🚀 <a href="#-quick-start">Quick Start</a> | 📊 <a href="#-evaluation">Evaluation</a> | 🔗 <a href="#-citation">Citation</a> </p>🔍 About
-
We propose VisionTS, a time series forecasting (TSF) foundation model building from rich, high-quality natural images 🖼️.
- This is conceptually different from the existing TSF foundation models (text-based 📝 or time series-based 📈), but it shows a comparable or even better performance without any adaptation on time series data.
- We reformulate the TSF task as an image reconstruction task, which is further processed by a visual masked autoencoder (MAE).
🚀 Quick Start
We have uploaded our package to PyPI. Please first install pytorch, then running the following command for installing VisionTS:
pip install visionts
Then, you can refer to demo.ipynb about forecasting time series using VisionTS, with a clear visualization of the image reconstruction.
📊 Evaluation
Our repository is built on Time-Series-Library, MAE, and GluonTS. Please install the dependencies through requirements.txt
before running the evaluation.
Long-Term TSF Benchmarks (Zero-Shot)
<div align="center"> <img src="figure/ltsf_performance.png" style="width: 70%;" /> </div>We evaluate our methods on 6 long-term TSF benchmarks for zero-shot forecasting. The scripts are under long_term_tsf/scripts/vision_ts_zeroshot
. Before running, you should first follow the instructions of Time-Series-Library to download datasets into long_term_tsf/dataset
. Using the following command for reproduction:
cd long_term_tsf/
bash scripts/vision_ts_zeroshot/$SOME_DATASET.sh
Monash (Zero-Shot)
<div align="center"> <img src="figure/monash_performance.png" style="width: 50%;" /> </div>We evaluate our methods on 29 Monash TSF benchmarks. You can use the following command for reproduction, where the benchmarks will be automatically downloaded.
cd eval_gluonts/
bash run_monash.sh
[!IMPORTANT] The results in the paper are evaluated based on
python==3.8.18
,torch==1.7.1
,torchvision==0.8.2
, andtimm==0.3.2
. Different versions may lead to slightly different performance.
PF (Zero-Shot)
We evaluate our methods on 6 long-term TSF benchmarks for zero-shot forecasting. Before running, you should first follow the instructions of Time-Series-Library to download datasets into long_term_tsf/dataset
, in addition to the following three datasets:
- Walmart: https://www.kaggle.com/competitions/walmart-recruiting-store-sales-forecasting/overview (download to
long_term_tsf/dataset/walmart-recruiting-store-sales-forecasting/train.csv
) - Istanbul Traffic: https://www.kaggle.com/datasets/leonardo00/istanbul-traffic-index (download to
long_term_tsf/dataset/istanbul-traffic-index/istanbul_traffic.csv
) - Turkey Power: https://www.kaggle.com/datasets/dharanikra/electrical-power-demand-in-turkey (download to
long_term_tsf/dataset/electrical-power-demand-in-turkey/power Generation and consumption.csv
)
You can use the following command for reproduction.
cd eval_gluonts/
bash run_pf.sh
Long-Term TSF Benchmarks (Full-Shot)
We evaluate our methods on 8 long-term TSF benchmarks for full-shot forecasting. The scripts are under long_term_tsf/scripts/vision_ts_fullshot
. Using the following command for reproduction:
cd long_term_tsf/
bash scripts/vision_ts_fullshot/$SOME_DATASET.sh
🔗 Citation
@misc{chen2024visionts,
title={VisionTS: Visual Masked Autoencoders Are Free-Lunch Zero-Shot Time Series Forecasters},
author={Mouxiang Chen and Lefei Shen and Zhuo Li and Xiaoyun Joy Wang and Jianling Sun and Chenghao Liu},
year={2024},
eprint={2408.17253},
archivePrefix={arXiv},
url={https://arxiv.org/abs/2408.17253},
}