# Ensemble forecasts with fable, NYR Conference, 14 August 2020

Hi Rob,

Regarding Ensemble forecasts with fable, NYR Conference, 14 August 2020:

I'd be very grateful for the R code (as it's not included), slide 35: Combination vs ensemble forecasting, both the distribution plots, as I'd very much like to plot them myself, each step ahead.

thanks,
Amarjit

The R code for the plots is included in the repo. See the Rmd file.

Yes - many thanks!

Questions:

(1) Just to confirm, if `bootstrap = TRUE`, would the following be bootstrapping the forecasts of each model, and then averaging each models bootstrap forecasts?

``````auscafe |>
filter(year(date) <= 2018) |>
model(ETS = ETS(turnover),
ARIMA = ARIMA(turnover ~
pdq(d=1) + PDQ(D=1))
) |>
forecast(h = "1 year", bootstrap = TRUE) |>
summarise(
turnover = dist_mixture(
turnover, turnover,
weights=c(0.5,0.5))
) |>
mutate(.model = "ENSEMBLE") |>
accuracy(
data = auscafe,
measures = list(crps=CRPS, rmse=RMSE)
)
``````

And the same question for a Combination?
`mutate(COMB = (ETS + ARIMA)/2)`

The code in the repo plots distributions for Combination and Mixture models, with no transformation and `bootstrap = FALSE`, as Normals and Mixture of Normals i.e. as "smoothed" distributions.

The models I have used in fable, are:

• ARIMA
• ETS
• ENSEMBLE: ARIMA and ETS
for various series, with transformations:
• none (back-transformed Normal distribution),
• log (back-transformed Log-Normal distribution)
• sqrt (back-transformed Non-Central Chi-squared distribution),
all with `bootstrap = TRUE`, as a Normal distribution for the residuals may be an unreasonable assumption.

(2) For the single models ARIMA, and ETS, I have used `geom_density` with `bootstrap = TRUE`. Correct?

(3) For the ENSEMBLE will `geom_density` suffice or is there an equivalent `dist_mixture( ?, ?, weights = c(0.5, 0.5)))` for `geom_density`? If, not how to plot the forecast distribution for an ENSEMBLE with `bootstrap = TRUE`?

(4) Also, as per fable: Combination Models, Methodology and Simple Numerical Example - #6 by mitchelloharawild, exactly how are the forecast SE's calculated/aggregated for an ENSEMBLE? I'd very much appreciate a simple numerical example.

(1) `bootstrap = TRUE`,
forecast for model1 = f1 + e1,
forecast for model2 = f2 + e2,
forecast for model3 (ENSEMBLE and COMB) = as the seed is not being reset before each model, model3's forecast will not be the mean of the (bootstrap) forecasts of model2 and model3.
(2) & (3) I think using `geom_density` is correct, as `bootstrap = TRUE`.

Please let me know if I'm incorrect.

(4) For the ENSEMBLE, to calculate the 'aggregated' SE's is simple Mixture distribution - Wikipedia This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.