N-BEATS: Neural basis expansion analysis for interpretable time series forecasting
Boris N. Oreshkin, Dmitri Carpov, Nicolas Chapados, Yoshua Bengio
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/unit8co/dartspytorch★ 9,275
- github.com/jdb78/pytorch-forecastingpytorch★ 4,841
- github.com/Nixtla/neuralforecastpytorch★ 4,010
- github.com/philipperemy/n-beatspytorch★ 901
- github.com/etna-team/etnapytorch★ 193
- github.com/weifantt/deptspytorch★ 41
- github.com/DFrolova/ml-sk-projectpytorch★ 23
- github.com/Nixtla/nixtlatsnone★ 12
- github.com/Chasm4359/ProTSpytorch★ 10
- github.com/potosnakw/neuralforecastpytorch★ 3
Abstract
We focus on solving the univariate times series point forecasting problem using deep learning. We propose a deep neural architecture based on backward and forward residual links and a very deep stack of fully-connected layers. The architecture has a number of desirable properties, being interpretable, applicable without modification to a wide array of target domains, and fast to train. We test the proposed architecture on several well-known datasets, including M3, M4 and TOURISM competition datasets containing time series from diverse domains. We demonstrate state-of-the-art performance for two configurations of N-BEATS for all the datasets, improving forecast accuracy by 11% over a statistical benchmark and by 3% over last year's winner of the M4 competition, a domain-adjusted hand-crafted hybrid between neural network and statistical time series models. The first configuration of our model does not employ any time-series-specific components and its performance on heterogeneous datasets strongly suggests that, contrarily to received wisdom, deep learning primitives such as residual blocks are by themselves sufficient to solve a wide range of forecasting problems. Finally, we demonstrate how the proposed architecture can be augmented to provide outputs that are interpretable without considerable loss in accuracy.