EconStatsCraft rigorous, plain-spoken econometrics
Econometrics that explains itself.
Regression, panel data, time series and the whole battery of tests. Every result is followed by a verdict you can defend.
Load a dataset to see it here.
EconStatsCraft › Forecast combination
Bates and Granger showed in 1969 that averaging forecasts usually beats choosing between them, because different models make different mistakes. This fits several, learns weights on data none of them saw, and judges the result on data the weights never saw either.
Different forecasting methods make different mistakes. Average them and the mistakes partly cancel, which is why a simple mean of several forecasts is a famously hard benchmark to beat. But the folklore overstates it: averaging protects you from picking the WORST model, and it does not generally beat the best one - and if one member is badly wrong, it drags the average down with it.
Almost always, once you have more than one credible model. Combination is one of the most reliably replicated findings in the whole forecasting literature.
For two unbiased forecasts with error variances \sigma_1^2,\sigma_2^2 and correlation \rho, the combination w f_1+(1-w)f_2 has variance w^2\sigma_1^2+(1-w)^2\sigma_2^2+2w(1-w)\rho\sigma_1\sigma_2, minimised at w^=\frac{\sigma_2^2-\rho\sigma_1\sigma_2}{\sigma_1^2+\sigma_2^2-2\rho\sigma_1\sigma_2}. The gain comes from \rho<1: identical forecasts cannot help each other. Bates and Granger derived this in 1969; the awkward empirical fact, known as the forecast combination puzzle, is that estimating w^ usually does WORSE out of sample than setting w=1/N, because the variances and correlation must themselves be estimated and that noise costs more than the optimal weighting gains.
\hat y^{c}_{t+h}=\sum_{i=1}^{k}w_i\hat y^{(i)}_{t+h},\qquad \sum_i w_i=1;\qquad w^{\text{inv}}_i=\frac{1/\text{MSE}_i}{\sum_j 1/\text{MSE}_j}
Five methods on a quarterly series: fit on observations 1-48, weights learned on 49-56, everything judged on 57-64. On the test stretch the individual RMSEs run from 2.4239 (Naive) to 2.4773 (ETS), and the best combination - equal weights - scores 2.4273. So combining came 0.1% WORSE than simply using the naive forecast, and the result card says so rather than claiming a win. That is worth seeing, because the forecasting literature's headline finding is that combinations usually beat their members, and "usually" is doing real work in that sentence: here the members are close together and the best one is already near the floor, so there is nothing for averaging to buy. Two details repay attention. The OLS weighting scheme returns 2.261 on Naive and -4.024 on Drift - wildly overfitted weights from eight observations, which is why constrained schemes exist. And ARIMA has the BEST mean absolute error (1.3881) while ranking sixth on RMSE, so which model you call best depends on whether you care more about typical errors or large ones.
| If you see this | It means | Do this |
|---|---|---|
| Combination worse than the best member | Common and expected | It protects against choosing badly, not against the best |
| One member wildly off | It is dragging the mean | Trim it, or use the median |
| Members almost identical | No diversity, nothing to gain | Combination will match them and cost effort |
| Estimated weights beating equal weights in sample | Overfitting the weights | Check out of sample; usually it reverses |
| A negative optimal weight | Legitimate when correlation is high | But very unstable; constrain to non-negative |
| All members biased the same way | Combination cannot fix bias | Correct the bias first |
Rolling-origin cross-validation, which is how the members should be scored before combining. Forecast accuracy, for the loss functions involved.
Time-varying coefficients (Kalman) · Unit root tests · Correlogram (ACF / PACF) · ARIMA / SARIMA · Rolling-origin cross-validation · Theta method · Unobserved components · STL forecasting · Markov regime switching · Change frequency (resample) · ARCH / GARCH volatility · Decompose & filter · Spectral analysis · Exponential smoothing · Forecast accuracy
Line chart · Area chart · Bar chart · Stacked bar · Scatter plot · Bubble chart · Histogram · Box plot · Pie chart · Heat map · Rebased to 100 · Lorenz curve and Gini
World map · Bivariate map · Flow map · India - state map · India - district map
Descriptive statistics · Summary by group · Two-way table · Classical statistical tests
Multiple regression (OLS) · Logit / Probit · Tobit (censored) · Truncated regression · Multinomial logit · Ordered logit / probit · Quantile regression · Poisson / Negative binomial
Time-varying coefficients (Kalman) · Unit root tests · Correlogram (ACF / PACF) · ARIMA / SARIMA · Rolling-origin cross-validation · Theta method · Unobserved components · STL forecasting · Forecast combination · Markov regime switching · Change frequency (resample) · ARCH / GARCH volatility · Decompose & filter · Spectral analysis · Exponential smoothing · Forecast accuracy
Yield curve (Nelson–Siegel / Svensson) · Dynamic factor model · Dynamic regression (ARIMAX) · Structural VAR · VAR · Granger causality · Cointegration · VECM · ARDL & bounds test
Panel regression · Panel cointegration tests · Heterogeneous panel: Mean Group & PMG · Gravity model of trade · Dynamic panel GMM · Panel diagnostics · Panel unit-root tests
Principal components (PCA) · Factor analysis · Cluster analysis
Conjoint analysis · MaxDiff (best–worst scaling) · TURF - reach of a product line · Price sensitivity (Van Westendorp) · Market basket analysis · Perceptual map · Scale reliability (Cronbach’s alpha) · Key driver analysis
Spatial autocorrelation · Spatial regression · Heckman selection · Instrumental variables (2SLS) · Difference-in-differences · Staggered difference-in-differences · Regression discontinuity · Matching & weighting · Oaxaca–Blinder decomposition
Black–Scholes option pricing · Bond price, duration & convexity · Merton distance to default · EMI / home loan planner · CAPM / beta estimation · Multi-factor model · Portfolio optimization · Value at Risk & Expected Shortfall · Performance & drawdown · Time value of money & NPV/IRR · Equity valuation (DDM, FCF, residual income) · Cost of capital (WACC) · Binomial option pricing · Option strategies (payoff & profit) · Forwards, futures & swaps · Credit risk & Basel capital · Extreme value theory (tail risk)
Life table · Life annuity · Life insurance pricing · Chain ladder reserving · Buhlmann credibility · Survival analysis · Mortality graduation · Aggregate loss model · Ruin probability · Multi-state Markov model · Loss severity fitting
Monte Carlo experiment · F-test, Wald & Chow · Structural breaks & stability
Regression vs machine learning · Ridge / Lasso / Elastic Net · Random forest · Gradient boosting
EconStatsCraft rigorous, plain-spoken econometrics
Regression, panel data, time series and the whole battery of tests. Every result is followed by a verdict you can defend.
Load a dataset to see it here.
Pick the example closest to your question. You get a spreadsheet with the right columns and a few rows showing the expected format - replace the numbers with your own, then paste or upload it back.
Copy the header row from the table above (or from the downloaded template), put your own rows underneath, and paste the whole thing here. It is checked against the layout before anything is imported.
Or click a row in the preview below.
For a units or notes row.
Search every source at once. World Bank indicators need countries and years; everything else loads in one click.
Loading the catalogue…
The engine stays loaded, so this is quick - and it leaves your open tab and panel layout alone.
⌘/Ctrl+Enter runs the current analysis. ⌘/Ctrl+P exports the session as a PDF. Esc closes this.
In the Notebook: Enter starts a new block and
Shift+Enter a new line inside one; Backspace at the start
joins back into the paragraph above; / on an empty line inserts anything.
⌘/Ctrl+B, I, E, H and
M apply bold, italic, code, highlight and maths.
#, ##, -, 1., > and
``` at the start of a line convert it.
Sign in to run unlimited analyses.
Scroll to pan · Esc to close