unit8co / darts

A python library for user-friendly forecasting and anomaly detection on time series.
https://unit8co.github.io/darts/
Apache License 2.0
7.56k stars 829 forks source link

Can we add past_covariates and future_covariates to support in darts/darts/models/forecasting /exponential_smoothing.py ? #2349

Closed akshobhya95 closed 2 months ago

akshobhya95 commented 2 months ago

Hi Darts Team , I was using the exponential_smoothing time series forecasting model to forecast my univariate target variable with the support of exogenous feature variables for my dataset . But I see from the python script in exponential_smoothing.py doesn't support historical_forecasts with past/ future_covariates in the library. I see few other models do support exogenous variables being supported would appreciate if you could add the same code logic to this model as well as it would be helpful for testing my case with exogenous variables

Also I was using other darts forecasting model asin Prophet(using only future_covariates) and SARIMA(using only future_covariates) I am interchangeably treating future_covariates as past_covariates in my case , But if the library code does give a physical meaning to what we use would appreciate to add past_covariate information to Prophet and ARIMA forecasting models.

Code Snippet:-

darts/utils/historical_forecasts/utils.py

series=series, -- 571 | forecast_horizon=forecast_horizon, 572 | overlap_end=overlap_end, 573 | past_covariates=past_covariates, ----->Needs support in ARIMA.py ,Prophet.py and Exponential Smoothing.py 574 | future_covariates=future_covariates,----> Needs support in Exponential Smoothing.py

Would appreciate your response on this !

-Thanks and Regards , Akshobhya.

madtoinou commented 2 months ago

Hi @akshobhya95,

By "design/definition", exponential smoothing does not support covariates at all. I don't know how you managed to pass it covariates?

Making Prophet and ARIMA support past covariates would be equivalent to developing new models, which is not in our priorities.

If you have some covariates at your disposition, I would recommend using focusing on models that already support them or use the other models without the covariates.

akshobhya95 commented 2 months ago

Thanks for making it clear @madtoinou.