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 › Regression vs machine learning
Fits the regression, a single tree, a random forest and gradient boosting on identical training rows and scores them all on identical held-out rows. Answers the question students always ask - is machine learning better? - with a number rather than an opinion, and says plainly what you give up when the answer is yes.
Every model looks good on the data it was fitted to. The only honest comparison holds out data the model has never seen, fits each candidate on the same training rows, and scores them on the same test rows. What makes this a method rather than a chore is the discipline: one split, applied identically, with no peeking at the test set while choosing anything.
Before you decide that machine learning is or is not worth it. The answer depends entirely on whether the truth has thresholds and interactions, and that is an empirical question about your data, not a matter of taste.
Split the sample once into training and test sets, fit each candidate on the training set alone, and evaluate on the test set with a loss appropriate to the outcome - mean squared error or R^2 for a continuous outcome, AUC, log loss or accuracy for a binary one. AUC is P(\hat{p}_{\text{positive}}>\hat{p}_{\text{negative}}), the probability that a randomly chosen positive case is scored above a randomly chosen negative one, which makes it invariant to the classification threshold and to class imbalance in a way accuracy is not. Where hyperparameters must be chosen, they are chosen by cross-validation WITHIN the training set, never on the test set, or the test error is no longer an out-of-sample estimate.
\text{fit on } \mathcal{D}_{\text{train}},\quad \text{score on } \mathcal{D}_{\text{test}},\qquad \mathcal{D}_{\text{train}}\cap\mathcal{D}_{\text{test}}=\varnothing
On the credit book with a 70/30 split, logistic regression reaches about 0.78 AUC and both tree ensembles about 0.92. That gap is large enough to survive any reasonable split, and it has a cause worth naming: the data was generated with two conjunctive rules and a U-shape in age, none of which a linear index can express. The lesson generalises in one direction only. A 14 point AUC gap says the relationship is not linear; it does not say trees are better in general, and on data generated by a linear model the ranking reverses.
| If you see this | It means | Do this |
|---|---|---|
| Test error below training error | An easy test split, or a leak | Check the split; repeat it |
| All models scoring nearly the same | The signal is linear, or there is little of it | Report the simplest one |
| Very high accuracy with rare positives | Class imbalance | Report AUC and the confusion matrix, not accuracy |
| Ranking flipping across seeds | The split is too small to distinguish them | Use repeated cross-validation |
| A model far ahead of everything | Suspect a leak | Look for a feature that encodes the outcome |
| Test set used for tuning | The estimate is no longer out of sample | Tune inside the training set only |
Rolling-origin cross-validation, the time-series version of this comparison. Random forest and gradient boosting, two of the usual candidates.
Ridge / Lasso / Elastic Net · Random forest · Gradient boosting
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