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
151 stars 19 forks source link

[FEATURE] Improve logging/warnings from third party libraries #59

Open MichalChromcak opened 3 years ago

MichalChromcak commented 3 years ago

Is your feature request related to a problem? Please describe. When running the model selection (whether interactively or via embedded code in other functions), logging is too overwhelming.

Describe the solution you'd like Either solution 1 or solution 2 to be implemented.

  1. Add an option, which would introduce filters for warnings

    • Show everything just once
    • Filter particular libraries
    • Filter based on log level and logger
  2. Document best practices with HCrystalBall to make reasonable cuts in the logging

Describe alternatives you've considered Leave it as is -> Too much of the repeated logging that is hiding valuable output (even though it can be filtered later on)

Additional context An option to keep all the third party output should be still available to enable easy debugging of issues.

MichalChromcak commented 3 years ago

Suppressing output from the prophet (sktime's implementation)

https://github.com/alan-turing-institute/sktime/blob/50d901dd11bf7c69bb9bb7e62815d0878d582d53/sktime/forecasting/base/adapters/_fbprophet.py#L196-L227

Skipping warnings from statsmodels https://stackoverflow.com/questions/34444607/how-to-ignore-statsmodels-maximum-likelihood-convergence-warning