Facebook AI Introduces ‘NeuralProphet’: A Hybrid Forecasting Framework Based on PyTorch And Trained With Standard Deep Learning Methods

Source: https://ai.facebook.com/blog/neuralprophet-the-neural-evolution-of-facebooks-prophet/

Meta/Facebook AI introduces ‘Neural Prophet‘, a simple forecasting package that provides a solution to some of the most prevalent needs of customers, seeking to maximize the scalability and flexibility of time series forecasts based on Meta’s own internal data scientists and requests from external industry practitioners. Whether it’s estimating infection rates for disease management programs or projecting product demand to store inventory properly, the expanding data size necessitates new methodologies.

Machine learning methods that are nonparametric do not make any assumptions regarding the type of mapping function. They must be both accurate and simple to understand. By not forming hypotheses, they can choose any functional form from the training data. Thanks to this nature of deep learning models, they are scalable to match complex datasets. However, their black-box nature proves to be a disadvantage when projections are used to guide commercial or operational choices.

Statistical models like the autoregressive integrated moving average (ARIMA) and the exponential smoothing state space (ETS) are parametric models that rely on underlying data. However, they lack the scalability needed to process vast amounts of data and complicated patterns. 

There is a significant gap between classic interpretable and recent deep learning models. Meta AI’s research addresses this issue by proposing that hybrid models bridge the gap between the two. Furthermore, they have come up with an upgraded solution: NeuralProphet. This package is a scalable and user-friendly framework for hybrid forecasting models that build on the success of Facebook Prophet, our open source forecasting library published in 2017.

NeuralProphet improves on Prophet by addressing its significant flaws, including the framework’s extensibility, the lack of local context for predictions, and forecast accuracy. Since it is constructed entirely in PyTorch and taught using standard deep learning methods, NeuralProphet is highly scalable, easy to use, and extendable.

In addition to this, local context is introduced in NeuralProphet, along with auto-regression and lagged covariates support. NeuralProphet enhances forecast accuracy with a hybrid model by configuring some model components as neural networks.

How does it work?

NeuralProphet, like Prophet, combines conventional components and neural networks to quickly make very accurate time-series forecasts. With the framework’s automatic hyperparameter selection, advanced practitioners can use a superset of custom modules. These custom modules include model weight, sparsification, and global modeling capabilities.

Any model component proficient in Stochastic Gradient Descent (SGD) can be added as a module. This capability makes it simple to add state-of-the-art forecasting methods to the framework.

NeuralProphet incorporates all of the original Prophet model’s components and auto-regression and lagged covariates support. Most time series forecasting demonstrates these dynamics, as proven by scenarios involving energy usage, traffic patterns, air quality measurements, and other topics.

Why NeuralProphet?

Users of Prophet have faced issues because of limitations in essential functionalities, such as the lack of local context. Prophet was built on top of Stan, a probabilistic programming language. As a result, expanding the original forecasting library wasn’t easy. The ability to develop Prophet is one of the most often requested features on GitHub.

NeuralProphet rebuilds Prophet from the ground up, fixing the issues by replacing Stan with PyTorch, a flexible and user-friendly framework. PyTorch makes it simple for developers to add new features and incorporate new research into the framework.

Upgrading Prophet to NeuralProphet provides insights to frontline engineers and business leaders that can improve a variety of industrial applications.

Paper: https://arxiv.org/abs/2111.15397?

Github: https://github.com/ourownstory/neural_prophet

Reference: https://ai.facebook.com/blog/neuralprophet-the-neural-evolution-of-facebooks-prophet/