aybchan / uber-time-series

Bayesian time series prediction
64 stars 12 forks source link
deep-learning probabilistic-forecasting pytorch time-series

Bayesian time series prediction

Time series predictions with test set data

End to end implementation of paper Deep and Confident Prediction for Time Series at Uber in PyTorch. We use the Metro Interstate Traffic Volume multivariate time series dataset for training and eventually predicting traffic volume.

We make use of the implementation of variational dropout from keitakurita/Better_LSTM_PyTorch for the LSTM layers with dropout.

Workflow

Code is prototyped in the notebooks before transfer into cleaned up Python scripts for reuse.

Results

In notebooks/08_evaluation.ipynb Prediction results on the test set are compared to those made with facebook/prophet.

Results on the classical time series prediction evaluation metrics are presented below:

Metric Uber Prophet
Mean absolute error 280.47 680.98
Root mean squared error 490.92 955.85
Mean absolute percentage error 0.13 0.41
Symmetric mean absolute percentage error 0.029 0.024

Time series predicitons using the full inference algorithm including uncertainty bounds: Time series predictions with test set data

Requirements

numpy
pandas
torch
tqdm
matplotlib
ax-platform
fb-prophet