← Back to index

Effect of using oracle weather instead of historical forecasts

Both comparisons use the same 8 walk-forward CV folds and the same model settings. The oracle comparison uses the Open-Meteo Historical Forecast files as weather features; the forecast comparison uses the safe-lead historical forecasts (day1 for 1h/12h, day2 for 24h). Positive deltas mean the forecast-weather run is worse, i.e. the oracle score was optimistic.

KumoForecast only accepts past covariates. Its run uses oracle/analysis past weather in both comparisons, so it is shown in the table but excluded from the weather-impact charts. Its near-zero delta is expected.

Overall MAE and MAPE

ModelMAE oracleMAE forecast ΔMAE (MW, %)MAPE oracleMAPE forecast ΔMAPE (pp)
HGB mean813.6872.2+58.6 (+7.2%)1.67%1.78%+0.111
HGB q7815.7859.0+43.3 (+5.3%)1.68%1.75%+0.078
HGB q7 recal854.2911.1+56.9 (+6.7%)1.74%1.84%+0.102
TabICL n8816.2846.6+30.4 (+3.7%)1.65%1.70%+0.050
Chronos-2786.6827.4+40.8 (+5.2%)1.64%1.71%+0.071
Kumo-Tabular619.2688.4+69.2 (+11.2%)1.28%1.41%+0.124
KumoForecast1804.61806.9+2.3 (+0.1%)3.78%3.78%+0.001

Fold-level oracle vs forecast by horizon

Each panel is one horizon. Markers show the mean paired difference (oracle − forecast); negative means the oracle-weather error is lower. Large markers: pooled mean difference over all test rows, with a 95% moving-block bootstrap interval (14-day blocks over daily differences; conditional on the fitted models, it ignores training randomness). Small dots: mean difference in each of the 8 CV folds (one dot per fold; hover shows the fold). Folds are not independent, so no t-interval across folds is shown. MAPE uses the median prediction; pinball loss is averaged over the 5%, 50% and 95% quantiles for that horizon. KumoForecast is excluded from these panels (see the note above).

MAPE by horizon

Temperature: oracle vs 24h/48h forecasts

Hourly temperature over the last four weeks of the data. The oracle is the Open-Meteo Historical Forecast value; the 24h and 48h forecasts are the GFS previous_day1/previous_day2 values (valid time minus 24h/48h). Use the dropdown to switch city.

Quantile and calibration changes

Modelq0.05 pinballq0.5 pinball q0.95 pinball90% coverage90% width (MW)
HGB q70.8295 → 0.81790.8985 → 0.89310.8759 → 0.86740.7792 → 0.76652926 → 2987
HGB q7 recal0.8405 → 0.83020.8937 → 0.88670.8852 → 0.87940.9066 → 0.90314100 → 4288
TabICL n80.8416 → 0.84060.8985 → 0.89470.9006 → 0.89300.8927 → 0.87303841 → 3712
Chronos-20.8523 → 0.84420.9021 → 0.89710.9030 → 0.89960.8957 → 0.89083232 → 3338
Kumo-Tabular0.8638 → 0.85260.9230 → 0.91440.9115 → 0.90750.9606 → 0.96054061 → 4313

Pareto plots

Accuracy vs fit + predict time, oracle vs forecast

Interpretation