Skip to main content
The Neural Basis Expansion Analysis (NBEATS) is an MLP-based deep neural architecture with backward and forward residual links. The network has two variants: (1) in its interpretable configuration, NBEATS sequentially projects the signal into polynomials and harmonic basis to learn trend and seasonality components; (2) in its generic configuration, it substitutes the polynomial and harmonic basis for identity basis and larger network’s depth. The Neural Basis Expansion Analysis with Exogenous (NBEATSx), incorporates projections to exogenous temporal variables available at the time of the prediction. This method proved state-of-the-art performance on the M3, M4, and Tourism Competition datasets, improving accuracy by 3% over the ESRNN M4 competition winner. For Electricity Price Forecasting tasks NBEATSx model improved accuracy by 20% and 5% over ESRNN and NBEATS, and 5% on task-specialized architectures. References Figure 1. Neural Basis Expansion Analysis with Exogenous Variables. Figure 1. Neural Basis Expansion Analysis with Exogenous Variables.

NBEATSx

NBEATSx

Bases: BaseModel NBEATSx The Neural Basis Expansion Analysis with Exogenous variables (NBEATSx) is a simple and effective deep learning architecture. It is built with a deep stack of MLPs with doubly residual connections. The NBEATSx architecture includes additional exogenous blocks, extending NBEATS capabilities and interpretability. With its interpretable version, NBEATSx decomposes its predictions on seasonality, trend, and exogenous effects. Parameters:

NBEATSx.fit

Fit. The fit method, optimizes the neural network’s weights using the initialization parameters (learning_rate, windows_batch_size, …) and the loss function as defined during the initialization. Within fit we use a PyTorch Lightning Trainer that inherits the initialization’s self.trainer_kwargs, to customize its inputs, see PL’s trainer arguments. The method is designed to be compatible with SKLearn-like classes and in particular to be compatible with the StatsForecast library. By default the model is not saving training checkpoints to protect disk memory, to get them change enable_checkpointing=True in __init__. Parameters: Returns:

NBEATSx.predict

Predict. Neural network prediction with PL’s Trainer execution of predict_step. Parameters: Returns:

Usage Example