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

integration/listing with skpro and sktime? #1

Open
fkiraly opened this issue Jul 4, 2024 · 4 comments
Open

integration/listing with skpro and sktime? #1

fkiraly opened this issue Jul 4, 2024 · 4 comments

Comments

@fkiraly
Copy link

fkiraly commented Jul 4, 2024

Nice package, I have been looking for methods for heteroskedastic distribution prediction! (see sktime/skpro#7)

More generally, I think rolch would fit the scope of skpro as a model for conditional distribution prediction:
https://github.com/sktime/skpro

In the sktime / skpro ecosystem:

  • you do not need to "merge" your model into the package but just can have it indexed
  • once integrated, the model can be used as component in pipelines, e.g., in sktime forecasters!

There are two models to add integration with rolch, both assuming rolch exists as a separate, continuously maintained package under independent ownership:

  • API adapter in skpro, here we add a non-trivial adapter in skpro conformant with the skpro probabilistic regressor interface. This regressor would take a soft dependency on rolch and have some non-trivial API adaptation logic.
  • the compatible estimator is entirely in rolch, and a mini-test suite is added to rolch to continuously test for interface compatibility. In skpro, 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 make rolch the first such example!

I think this would be especially useful towards the existing sktime integration with skpro, where currently in reduction the tabular regression models are refit entirely instead of making use of efficient updating, so rolch could become a favourite component fore efficient stream update forecasting in sktime composites!

@fkiraly fkiraly changed the title integration/listing with skpro? integration/listing with skpro and sktime? Jul 4, 2024
@fkiraly
Copy link
Author

fkiraly commented Jul 4, 2024

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.

@simon-hirsch
Copy link
Owner

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 👍 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).

@simon-hirsch simon-hirsch added this to the first_stable_version milestone Jul 5, 2024
@fkiraly
Copy link
Author

fkiraly commented Sep 13, 2024

Review of the framework PR for online proba regressors would be appreciated!

sktime/skpro#462

@fkiraly
Copy link
Author

fkiraly commented Oct 9, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants