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

Add a multivariate wrapper around univariate models #1845

Open
felixdivo opened this issue Jun 21, 2023 · 3 comments · May be fixed by #1917
Open

Add a multivariate wrapper around univariate models #1845

felixdivo opened this issue Jun 21, 2023 · 3 comments · May be fixed by #1917
Labels
feature request Use this label to request a new feature improvement New feature or improvement
Projects

Comments

@felixdivo
Copy link
Contributor

Is your feature request related to a current problem? Please describe.
It is currently a bit cumbersome to evaluate both multi- and univariate models in a single setting. Suppose we have one/many multivariate time series at hand and want to forecast with a multivariate model and also with (a collection of) univariate ones, per variate independently. We currently need to maintain a list of this ourselves and if we are looking at a univarite model, loop over the variates.

Describe proposed solution
A wrapper around univariate models that applies fit()/predict()/... to the wrapped models, each per variate and else forwards most properties.

Describe potential alternatives
Have users implement it each time again.

Additional context
This is especially important if one wants to see how relvant the dynamics between multiple variates are. Related to #1844.

@felixdivo felixdivo added the triage Issue waiting for triaging label Jun 21, 2023
@madtoinou
Copy link
Collaborator

Hi @felixdivo,

A similar wrapper is used for the sklearn based model (MultiOutputRegressor) in darts, and after discussing with @dennisbader, we agreed that it would be great to extend it to the other univariate models. Would you be willing to open a PR with the implementation that you seem to already have?

It will be quite important to document it so that it's very clear that in the "normal" multivariate prediction, the various target values will interact with each other whereas in "stacked" univariate prediction, they won't.

@madtoinou madtoinou added feature request Use this label to request a new feature improvement New feature or improvement and removed triage Issue waiting for triaging labels Jun 21, 2023
@madtoinou madtoinou added this to To do in darts via automation Jun 21, 2023
@felixdivo
Copy link
Contributor Author

Nice to hear that. And I agree that this should be clearly documented.

However, my current implementation is more of a hack (more or less just a simple loop) and not somthing that would fit here.

@JanFidor JanFidor linked a pull request Jul 25, 2023 that will close this issue
@felixdivo
Copy link
Contributor Author

Eventually, fit()ing such a model should optionally be parallelized. This is relevant since some local models (e.g. AutoARIMA and AutoThea) still take a fair bit of time to fit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Use this label to request a new feature improvement New feature or improvement
Projects
darts
To do
Development

Successfully merging a pull request may close this issue.

2 participants