Home | Weekly reports 2025-2026 | Weekly reports 2024-2025 | 2026 experiments | 2025 experiments | 2024 experiments | Forecasters
The main forecaster families were:
Notes:
quantreg gave better
results than linreg and we had computational issues with
grf, so we used quantreg the rest of the
time.flu_forecaster_config.R
and covid_forecaster_config.R
files.Internal name: scaled_pop.
A simple autoregressive model, which predicts using
\[x_{t+k} = x_{t-7} + x_{t-14}\]
where \(x\) is the target variable (which can be scaled according to each state’s population or whitened according to another scheme (or both)), \(t\) is the data in days, and \(k \in \{0, 7, 14, 21, 28\}\) is the forecast horizon. In practice, we found that adding more lags provided no discernible advantage (such as (0, 7, 14) and (0, 7, 14, 21))
Internal name: scaled_pop_seasonal.
\[x_{t+k} = x_{t-7} + x_{t-14} + y_{t-7} + y_{t-14}\]
where \(x\) is the target variable,
\(y\) is the exogenous variable, and
\(t\) is the data in days. See the list
of exogenous features below. These models could opt into the same
seasonal features as the scaled_pop_seasonal forecaster
(see below).
Internal name: scaled_pop_seasonal.
We tried a few different attempts at incorporating seasonal features:
before = season_week < 16,
during = 16 <= season_week <= 20, and
after = season_week > 20).(epiweek, state_source_season_value). (We found that this
was not particularly effective, so we did not use it. Despite spending a
week debugging this, we could not rule out the possibility that it was a
bug. However, we also had mixed results from tests of this feature in
very simple synthetic data cases.)These models could be combined with the exogenous features (see above).
Internal name: scaled_pop (with
filter_source = "").
This forecaster is still the standard autoregressive model, but with additional training data. Inspired by UMass-flusion, the additional training data consisted of historical data from ILI+ and Flusurv+, which was brought to a comprable level with NHSN and treated as additional observations of the target variable (hence the name “augmented data”). Flusurv was taken from epidata, but ILI+ was constructed by Evan Ray and given to Richard (Berkeley Summer 2024 intern). Naturally, this forecaster was only used for flu, as the same data was not available for covid.
These models could be combined with the exogenous features and the seasonal features (see above).
We tried a few different approaches to data whitening.
scale_method
quantile - scales the data so that the difference
between the 5th and 95th quantiles is 1 (akin to RobustScaler
from scikit-learn)quantile_upper - scales the data so that the 95th
quantile is 1 (this was used by UMass-flusion)std - scales the data so that one standard deviation is
1none - no scalingquantile the rest of the
time.center_method
median - centers the data so that the median is 0mean - centers the data so that the mean is 0none - no centeringmedian the rest of the
time.nonlin_method
quart_root - takes the 4th root of the data (and adds
0.01 to avoid negative values)none - no non-linear transformationquart_root gave us the best results, so we
used that the rest of the time (beware: the epsilon offset can interact
poorly with forecasts clipped to be non-negative).This was our term for a forecaster that directly forecast a distribution built from similar weeks from previous seasons (in analogy with baseline weather forecasting). We found that in some cases it made a reasonable baseline, though when the current season’s peak time was significantly different from the seasons in the training data, it was not particularly effective.
A simple linear trend model that predicts the median using linear extrapolation from the past 4 weeks of data and then uses residuals to create a distributional forecast.
An ensemble model that combines a climatological forecast with a linear trend forecast. It is a bilinear interpolation between the two forecasts across the ahead and quantile extremity; as the quantile moves away from the median, and the ahead moves further in the future, the ensemble interpolates between the linear and climate forecasts. As the ahead goes from -1 to 4, it linearly interpolates between a 5% weight on the climate model and a 90% weight on the climate model (so the furthest ahead is mostly a climate model). At the same time, as the quantile level goes further away from the median, it interpolates between a 10% weight on the climate model at the median and a 100% weight on the climate model at either the 1% or 99% quantile levels. In net, at the median -1 ahead, the climate models have a weight of 0.5%, and the linear model of 99.5%.
This was a fall-back forecaster built for the scenario where NHSN data was not going to be reported in time for the start of the forecasting challenge.
A flusion-adjacent model pared down to handle the case of not having the target as a predictor.
\[\bar{x}_{t+k} = \big\langle y_{t-k}\big\rangle_{k=0:1} + \big\langle y_{t-k}\big\rangle_{t=0:3}\]
where \(y\) here is any set of exogenous variables.
A simple “LOCF” forecaster that simply forecasts the last observed value and uses residuals to create a distributional forecast. This is what the FluSight-baseline is based on, so they should be identical.
Here we summarize our findings from backtesting a large variety of forecasters on the 2023-2024 season.
The best performing families were:
The best performing families were:
climate_linear model was only about 4
mean WIS points behind our best performing family.
(climate_linear combines the climate_* models
with the linear model using a special weighting scheme. See
the season summary for more
details.)One of the most concerning behaviors in our forecasters was the bias towards predicting a down-swing in the target. After a deeper analysis, we concluded that this is due to a downward bias in the data set, which our linear AR models were picking up and translating into coefficients that were less than 1, making declines almost certain. The complete analysis can be found here.