This readme describes the instructions for the Huawei Cloud Time Series Forecasting Challenge for the University of Edinburgh EPSRC CDT in Machine Learning Systems.
To set up the environment, run:
conda env create -f environment.yml
To activate the environment, use:
conda activate forecasting
Download the dataset from this link, extract it, and place data.csv
in the data
folder.
This is a cleaned version of the data used in our 2025 data release. Should you find it helpful to train on more data, you can download from our 2023 and 2025 data releases.
See the quick start notebook for an introduction to the data format and how to load and plot the data.
We have written an example script of how to quickly do time series forecasting using the Darts framework. Darts is easy to use and has GPU support. It contains many state-of-the-art and baseline models.
Run the code using the command below to quickly train an FFT model for each time series.
python src/darts_experiments.py --model_type fft
We have included a few example models in the script that run quickly on CPU, but it is easy to extend to use more models and utilize a GPU.
You are by no means required to use any of the example code! It is just there to get you started.
For a PyTorch implementation, see the linear forecasting repository.
Your results will be evaluated by SIR Lab on a held-out test dataset of 7 days. Due to the multivariate nature of our dataset, the overall forecasting performance will be evaluated using the average rank of each group by MAE. The Darts example script splits the training dataset of 31 days into 24 days of training and 7 days of testing just to illustrate the format you should output your results in.
For more details on how this will be computed, see the results notebook.
Note that we have uploaded some example results CSV files in results/
to demonstrate how metrics are computed. These results were computed using FFT models of different configurations (different trendline and keeping different numbers of frequencies).
Your submissions for evaluation in this challenge should be presented as described below. For more details, refer to the example predictions Pandas DataFrame shown in the results notebook.
You should submit 3 files for 3 different forecast horizons (1 day, 3 days, 7 days) and package them all in a predictions_[yourgroupnamehere].zip
file. You do not have to use the same model to produce the forecasts for each file.
df_predictions_1d.csv
- 1 day (time from 2678400 to 2764740, inclusive) with df.shape (1440, 241)df_predictions_3d.csv
- 3 days (time from 2678400 to 2937540, inclusive) with df.shape (4320, 241)df_predictions_7d.csv
- 7 days (time from 2678400 to 3283140, inclusive) with df.shape (10080, 241)
It is vital that you submit the files in the correct format.