Time series and forecasting · insight-1255
Bag an ETS model with bootstrapped STL remainders when single fits are unstable
- Evidence type
- empirical finding
- Difficulty
- medium
- Roles
- Data scientist, ML engineer
- Industries
- retail, energy, cross-industry
Summary: situation, action, reason, boundary
Situation
Monthly ETS forecasts for 400 series change noticeably each time the models are refitted, though the history changed by one point.
Action
Transform if needed, decompose with STL, block-bootstrap the remainder, add it back to trend and seasonality, fit ETS to each bootstrapped series, and average the forecasts. Compare with plain ETS and an equal-weight ETS plus ARIMA average over rolling origins, and budget for the added compute.
Reason
Averaging forecasts over many similar series reduces variance from parameter and model-selection noise, and the published M3 results found bagged ETS to be consistently better than the original.
Boundary
Monthly or quarterly series where ETS is the production model and refit stability matters.
Symptom or risk
A single fit is sensitive to noise in the latest observations, so planners see forecast churn that is estimation noise rather than information.
Exceptions
Series that are very short give the bootstrap too little remainder to resample.
Trade-offs
Bagging multiplies fitting time by the number of bootstrap series; the FPP3 example uses 100.
Pitfalls
Using a block size shorter than the autocorrelation in the remainder, which destroys dependence the bootstrap should keep.
Lessons and concepts
Claims and their sources
FPP3 describes bagging as fitting ETS to bootstrapped series built by block-bootstrapping the STL remainder and averaging the forecasts, and reports that bagging gave better forecasts than ETS alone on average, at the cost of a lot more computation.
Bergmeir, Hyndman and Benitez report that bagged exponential smoothing with Box-Cox, STL and a moving-block bootstrap improved consistently on the original exponential smoothing on the M3 data.