Heteroskedasticity: What It Is, Why It Matters, and How to Fix It

August 4, 2026

Heteroskedasticity

Your coefficients are fine — but your standard errors are lying to you

What even is heteroskedasticity?

Let’s start with an analogy. Imagine you’re trying to predict how much money people spend on food. For someone earning £1,000 a month, you can predict pretty confidently — they’ll spend maybe £200–£250 on food. Not much room to vary when you’re on a tight budget.

Now try predicting food spending for someone earning £20,000 a month. Could be £300. Could be £3,000. Fine dining every night or cooking at home — hard to say. The uncertainty is much wider.

That variation in the spread of your predictions as your explanatory variable changes? That’s heteroskedasticity. It literally means “different spread” (hetero = different, skedastic = spread).

The opposite — where the spread is roughly constant across all values of your variables — is homoskedasticity, which OLS assumes by default.

Now here’s the important bit: heteroskedasticity doesn’t make your regression coefficients wrong. Your estimate of “how much income affects food spending” is still fine. But it makes your standard errors wrong — which means every t-test, every p-value, every confidence interval you report is incorrect. And since hypothesis testing is how economists decide what matters, that’s a serious problem.

📖 Key Terms Homoskedasticity: The error variance is constant across all observations — what OLS assumes. Var(εᵢ|X) = σ² for all i. Heteroskedasticity: The error variance changes across observations. Var(εᵢ|X) = σᵢ² — different for each i. Robust standard errors (Huber-White): A way to calculate correct standard errors even when heteroskedasticity is present. Doesn’t change your coefficients — just fixes the SEs. WLS (Weighted Least Squares): An alternative estimator that corrects for heteroskedasticity by giving less weight to noisier observations. Breusch-Pagan test: A formal statistical test for heteroskedasticity. White test: A more general test for heteroskedasticity that doesn’t assume a specific form.

Where does heteroskedasticity come from in economics?

It’s everywhere. Here are the most common sources:

  • Income and spending data: As income rises, discretionary spending becomes more variable. Rich people’s spending is harder to predict than poor people’s. Classic fan-shaped residual pattern.
  • Cross-country regressions: The US economy has huge GDP variance. Luxembourg has tiny GDP variance. If you throw both in the same regression, your residuals will be much more spread out for large countries.
  • Firm-size data: Large firms have wildly variable profit margins. Small firms are more predictable. Mix them in a regression — heteroskedasticity.
  • Time series of learning: Early periods of a new technology or policy are unpredictable (high variance). Later periods stabilise (lower variance).

Why does it matter — let’s see the maths

The OLS variance formula (what software uses to compute your standard errors) is:

What software assumes (homoskedastic): Var(β̂) = σ²(X’X)⁻¹

What’s actually true (heteroskedastic): Var(β̂) = (X’X)⁻¹(X’ΩX)(X’X)⁻¹

where Ω captures the different variances for each observation

When these two are different — and they are, under heteroskedasticity — your t-statistics are wrong. You might think you have a t-stat of 3.2 (highly significant!) when the true t-stat should be 1.4 (not significant). Or vice versa. The direction of the error depends on the pattern of heteroskedasticity.

The practical consequence: you can systematically over-report significant results (or miss real ones) purely because of heteroskedasticity in your residuals.

Step 1 — Look at your residuals

Before any formal test, just plot the residuals. The eye is surprisingly good at spotting heteroskedasticity.

You’re looking for a “fan shape” or “funnel shape” — where the spread of residuals grows (or shrinks) as the fitted values increase.

Residual

│ · ·
│ · · ·
│ · · ·
│ · ·
0 │──────────────────→ Fitted value
│ · ·
│ · ·
│ · · ·
│ · · ↑ Fan shape = heteroskedasticity

If the residuals look like a random cloud with roughly equal spread throughout — you probably have homoskedasticity. If they fan out — you have heteroskedasticity and need to address it.

Step 2 — Formal tests

The Breusch-Pagan Test (1979)

