Important technical question: Global versus Local models #705
-
Hi - in your documentation here - your have stated the following: _NeuralForecast contains user-friendly implementations of neural forecasting models that allow for easy transition of computing capabilities (GPU/CPU), computation parallelization, and hyperparameter tuning. All the NeuralForecast models are “global” because we train them with all the series from the input pd.DataFrame data Y_df, yet the optimization objective is, momentarily, “univariate” as it does not consider the interaction between the output predictions across time series. Like the StatsForecast library, core.NeuralForecast allows you to explore collections of models efficiently and contains functions for convenient wrangling of input and output pd.DataFrames predictions._ This is a bit unclear, so if you are prediction let's say for e-commerce and the unique_id is the clothing type - are you saying that the neural network is not considering the interactions for different unique_ids - so you couldn't do something like segment your data-set by t-shirts versus electronics for example and produce a different neural network weight so when you do inference the model has learned about those interactions given the unique_id? Or in the lower level code are you filtering out on a unique_id level then training and doing inference for each unique_id - I'm a bit confused here. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Hi @anonymous-engineering! Sorry for the late reply. By global model, we mean that the same model (only one set of weights) is used for all the time series (distinguished by the |
Beta Was this translation helpful? Give feedback.
-
Awesome yes I figured out a few weeks back looking at the underlying code. Thank you so much! |
Beta Was this translation helpful? Give feedback.
Hi @anonymous-engineering! Sorry for the late reply.
By global model, we mean that the same model (only one set of weights) is used for all the time series (distinguished by the
unique_id
column) in your dataset. The actual values of theunique_id
column are not used at all by the models to learn any specific characteristic for a group of ids (like the difference between t-shirts and electronics). If you want separate models for each group, you need to set separate pipelines and select the relevant set of time series in each dataset (not recommended in general for deep-learning models). The best solution to learning different dynamics for each group is to add static exogenous variables, f…