Open fkiraly opened 4 months ago
PS: let us know if you would like to present rolch
at one of the sktime
meetups! Fridays at 13 UTC on discord, mixed international audience, slots available from August.
Hi @fkiraly,
thanks for the kind feedback! Generally, integration with skpro
and sktime
sounds like a good idea and we'd be quite happy to create first online predictor in the skpro framework.
We have a few rough edges to sort out in our package though, starting up with basics like docstrings and a documentation, but also we have not yet thought about how to handle e.g. auto-regressive effects in rolch
, as you could e.g. have autoregressive effects for all conditional distribution parameters, but also have cross-parameter dependencies (e.g. having $\sigma$ dependent on $\mu$ (or rather $\hat{\mu}$), which is quite a plausible one for many applications). Currently, only have autoregressive effects in $\mu$ by adding lagged values to $X$.
I would see the integration nevertheless as a goal for the first stable version :+1: It will be good to have it in the back of our minds while smoothing the rough edges. I'll read through the docs and write down some more notes in this issue the next week(s).
Review of the framework PR for online proba regressors would be appreciated!
FYI @simon-hirsch, skpro 2.7.0
with the update
API is released, so integration should be extra easy now. check_estimator
will check the validity of the update
interface.
I think the current, improved rolch
API is basically identical with the skpro
API, except that you need to switch predict
to return the predictive mean, and predict_proba
to return an skpro
distribution. Implementing predict_proba
will work best with a dictionary approach, that maps supported rolch
distributions onto skpro
distributions.
Nice package, I have been looking for methods for heteroskedastic distribution prediction! (see https://github.com/sktime/skpro/issues/7)
More generally, I think
rolch
would fit the scope of skpro as a model for conditional distribution prediction: https://github.com/sktime/skproIn the
sktime
/skpro
ecosystem:sktime
forecasters!There are two models to add integration with
rolch
, both assumingrolch
exists as a separate, continuously maintained package under independent ownership:skpro
, here we add a non-trivial adapter inskpro
conformant with theskpro
probabilistic regressor interface. This regressor would take a soft dependency onrolch
and have some non-trivial API adaptation logic.rolch
, and a mini-test suite is added torolch
to continuously test for interface compatibility. Inskpro
, we then only add a placeholder so your estimator appears in the estimator overview list, search function, and python bindings for library queries.More details in the developer guide for estimator integration: https://www.sktime.net/en/latest/developer_guide/add_estimators.html
Happy to help integrate!
What I am also very excited about is the on-line learning interface for distributional prediction! This does not exist as a systematic interface point in
skpro
yet, but we could add this together and makerolch
the first such example!I think this would be especially useful towards the existing
sktime
integration withskpro
, where currently in reduction the tabular regression models are refit entirely instead of making use of efficient updating, sorolch
could become a favourite component fore efficient stream update forecasting insktime
composites!