heidelbergcement / hcrystalball

A library that unifies the API for most commonly used libraries and modeling techniques for time-series forecasting in the Python ecosystem.
https://hcrystalball.readthedocs.io/
MIT License
152 stars 19 forks source link

[FEATURE] Add wrapper for Theta model from statsmodels #33

Closed pavelkrizek closed 3 years ago

pavelkrizek commented 4 years ago

Is your feature request related to a problem? Please describe. I would like to see the Theta forecasting model of Assimakopoulos and Nikolopoulos (2000) in hcrystalball. This method also performed particularly well in forecasting competitions (M3) and it can be of interest for other practitioners

Describe the solution you'd like Have wrapper for Theta model from statsmodels https://www.statsmodels.org/dev/generated/statsmodels.tsa.forecasting.theta.ThetaModel.html#statsmodels.tsa.forecasting.theta.ThetaModel with a unified interface.

MichalChromcak commented 4 years ago

Good idea, let's add it.

As discussed (to also track it here), the statsmodels library does not guarantee (yet?) uniform interface for all the models, thus creating new ThetaWrapper, that inherits from BaseSmoothingWrapper in a similar way as ExponentialSmoothingWrapper does should be preferred over creating factory function get_statsmodels_wrapper similar to get_sklearn_wrapper.

MichalChromcak commented 4 years ago

ThetaModel will be available in release 0.12 - let's implement it once done along with the migration of other models https://github.com/statsmodels/statsmodels/milestone/14