Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Core] Categorical Features #916

Open
NudnikShpilkis opened this issue Mar 7, 2024 · 4 comments
Open

[Core] Categorical Features #916

NudnikShpilkis opened this issue Mar 7, 2024 · 4 comments
Labels

Comments

@NudnikShpilkis
Copy link

What happened + What you expected to happen

According to the Exogenous Variables Tutorial:

When including exogenous variables always use a scaler by setting the scaler_type hyperparameter. The scaler will scale all the temporal features: the target variable y, historic and future variables.

That means that all non-static variables are scaled and treated as real numbers. Neural-Forecast should give the option of specifying categorical features that should be embedded and non-categorical features that should be scaled. Using the example from the tutorial gen_forecast should be scaled, while week_day should be treated as a categorical.

Versions / Dependencies

1.6.4

Reproduction script

https://nixtlaverse.nixtla.io/neuralforecast/examples/exogenous_variables.html

Issue Severity

Medium: It is a significant difficulty but I can work around it.

@rd1886
Copy link

rd1886 commented Mar 18, 2024

Do we have a workaround for this in the meantime?

Thanks!

@candalfigomoro
Copy link
Contributor

candalfigomoro commented Mar 22, 2024

I think the handling of categorical exogenous variables is one of the few areas where neuralforecast is lacking. Other libraries such as Darts https://github.com/unit8co/darts allow you to specify for different models (e.g. TFT) what the static categorical variables etc. are so that they can be handled appropriately, however neuralforecast does not provide any ad hoc handling for categorical variables.

@candalfigomoro
Copy link
Contributor

@elephaint What do you think about introducing support for categorical variables (with categorical embedding) in neuralforecast for models that should support them, such as TFT and perhaps TiDE (others?). I ask because I see that you are unifying the API of the models in #1023

@elephaint
Copy link
Contributor

@candalfigomoro Makes sense, maybe a possibility for an EXOGENOUS_CAT attribute in each model. I'd like to unify the APIs of the different classes, then fix some of the losses and make a major doc improvement. I need to think/discuss priorities on that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants