Nixtla / neuralforecast

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

[FEAT] Added TSMixer model #914

Closed elephaint closed 4 months ago

elephaint commented 4 months ago

This PR adds the TSMixer model into neuralforecast, and demonstrates its applicaiton in a Multivariate_with_TSMixer example notebook.

review-notebook-app[bot] commented 4 months ago

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

CLAassistant commented 4 months ago

CLA assistant check
All committers have signed the CLA.

candalfigomoro commented 4 months ago

@elephaint

Thanks

elephaint commented 4 months ago

@elephaint

  • If we have several thousands of time series (making multivariate forecasting unfeasible), is it possible to use it in an "univariate" way (e.g. would setting n_series=1 work)?

I wouldn't do it - we use the unique_id to distinguish individual time series and it would require overwriting this / setting it to the same value for all series in order to function with n_series=1. However, that will introduce a lot of other issues. So, personally I would not do it and then revert to another univariate method.

Thanks

No, we will soon be releasing a separate version that supports exogenous inputs ('TSMixerx'). Unfortunately the version supporting exogenous variables is quite different from the original TSMixer. We have a working version of TSMixerx on the AirPassengers Panel data with exogenous inputs, I'm still making sure it works with the rest of our library/examples. Hopefully ready for release next week.

candalfigomoro commented 4 months ago

@elephaint Thanks! So basically also TSMixerx will not be suitable for "univariate" + exog variables forecasting (like we do with NHITS, NBEATSx, etc.)?

elephaint commented 4 months ago

Correct