Nixtla / neuralforecast

Scalable and user friendly neural :brain: forecasting algorithms.
https://nixtlaverse.nixtla.io/neuralforecast
Apache License 2.0
2.98k stars 342 forks source link

Question about NBEATSx #356

Closed YibinXie closed 1 year ago

YibinXie commented 1 year ago

Hi dear contributer team,

I'm really excited to find this repo, which helps me learn DL-based time series methods a lot.

But I've got a few questions when I'm playing with Nbeatsx model.

  1. Can you elaborate on these three kinds of input features? A few examples would be really appreciated. Here is what I think: stat_exog_list: static features don't change with time, like category of an item hist_exog_list: only known from history not future, like sales of an item futr_exog_list: can be known from both history and future, like price of an item

  2. The Nbeatsx model only support modelling digital exogenous variables. For categorial features, we often use embeddings to represent them. Why we don't use some embedding layers to involve categorial features?

Please correct me if I were wrong. Looing forward to your reply.

Regards and thanks, Yibin

kdgutier commented 1 year ago

Hi @YibinXie,

  1. We differentiate between types of exogenous variables:

    • Static: These variables associated to each series don't change over time. Examples product ids, location.
    • Historic: Past exogenous variables, these variables are like classic lags its predictive power depends on Granger causality.
    • Future: Exogenous variables available at the time of the prediction (with some certainty). Example promotions, prices, predictions of other important variables, calendar effects, trends.
  2. We are considering including a static encoder module to learn the categorical embeddings that you mention: https://github.com/Nixtla/neuralforecast/issues/343. Some architectures have by default the Static encoders like TFT.