[FEAT] add mean and greedy ensemble - #221
jan rathfelder (janrth) wants to merge 4 commits into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 16c997d911
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2a7d045104
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
Here some first ensemble methods are introduced. A simple mean and a greedy global (same model weight for all unique_ids) and local (different model weights for each unique_id).
Is compatible with statsforecast, mlforecast and neuralforecaster.
I have three open points we need to discuss:
Ideally, we have the weights being part of the model objects from the underlying packages like mlforecast. But then the logic needs to be written at the same time over multiple repos (which is possible, but might be a bit unusual). So here I kept all the code inside this repo. People can save the weights now in mlflow and then apply again during inference. I would prefer a solution to have the weights being embedded into mlforecast, statsforecast and neuralforecaster, but would be happy to hear your thoughts.
Same issue, different topic: tests. Here I can only run general tests with dependencies inside this repo. Unless we add mlforecast and co as dependencies here, I can't add specific tests around these packages here.
When it comes to prediction intervals, I also think it might be better to have them inside utilsforecast, or how would would we now create conformal intervals from the final ensemble column?
Overall, I think this solution is still helpful and the current setup should also allow adding the tabular ensemble (training some more advanced model), but I wonder how we want to continue in the long run.
Solves #220
Usage: