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

[DOC] ExponentialSmoothing default method change from L-BFGS-B to SLSQP #6186

Merged
merged 2 commits into from Mar 22, 2024

Conversation

manuel-munoz-aguirre
Copy link
Contributor

Reference Issues/PRs

While exploring #6175, realized that the default parameter for method in Exponential Smoothing should be SLSQP. This also affects statsmodels documentation and there is already an open PR in their repo to fix this.

What does this implement/fix? Explain your changes.

Changes method='L-BFGS-B' to method='SLSQP'.

Does your contribution introduce a new dependency? If yes, which one?

No

What should a reviewer concentrate their feedback on?

See statsmodels default

Did you add any tests for the change?

N/A

Any other comments?

N/A

PR checklist

For all contributions
  • I've added myself to the list of contributors with any new badges I've earned :-)
    How to: add yourself to the all-contributors file in the sktime root directory (not the CONTRIBUTORS.md). Common badges: code - fixing a bug, or adding code logic. doc - writing or improving documentation or docstrings. bug - reporting or diagnosing a bug (get this plus code if you also fixed the bug in the PR).maintenance - CI, test framework, release.
    See here for full badge reference
  • Optionally, I've added myself and possibly others to the CODEOWNERS file - do this if you want to become the owner or maintainer of an estimator you added.
    See here for further details on the algorithm maintainer role.
  • The PR title starts with either [ENH], [MNT], [DOC], or [BUG]. [BUG] - bugfix, [MNT] - CI, test framework, [ENH] - adding or improving code, [DOC] - writing or improving documentation or docstrings.

Copy link
Collaborator

@fkiraly fkiraly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Quick question, may I clarify which of the following is the case:

  • None translates to SLSQP in statsmodels already
  • None will translate to SLSQP in statsmodels at some future point, when a planned PR is going to be merged and the default will change
    • this, and statsmodels is not raising a deprecation warning
    • this, and statsmodels is, or will be raising a depercation warning

Depending on what is the case here, we may have to take additional steps, in accordance with change/deprecation policy:
https://www.sktime.net/en/latest/developer_guide/deprecation.html

As a first step, I feel we should change the default from None to what it currently is in statsmodels. FYI @benHeid, @yarnabrina

@yarnabrina
Copy link
Collaborator

@fkiraly based on the shared link above, it seems statsmodels uses SLSQP already when method is specified as None, and the Git blame is 4 years old. We may not need deprecation cycle as no behaviour will change, and this PR can be considered just as a docs update.

https://github.com/statsmodels/statsmodels/blame/192670b31c9069b247b0901d66013853e2ca47b7/statsmodels/tsa/holtwinters/model.py#L1142

Copy link
Collaborator

@fkiraly fkiraly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense.

In that case, we should consider changing the sktime default to "SLSQP" (separate from this PR), to avoid behaviour switching again.

@manuel-munoz-aguirre
Copy link
Contributor Author

Should I go ahead and open a new PR switching the default value from None to SLSQP? @fkiraly

@fkiraly fkiraly added documentation Documentation & tutorials module:forecasting forecasting module: forecasting, incl probabilistic and hierarchical forecasting labels Mar 22, 2024
@fkiraly
Copy link
Collaborator

fkiraly commented Mar 22, 2024

Not sure whether we should. Since it is a very small change, how about this - you open a PR, and then we discuss with other core devs what they think?

@fkiraly fkiraly merged commit c8743d6 into sktime:main Mar 22, 2024
54 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Documentation & tutorials module:forecasting forecasting module: forecasting, incl probabilistic and hierarchical forecasting
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants