Skip to content

Create DirectEnsemble #766

Closed
1 task done
iKintosh opened this issue Jun 21, 2022 · 0 comments · Fixed by #824
Closed
1 task done

Create DirectEnsemble #766

iKintosh opened this issue Jun 21, 2022 · 0 comments · Fixed by #824
Assignees
Labels
enhancement New feature or request

Comments

@iKintosh
Copy link
Contributor

iKintosh commented Jun 21, 2022

🚀 Feature Request

Add DirectEnsemble

Motivation

ETNA does not have direct strategy at the moment.

Proposal

DirectEnsemble should merge forecasts according to direct strategy.

Ensemble expects several pipelines during init. These pipelines are expected to have different forecasting horizons.
In case the horizons are same for two or more models, DirectEnsemble should raise an error.

DirectEnsemble runs every pipeline with the same data and merges the result according to the forecasting horizons.

Init interface:

DirectEnsemble(pipelines: List[Pipeline], n_jobs: int, joblib_params: [Dict, Any])

DirectEnsemble has fit method which should work similar to other Ensembles.

While _forecast method DirectEnsemble is expected to return results in the following format (results of pipelines with smaller horizon have higher priority)

pipeline horizon 1 forecasts pipeline horizon 2 forecasts Ensemble forecasts
1 2 1
NaN 2 2
pipeline horizon 2 forecasts pipeline horizon 7 forecasts Ensemble forecasts
1 2 1
1 2 1
NaN 2 2
NaN 2 2
NaN 2 2
NaN 2 2
NaN 2 2

Implement this merge logic as a separate private method

Test cases

  • if horizons are the same DirectEnsemble raises an error
  • test that merge works correctly

Alternatives

No response

Additional context

No response

Checklist

  • I discussed this issue with ETNA Team
@iKintosh iKintosh added the enhancement New feature or request label Jun 21, 2022
@iKintosh iKintosh added this to the Forecasting strategies milestone Jun 21, 2022
@iKintosh iKintosh changed the title [DRAFT] Create DirectEnsemble Create DirectEnsemble Jul 14, 2022
@alex-hse-repository alex-hse-repository self-assigned this Jul 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants