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)
As previously discussed, a quick review of
MapieTimeSeriesRegressoragainstsktimeAPIs.capability:pred_int(can predict probabilistically), andignores-exogeneous-X: False, as it uses exogenous datafitandpredictmap onto each other, with slightly different args.mapie'spartial_fitissktime'supdatemethod.predict(ifalphais passed) issktime'spredict_interval.Xis absolutely required inmapie(is that true?), whereas theoretically the implemented estimator does not need it, andsktimealso assumes that every forecaster can be run withoutX, withyonlysktimesktime,fitandpredictcannot be given additional parameters, all non-data/task arguments should be in the constructor. So,ensembleoroptimize_betashould move to the constructor, frompredict.From an interfacing perspective, using the maximal extension template with filling only
predict_intervalshould work: https://github.com/sktime/sktime/blob/main/extension_templates/forecasting.py(possibly also filling in
predict_probawith anEmpiricaldistribution)