Closed dashaub closed 6 years ago
In what way are they not working (ie are there cases where they are wildly large, and we can see from subsequent reality that this isn't justified)? Given the usual ways of doing prediction intervals for individual models tend to overstate the confidence in the coverage, conservative is probably good.
This is old, so I can't remember my original point on this. The conservative method of taking the extreme intervals seems to work fine. I'm sure we could put together a more sophisticated bootstrap sampling methodology, but the question becomes if it is computationally justifiable: these ensembles could be very slow already with some of the planned additions of cross validation.
issue #37 shows a type of problem
In Rob Hyndman's blog about forecastHybrid
and opera
he points out the forecastHybrid prediction interval looks far too conservative with his example of monthly CO2 emission data. My feel after all is that high regularity, high frequency data, this method will be too conservative. But we shouldn't rush to change it.
Yup. I had an email correspondence with him about this issue. To build these intervals correctly, we'd need the variances of each component model error and the covariance matrix for the models. Ideally this could be estimated for each 1 through n step forecast horizon. Then we could derive the SE for the prediction intervals of the ensemble model. Using the in-sample errors/fitted values for this probably isn't a best approach, but now that cvts
is done, we could use that. The downside is that cvts
would be very slow. Rob told me the "forecast" package recently updated with an hfitted
argument that could be used to generate the n-step forecasts that could be used for generating these fitted/residuals as well and would be much faster than the cvts
approach, but I haven't had time to try it out yet.
This issue has been known for a while, and I'd like to see it fixed, but parallel is probably my top priority now in terms of missing features. If you're wanting to look into this that would be great. Once we get parallel and the prediction intervals fixed, I'd say that main features are built out in the package.
What is the expected distribution of the prediction intervals for hybrid models. Doesn't appear like it is normal. When we say 80% PI, what distribution does the 80% quantile belong to?
Added a new argument into forecast.hybridModel()
. Default behavior is to use the extreme values from the component forecasts, but a new option "mean"
will take the simple average of all the intervals to produce less conservative intervals.
There are obviously superior and more involved solutions, but I'm closing this for now.
Very conservative prediction intervals are not working (i.e. taking the highest prediction interval value from an individual model for the upper limit and the lowest individual prediction intervals value for the lower limit). We should consider how to enhance this with additional methods that we could expose through a
pi.method
argument. This could include taking the mean of the model intervals, applying the weights from the models to the intervals, taking the tightest intervals, or bootstrap simulations. There are lots of issues that could arise from the various combination methods (e.g. upper/lower limits that are lower/higher than the mean forecast, etc), so this will need careful thought.