The idea: if heteroskedasticity is present, then your squared residuals (êᵢ²) should be predictable from your regressors. If variance is constant, the squared residuals should be random noise — no systematic pattern. Breusch-Pagan tests this directly:

  1. Run your original OLS regression. Get the residuals êᵢ.
  2. Square them: ũᵢ = êᵢ²
  3. Regress ũᵢ on all your X variables.
  4. Test statistic = n × R² from that regression. Under H₀ (homoskedasticity), this follows a chi-squared distribution with degrees of freedom = number of regressors.
  5. Big test statistic → reject H₀ → heteroskedasticity present.

LM = n × R²auxiliary ~ χ²(k)

k = number of regressors. Critical value at 5%: χ²(2) = 5.99 for two regressors.

The White Test (1980)

The Breusch-Pagan test looks for a simple linear relationship between variance and regressors. The White test goes further — it also includes squared terms and interaction terms, detecting more complex patterns of heteroskedasticity. It uses more degrees of freedom but is more general.

Both tests are widely used. Report both if you’re being thorough.

Step 3 — Fix it

Option A: Robust Standard Errors (the easy, modern solution)

This is what most applied economists use today. You don’t change your regression at all — you just use a different formula for the standard errors that’s correct under heteroskedasticity. Halbert White (1980) derived this “sandwich” formula:

Robust = (X’X)⁻¹ [Σᵢ êᵢ² xᵢxᵢ’] (X’X)⁻¹

The “sandwich” — (X’X)⁻¹ is the bread, Σ êᵢ²xᵢxᵢ’ is the filling

Same coefficients. Different (correct) standard errors. In Stata: just add , robust after your regression command. In R: use coeftest(model, vcov=vcovHC(model)).

In modern applied economics, most cross-section regressions use robust SEs as a default — not an afterthought.

Option B: Weighted Least Squares (WLS)

If you know the structure of heteroskedasticity — say, variance is proportional to income — you can use WLS. The idea: give higher weight to observations you trust (low variance) and lower weight to noisy ones (high variance).

Mechanically, multiply every variable (including the constant) by √w where w is the weight. Then run OLS on the transformed data. If your weights are right, WLS gives you smaller standard errors than robust OLS — it’s actually efficient. If your weights are wrong, WLS can be worse than just using robust SEs.

Option C: Log transformation

For economic variables that are always positive (wages, prices, GDP, house prices), taking the logarithm often dramatically reduces heteroskedasticity. When variance is proportional to the mean (common in economic data), logging the variable gives roughly constant variance. Bonus: log specifications also have natural economic interpretations as elasticities and growth rates.

📋 Case Study: Income and Life Expectancy Across Countries

The Preston Curve — and a Heteroskedasticity Problem

Samuel Preston (1975) documented one of the most famous relationships in health economics: richer countries have higher life expectancy. The “Preston curve” plots life expectancy against GDP per capita across countries.

If you run this regression in levels (not logs) across 120 countries, you get classic heteroskedasticity:

  • Poor countries (GDP per capita < $5,000): huge scatter in life expectancy — some countries have life expectancy of 45, others 70, at similar income levels.
  • Rich OECD countries (GDP > $40,000): very tight clustering around 78–85 years. Little variation.

A White test on this regression gives LM > 20 with p < 0.001 — strongly rejecting homoskedasticity. Your standard errors in the levels regression are wrong.

How economists fix this:

  • Log transformation: Regress life expectancy on log(GDP per capita). This linearises the Preston curve and reduces heteroskedasticity dramatically. R² improves from ~0.60 to ~0.75.
  • Robust SEs: Using White-robust standard errors on the levels regression corrects inference. Without them, the standard errors are typically understated by 30–50%.
  • WLS by population: Weighting countries by population size changes the estimates significantly — the income-health relationship is weaker when India and China (with their huge populations) receive appropriate weight.

Deaton (2013) used exactly these methods in his cross-country health research, noting that the choice between OLS, robust-SE OLS, and WLS can genuinely change your substantive conclusions about income and health — not just the precision.

Sources: Preston, S.H. (1975). Population Studies. Deaton, A. (2013). The Great Escape. Princeton University Press.

✏️ Practice Questions

Question 1

A regression of log(wages) on education and experience uses n = 500 observations. The Breusch-Pagan auxiliary regression has R² = 0.044. Is there evidence of heteroskedasticity at the 5% level?

👀 Show Answer

LM = n × R² = 500 × 0.044 = 22.0

Under H₀, LM ~ χ²(2) (two regressors). Critical value at 5% = 5.99.

