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

Bellman and hopCP? #29

Open
AugustComte opened this issue Jun 14, 2024 · 2 comments
Open

Bellman and hopCP? #29

AugustComte opened this issue Jun 14, 2024 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@AugustComte
Copy link

Hello there, there are a few other approaches to this that I have seen and wondered if they are on your radar.

 Bellman Conformal Inference (BCI) - optimises prediction intervals for time series by formulating a stochastic control problem that minimizes interval lengths while ensuring target coverage levels. It uses dynamic programming to solve this problem, adjusting the trade-off between interval length and miscoverage. It works mostly for multistep forecasting, making it unsuitable for recursive modelling.
 Hopfield Network (HopCT) – Uses a Hopfield network architecture to extract features from a time series and compute prediction errors. The errors are then used to weight the values in the series based on their similarity to past errors. It is primarily used with multivariate data. https://ml-jku.github.io/HopCPT/

I wondered if these could be options, as they make claims about improved approaches to coverage?

Side note, I haven't tried this yet, but does this work with darts back testing? For example say I ran a single backtest and could I use conformal tights to generate quartiles for the backtest?

@lsorber lsorber self-assigned this Jun 15, 2024
@lsorber lsorber added the enhancement New feature or request label Jun 15, 2024
@lsorber
Copy link
Member

lsorber commented Jun 15, 2024

Hello there, there are a few other approaches to this that I have seen and wondered if they are on your radar.

 Bellman Conformal Inference (BCI) - optimises prediction intervals for time series by formulating a stochastic control problem that minimizes interval lengths while ensuring target coverage levels. It uses dynamic programming to solve this problem, adjusting the trade-off between interval length and miscoverage. It works mostly for multistep forecasting, making it unsuitable for recursive modelling.
 Hopfield Network (HopCT) – Uses a Hopfield network architecture to extract features from a time series and compute prediction errors. The errors are then used to weight the values in the series based on their similarity to past errors. It is primarily used with multivariate data. https://ml-jku.github.io/HopCPT/

I wondered if these could be options, as they make claims about improved approaches to coverage?

Hi @AugustComte, thanks for the pointers! Some reflections on these below.

BCI:

  • Definitely relevant and interesting as both Conformal Tights and BCI aim to provide tight prediction intervals.
  • Right now, Conformal Tights enables probabilistic time series forecasting for single-step regression models only.
  • I'm interested in adding support for both multi-step regresion models and BCI optimisation, but I can't commit on when. If other people are interested in this, that would help prioritise this feature.

HopCT:

  • It does seem like incorporating their main idea could help improve forecasting performance further.
  • That said (and I may be wrong), I feel like the complexity of HopCT is larger than that of BCI, while its benefit is less than that of BCI.
  • As a result, my preference would be to add BCI before looking into HopCT.

Side note, I haven't tried this yet, but does this work with darts back testing? For example say I ran a single backtest and could I use conformal tights to generate quartiles for the backtest?

Yes, Conformal Tights' DartsForecaster is just a simple subclass of a Darts' RegressionModel that adds support for probabilistic forecasting, analogous to how Darts implemented their LightGBMModel as a RegressionModel with probabilistic forecasting support. And RegressionModel has backtesting support built-in. Note that you will want to select a metric suitable for evaluating probabilistic forecasts, such as Mean Quantile Loss.

@AugustComte
Copy link
Author

Thank you for the response, it's all useful to information. I agree that BCI looks like a better option, if I get the opportunity I may try to incorporate it locally 🤞 but I can't commit beyond that either sorry.

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

No branches or pull requests

2 participants