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 › Rolling-origin cross-validation
The honest way to compare forecasting methods. A single hold-out gives one number per model and depends entirely on which slice of history landed in the test set; this re-forecasts from many origins and reports accuracy at every horizon.
A single hold-out gives one number per model, and that number depends entirely on which slice of history happened to land in the test set. Rolling-origin evaluation re-forecasts from many origins and averages, so the comparison rests on dozens of forecasts rather than one. It also respects time: every forecast uses only data that existed when it would have been made.
Whenever you are choosing between forecasting methods. A single hold-out is the default in most software and it is the weakest possible evidence: one number per model, from one arbitrary slice of history.
For each origin t=t_0,t_0+s,\dots, fit on y_{1:t} and forecast \hat{y}_{t+1},\dots,\hat{y}_{t+h}, then record the error at each horizon separately. The EXPANDING window uses all history up to t; the ROLLING window uses a fixed-length recent slice, which is preferable when the relationship drifts. Errors are summarised by horizon, since accuracy at h=1 and h=12 are different questions. Scale-free comparison uses MASE, \mathrm{MASE}=\frac{\frac{1}{h}\sum_j|e_{t+j}|}{\frac{1}{T-m}\sum_{t>m}|y_t-y_{t-m}|}, dividing by the in-sample mean absolute error of the seasonal naive forecast, so MASE below 1 beats that benchmark and the measure is comparable across series of any units.
\text{RMSE}_h=\sqrt{\frac{1}{|O|}\sum_{t\in O}\bigl(y_{t+h}-\hat y_{t+h|t}\bigr)^{2}},\qquad \text{MASE}=\frac{\text{MAE}}{\frac{1}{n-m}\sum_{i=m+1}^{n}|y_i-y_{i-m}|}
Sixty-four observations, 15 origins, horizons of one to three steps, 45 forecasts in total on an expanding window. The ranking is the interesting part: the MEAN forecast wins on every measure (RMSE 1.7483, MAE 1.1018, MASE 0.857), ahead of auto-ARIMA and Theta, with Naive and Drift last by a wide margin. A MASE below 1 means beating the naive benchmark on its own terms, and three of the six models manage it. The reason to evaluate this way rather than on one hold-out is that a single hold-out gives one number from a distribution wide enough to reverse most of these rankings - the gap between ARIMA at 1.8008 and Theta at 1.8193 is well inside the noise of any single split. Pooling 45 forecasts does not remove that noise but shrinks it by roughly the square root of the count, and the differences that survive pooling are the ones worth acting on.
| If you see this | It means | Do this |
|---|---|---|
| One model best at every horizon | Unusual; a genuine winner or a leak | Check that no future information enters |
| Errors not growing with horizon | Suspicious for most series | Verify the origins really are moving |
| MASE above 1 | Worse than seasonal naive | A real finding, and a common one |
| Very few origins | The average is as noisy as a single split | Start earlier or use a smaller step |
| Rolling and expanding disagreeing sharply | The relationship is drifting | That is itself the finding; prefer rolling |
| MAPE infinite or absurd | Values at or near zero | Use MASE |
Forecast combination, which needs these scores to choose members. Backtesting, for the trading-strategy version of the same discipline.
Time-varying coefficients (Kalman) · Unit root tests · Correlogram (ACF / PACF) · ARIMA / SARIMA · 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
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