Since 22.0 ≫ 5.99, we strongly reject H₀. There is significant evidence of heteroskedasticity.

Action: Re-estimate using robust (White) standard errors. The coefficients stay the same but the SEs — and therefore the t-statistics and p-values — will change. Results declared significant under OLS may no longer be, or vice versa.

Question 2

Why does heteroskedasticity not bias OLS coefficients, but does make the standard errors wrong? Explain in plain English.

👀 Show Answer

Coefficients stay unbiased: OLS estimates the slope by finding the line that minimises squared errors. This process doesn’t require error variance to be constant — it just requires the errors to average out to zero (zero conditional mean). Heteroskedasticity affects how spread out the errors are, not their average. So OLS still finds the “right” slope on average — it’s unbiased.

Standard errors go wrong: Standard errors measure how uncertain your slope estimate is. The OLS formula for SEs assumes all observations contribute equally to your precision — it uses a single σ² for every observation. But if some observations have much higher variance than others (heteroskedasticity), this assumption is wrong. High-variance observations should contribute less to precision — but the OLS formula treats them equally. The result: your computed SEs may be too small (you think you’re more certain than you are) or too large. Either way, the t-statistics are wrong, and your hypothesis tests are unreliable.

Question 3 — Exam Style

A study of household food spending (Y) on income (X) shows a fan-shaped residual plot — scatter widens as X increases. (a) What is this problem called, and which OLS assumption does it violate? (b) Suggest two corrections and explain when each is more appropriate.

👀 Show Answer

(a) This is heteroskedasticity — specifically, variance increasing with income (a common pattern). It violates Gauss-Markov Assumption 4: homoskedasticity (constant error variance, Var(εᵢ|X) = σ² for all i).

(b)

Correction 1 — Robust (White) Standard Errors: Keep the OLS estimates exactly as they are but replace standard errors with White-robust SEs. Best when: (i) you don’t know the exact form of heteroskedasticity; (ii) sample size is large enough for asymptotic properties to hold; (iii) you want to keep comparing results to previous studies. Limitation: less efficient than WLS if you correctly specify the variance structure.

Correction 2 — Log Transformation: Regress log(Y) on log(X) instead of levels. For spending data, variance often scales with income levels, so logging both variables produces roughly constant residual variance. Best when: (i) the economic relationship is naturally multiplicative (expenditure shares); (ii) interpreting elasticities (% change in spending per % change in income) is meaningful. Limitation: you can’t use log if Y or X can be zero or negative; changes the economic interpretation of coefficients.

🎯 Summary

  • Heteroskedasticity means the variance of your residuals isn’t constant — it changes across observations. Very common in economic data.
  • It doesn’t make your OLS coefficients wrong (they’re still unbiased) — but it makes your standard errors wrong, which breaks all your hypothesis tests.
  • Spot it visually with a residual plot (fan shape = heteroskedasticity). Confirm formally with Breusch-Pagan or White tests.
  • The easiest fix in modern practice: robust (White/Huber) standard errors. Same coefficients, correct SEs. Should be the default for cross-section data.
  • If you know the structure of the heteroskedasticity: Weighted Least Squares gives more efficient estimates.
  • Log transformation often eliminates heteroskedasticity for positive economic variables — and gives you bonus elasticity interpretation.

📚 References & Further Reading

  1. White, H. (1980). A heteroskedasticity-consistent covariance matrix estimator. Econometrica, 48(4). — The foundational paper on robust SEs. Mathematical but important.
  2. Breusch, T.S. & Pagan, A.R. (1979). A simple test for heteroskedasticity. Econometrica, 47(5). — The original BP test paper.
  3. Angrist, J.D. & Pischke, J.S. (2009). Mostly Harmless Econometrics. Princeton University Press. — Excellent practical guide on when and why to use robust SEs. Very readable.
  4. Deaton, A. (2013). The Great Escape. Princeton University Press. — Applies these methods to real health and income data across countries.
  5. Preston, S.H. (1975). The changing relation between mortality and economic development. Population Studies, 29(2).
  6. Wooldridge, J.M. (2019). Introductory Econometrics (7th ed.). Cengage. — Chapters 8 and 9 cover heteroskedasticity clearly and thoroughly.
]]>

Related Posts