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

Design - comparison MapieTimeSeriesRegressor and sktime APIs #379

Open
fkiraly opened this issue Nov 15, 2023 · 0 comments
Open

Design - comparison MapieTimeSeriesRegressor and sktime APIs #379

fkiraly opened this issue Nov 15, 2023 · 0 comments
Assignees
Labels
developers Proposed by developers. enhancement New feature or request question Further information is requested

Comments

@fkiraly
Copy link

fkiraly commented Nov 15, 2023

As previously discussed, a quick review of MapieTimeSeriesRegressor against sktime APIs.

  • I think the regressor is simply a forecaster, with tags: capability:pred_int (can predict probabilistically), and ignores-exogeneous-X: False, as it uses exogenous data
  • The interface matches as follows:
    • fit and predict map onto each other, with slightly different args.
    • mapie's partial_fit is sktime's update method.
    • The probabilisitc predict (if alpha is passed) is sktime's predict_interval.
  • possibly inconsistent interface elements:
    • it looks like exogenous data X is absolutely required in mapie (is that true?), whereas theoretically the implemented estimator does not need it, and sktime also assumes that every forecaster can be run without X, with y only
    • sample weights are currently not supported in sktime
  • in sktime, fit and predict cannot be given additional parameters, all non-data/task arguments should be in the constructor. So, ensemble or optimize_beta should move to the constructor, from predict.

From an interfacing perspective, using the maximal extension template with filling only predict_interval should work: https://github.com/sktime/sktime/blob/main/extension_templates/forecasting.py
(possibly also filling in predict_proba with an Empirical distribution)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
developers Proposed by developers. enhancement New feature or request question Further information is requested
Projects
Status: Need triage
Development

No branches or pull requests

5 participants