I used Encoder-Decoder Wavenet architecture similar to @sjv's awesome solution for Web Traffic Time Series Forecasting.
I implemented it by Chainer
- Run
setup_dirs.sh
to make directories. - Download dataset and put them into
data/input/
. - Download weather data from huntermcgushion/rrv-weather-data.
Extract1-1-16_5-31-17_Weather.zip
to a directory1-1-16_5-31-17_Weather
.
Put the directory andweather_stations.csv
intodata/input/
.
Preprocess the weather data.
python prepare_weather.py
Run the training script.
python seq_run.py
It calls run.py
several times with some configurations and various seeds.
It saves results as one folder per one run in data/output/
.
After the end of training, gather the result folders into one folder.
Then run the ensemble script.
python ensemble.py --target_dir "path/to/dir/" --without_valid
Python 3.6.3 :: Anaconda custom (64-bit)
numpy==1.14.0
chainer==3.3.0
pandas==0.20.3
matplotlib==2.1.2
geopy==1.11.0
scikit-learn==0.19.1
- sjv's original implementation
https://github.com/sjvasquez/web-traffic-forecasting - WaveNet: A Generative Model for Raw Audio https://deepmind.com/blog/wavenet-generative-model-raw-audio/