Skip to content

Design - comparison MapieTimeSeriesRegressor and sktime APIs #379

@fkiraly

Description

@fkiraly

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)

Metadata

Metadata

Labels

BacklogThis has a good chance to be implemented at some point.Other or internalIf no other grey tag is relevant or if issue from the MAPIE team

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions