Quant Memo
Core

The Classical Linear Regression Assumptions

A regression always hands you numbers. The assumptions decide whether those numbers mean anything — some protect the estimate itself, others only protect the error bars, and knowing which is which tells you what to fix.

Prerequisites: Ordinary Least Squares (OLS)

Fit a regression to any two columns of numbers and it will report a slope, a standard error and a t-statistic, to four decimal places, without complaint. It will do this for nonsense. The software has no way of knowing whether the numbers it produced describe the world or are an artefact of how you asked. The assumptions below are the checklist that separates those two cases, and each one guards something specific.

The kitchen scale

A kitchen scale always shows a number. Whether that number is the weight of your flour depends on things the display never mentions: is the scale on a level surface, was it zeroed, is the bowl within its range, is the counter vibrating? None of those problems make the digits flicker or turn red. You just get a wrong answer, delivered confidently.

Worse, the failures differ in kind. A scale that was never zeroed is wrong by a fixed amount — more flour will not save you. A scale on a vibrating counter is right on average but jittery — you can fix that by weighing repeatedly. Regression assumptions split the same way, and confusing the two categories is the single most expensive mistake in applied work.

The model, in symbols

The straight-line version says each observed outcome is a line plus a leftover:

yi=β0+β1xi+εi.y_i = \beta_0 + \beta_1 x_i + \varepsilon_i .

In words: for observation ii, the outcome yiy_i equals a baseline β0\beta_0 (beta-nought, the intercept), plus the driver xix_i scaled by β1\beta_1 (beta-one, the slope you care about), plus εi\varepsilon_i (epsilon, everything else that moved yy and is not in your model). The whole enterprise is an attempt to learn β1\beta_1 from data, and every assumption is really a statement about how ε\varepsilon behaves.

The checklist, sorted by what it protects

Group A — these protect the estimate itself. Break one and β1\beta_1 is systematically wrong; more data makes you more confident about the wrong number.

  1. Linear in the parameters. The line you fit is the shape the world actually has. (You may bend xx — squares, logs — as long as the coefficients enter additively.)
  2. The leftovers are unrelated to xx. Formally E[εx]=0\mathbb{E}[\varepsilon \mid x] = 0. In words: whatever you left out of the model does not move in sympathy with the variable you are studying. This is the big one; when it fails you get Omitted Variable Bias.
  3. No perfect overlap between drivers. Two regressors that carry identical information leave the fit unable to attribute credit; see Multicollinearity.
  4. The sample represents the population you want to talk about. Survivors-only data answers a different question.

Group B — these protect only the error bars. Break one and β1\beta_1 is still right on average, but the reported standard error, t-statistic and p-value are fiction.

  1. Even spread. The leftovers are equally noisy everywhere. When they are not, see Heteroskedasticity-Robust Standard Errors.
  2. No leakage between observations. One period's leftover tells you nothing about the next one's.

Group C — a convenience, not a necessity.

  1. Normally distributed leftovers. Only needed for exact t and F distributions in small samples; with a few hundred observations the The Central Limit Theorem takes over.

Group A failures bias the coefficient — the answer is wrong and more data will not help. Group B failures only corrupt the error bars — the answer is fine, your confidence in it is not. Diagnose which group you are in before choosing a fix, because the fixes have nothing in common.

Regression explorer
amber = residuals
fitted slope 1.133true slope 1.00 0.642SSres 42.0

Drag the points above and watch the residual sticks. Two things to look for: whether the sticks scatter evenly on both sides of the line along its whole length (Group B intact), and whether they form any visible pattern rather than a shapeless cloud (Group A intact).

Worked example one: a high R2R^2 from a wrong model

Five observations, computed by hand end to end.

xx12345
yy25101726

Step 1 — the means. xˉ=3\bar{x} = 3 and yˉ=60/5=12\bar{y} = 60/5 = 12.

Step 2 — the slope. Multiply each (xixˉ)(x_i - \bar{x}) by its (yiyˉ)(y_i - \bar{y}) and add: (2)(10)+(1)(7)+(0)(2)+(1)(5)+(2)(14)=20+7+0+5+28=60(-2)(-10) + (-1)(-7) + (0)(-2) + (1)(5) + (2)(14) = 20 + 7 + 0 + 5 + 28 = 60. Divide by the sum of squared xx deviations, 4+1+0+1+4=104+1+0+1+4 = 10:

β^1=6010=6,β^0=126×3=6.\hat\beta_1 = \frac{60}{10} = 6, \qquad \hat\beta_0 = 12 - 6\times3 = -6 .

Step 3 — fitted values and leftovers. The line predicts 0,6,12,18,240, 6, 12, 18, 24, so the residuals are

+2,  1,  2,  1,  +2.+2,\; -1,\; -2,\; -1,\; +2 .

Step 4 — the fit statistic. Squared residuals sum to 4+1+4+1+4=144+1+4+1+4 = 14; squared deviations of yy sum to 100+49+4+25+196=374100+49+4+25+196 = 374. So

R2=114374=0.963.R^2 = 1 - \frac{14}{374} = 0.963 .

Ninety-six percent of the variation explained — the sort of number that ends a discussion. But look at the residual signs: plus, minus, minus, minus, plus. That U-shape is not noise, it is the fingerprint of a curve fitted with a straight line. The data here is exactly y=x2+1y = x^2 + 1. Assumption 1 is broken, the slope of 6 describes nothing real, and R2R^2 never once complained.

healthy wrong shape uneven noise no pattern, even band Group A broken: slope is biased Group B broken: error bars are wrong
Plot residuals against fitted values, always. A U-shape means the model has the wrong form; a widening cone means the noise is uneven. They look similar and mean completely different things.

Worked example two: overlapping windows fake your sample size

You regress 12-month-ahead returns on a signal, using monthly data over 20 years — 240 observations. Because each 12-month window overlaps the next by 11 months, neighbouring observations share almost all their data. Assumption 6 is badly broken.

Step 1 — count real information. Non-overlapping 12-month windows over 20 years number 240/12=20240/12 = 20. That is roughly your effective sample size.

Step 2 — see what it does to the error bar. Standard errors shrink like 1/n1/\sqrt{n}, so pretending you have 240 observations when you have about 20 understates them by

24020=12=3.46.\sqrt{\frac{240}{20}} = \sqrt{12} = 3.46 .

Step 3 — redo the verdict. A reported t-statistic of 3.0 becomes 3.0/3.46=0.873.0 / 3.46 = 0.87. What looked like a discovery is indistinguishable from noise, and the coefficient itself never moved — only the honesty of the error bar changed. This is a Group B failure in its purest form, and the standard repair is Newey-West HAC Standard Errors.

What this means in practice

Run three checks on every regression before you quote it. Plot residuals against fitted values, which catches wrong shape and uneven noise in one glance. Plot residuals against time or in order, which catches leakage between observations. And ask, out loud, what is in ε\varepsilon that might also drive xx — the question no plot can answer, and the one that matters most.

Then match the fix to the group. Wrong shape means change the model: add a squared term, take logs, split the sample. Something omitted that correlates with xx means find the missing variable, use a control, or find an instrument. Uneven noise or leakage between observations means keep the coefficient and swap the standard-error formula — a one-line change that costs you nothing.

In finance you should assume Group B is broken by default. Volatility clusters, returns overlap, firms in the same sector move together. Robust and clustered standard errors are the norm on a desk, not a special treatment.

The classic confusion is treating all violations as equally alarming and reaching for the same fix. Heteroskedasticity does not bias your coefficient — using robust standard errors and moving on is correct. An omitted variable does bias it — and no standard-error correction on earth will save you, because the point estimate itself is wrong. A high R2R^2 certifies neither.

Before trusting any regression, say the sentence: "the things I left out are unrelated to the thing I am measuring." If you cannot say it with a straight face, the coefficient is not a causal effect, whatever its t-statistic.

Once you can name which assumption broke, the repairs are individually simple: see Residual Diagnostics and Diagnostic Plots for the checks and The Gauss–Markov Theorem for what the assumptions buy you when they hold.

Related concepts

Practice in interviews

Further reading

  • Wooldridge, Introductory Econometrics (ch. 2-5)
  • Angrist & Pischke, Mostly Harmless Econometrics (ch. 3)
ShareTwitterLinkedIn