I am trying to verify the expression for Omitted Variable Bias (OVB) as given e.g. in Wooldridge: $\tilde{\beta_1} = \hat{\beta_1} + \hat{\beta_2} \cdot \tilde{\delta_1}$, where $\tilde{\delta_1}$ is the estimated slope of the regression of $x_2$ on $x_1$.

Choosing the housing price data (hprice1.gdt) from Wooldridge available for gretl, I obtain the following estimates for the relevant regression coefficients:

Model1 (price ~ sqft)
  const       11.2041         
  sqrft       0.140211                

Model2 (price ~ sqft + bdrms)
  const       -19.315       
  sqrft       0.128436                
  bdrms       15.1982                 

Model3 (bdrms ~ sqft)
  const       2.00808       
  sqrft       0.000774748             

So $\tilde{\beta_1}=0.140211$, $\tilde{\delta_1} = 0.000774748$, $\hat{\beta_2}=15.1982$ and $\hat{\beta_1}=0.128436$

But these values do not quite match the expression from above: $0.124836+15.1982*0.000774748 = 0.1366108 \neq 0.140211$

Where is my misunderstanding ? Is the formula above valid only in the limit of infinite sample size?


3 Answers 3


Where is my misunderstanding ? Is the formula above valid only in the limit of infinite sample size?

The formula is valid and exact for all sample sizes. Your misunderstanding is a simple typo, there's no misunderstanding at all.

When you wrote:

But these values do not quite match the expression from above: $0.124836+15.1982*0.000774748 = 0.1366108 \neq 0.140211$

Somehow you put $0.124836$ instead of $0.128436$ switching the $4$ for the $8$. Fixing the typo gives you the expected result:


The proof is rather simple. Let $Y$ denote price, $X$ denote sqrft and $Z$ denote bdrms. Then:

$$ \tilde{\beta}_1 = \frac{cov(X, Y)}{var(X)}= \frac{cov(X, \hat{\beta}_1X + \hat{\beta}_2Z + \hat{\epsilon})}{var(X)} = \hat{\beta}_1 + \hat{\beta}_2\frac{cov(X, Z)}{var(X)} = \hat{\beta}_1+ \hat{\beta}_2\tilde{\delta}_1 $$

Where we know $cov(X, \hat{\epsilon}) = 0$ by construction in OLS and $\frac{cov(X, Z)}{var(X)}$ is the coefficient of regressing $Z \sim X$ which we are denoting for $\tilde{\delta}_1$.

This relationship is exact and just a simple property of the algebra of OLS.

If you want to manually check this in R, there's a package called wooldridge with all the datasets from the textbook:

coef(lm(price ~ sqrft, hprice1))[2]
#  sqrft 
# 0.140211 
coef(lm(price ~ sqrft + bdrms, hprice1))[2] + 
  coef(lm(price ~ sqrft + bdrms, hprice1))[3]*coef(lm(bdrms ~ sqrft , hprice1))[2]
#  sqrft 
# 0.140211 
  • 1
    $\begingroup$ Thanks a lot, I am embarrassed at the typo! What a keen eye to point this out almost 4 years later ! $\endgroup$ Nov 8, 2017 at 10:31

As pointed out in the comments to an older incorrect version of this answer, the relation is exact.

We assume the correct specification is (matrix notation, lowercase is column vector)

$$ y = X_1\beta_1 + \beta_2x_2 + \varepsilon \tag{1}$$

where we have subsumed the series of $1$'s in $X_1$ (which is now a matrix with two columns, while $\beta_1$ is a column vector with two columns including also the constant), and with the error term being mean-independent from the regressors, $E(\varepsilon\mid X_1, x_2) = 0$.

Assume that we run this regression. We will obtain coefficient estimates and a series of residuals. Then, copying from the comment, it holds that

$$y = X_1 \hat{\beta}_1 + x_2 \hat{\beta}_2 + \hat{\varepsilon} \tag{2}$$

Assume now that we ignore the $x_2$ regressor and we estimate

$$y = X_1\beta_1 + u \tag{3}$$

then $\tilde \beta_1 = \left(X_1'X_1\right)^{-1}X_1' y $ and using $(2)$

$$\tilde \beta_1 = \left(X_1'X_1\right)^{-1}X_1' X_1 \hat{\beta}_1 + \left(X_1'X_1\right)^{-1}X_1'x_2 \hat{\beta}_2 + \left(X_1'X_1\right)^{-1}X_1'\hat{e} \tag{4}$$

But by construction, $\left(X_1'X_1\right)^{-1}X_1'\hat{e} = 0$, so we are left with

$$\tilde \beta_1 = \hat{\beta}_1 + \left(X_1'X_1\right)^{-1}X_1'x_2 \hat{\beta}_2 \tag{5}$$

Then note that $\left(X_1'X_1\right)^{-1}X_1'x_2 = \tilde \delta_1$ from the specification

$$x_2 = X_1\delta_1 + \epsilon \tag{6}$$

so we end up with (for which we assume that there are no other variables that covary with both $X_1$ and $x_2$ and so that $\tilde \delta_1$ is a consistent estimator), and so

$$\tilde \beta_1 = \hat \beta_1 + \tilde \delta_1 \hat \beta_2 \tag{7}$$

This is exact. Since in all the above calculations $\beta_1$ and $\delta_1$ include two coefficients, the exact relationship is

$$(\tilde \beta_{10}, \tilde \beta_{11}) = (\hat \beta_{10}, \hat \beta_{11}) + (\tilde \delta_{10}, \tilde \delta_{11})\hat \beta_2$$

where the second zero subscript indicates the estimate for the constant term.

So we have to check

$$\tilde \beta_{10} = 11.2041 = \hat \beta_{10} + \tilde \delta_{10}\hat \beta_2 = -19.315 + 2.00808\cdot 15.1982 = 11.2042$$

$$\tilde \beta_{11} = 0.140211 = \hat \beta_{11} + \tilde \delta_{11}\hat \beta_2 = 0.128436 + 0.000774748\cdot 15.1982 = 0.1402107$$

and we're good. The OP made a simple mistake in punching the numbers in the calculations (he used $0.124836$ instead of the correct one $0.128436$).

  • $\begingroup$ This is not correct Alecos, the relationship is exact for all sample sizes, it's simply FWL theorem. $\endgroup$ Nov 6, 2017 at 16:48
  • $\begingroup$ @CarlosCinelli I think I am missing something, I don't see why it is exact, since there are the components that include the true error term. I re-worked my answer, please see whether you can help me understand this. $\endgroup$ Nov 6, 2017 at 18:22
  • $\begingroup$ Ignore the true error term for now and think about comparing two different orthogonal decompositions of $Y$, one including $X_2$ and the other not including $X_2$. $\endgroup$ Nov 6, 2017 at 18:24
  • $\begingroup$ @CarlosCinelli I will, but in the meantime, there is a simple issue here: Is equation $(9)$ above wrong? If it is correct, then $(10)$ is also correct. If $(9)$ is wrong, I cannot see where is the mistake in deriving it. $\endgroup$ Nov 6, 2017 at 18:32
  • $\begingroup$ Write (1) as $y = X_1 \hat{\beta}_1 + x_2 \hat{\beta}_2 + \hat{e}$ which is the orthogonal decomposition you get for $y$ regressing it on $X_1$ and $x_2$. Notice $\hat{e}$ is orthogonal to $X_1$ and $x_2$ by construction. Now $\tilde{\beta}_1 = \left(X_1'X_1\right)^{-1}X_1' y = \left(X_1'X_1\right)^{-1}X_1' X_1 \hat{\beta}_1 + \left(X_1'X_1\right)^{-1}X_1'x_2 \hat{\beta}_2 + \left(X_1'X_1\right)^{-1}X_1'\hat{e}$. Since $\left(X_1'X_1\right)^{-1}X_1'\hat{e} = 0$ and $\left(X_1'X_1\right)^{-1}X_1'x_2 = \tilde{\delta_1}$ we have $\tilde{\beta}_1 = \hat{\beta_1} + \tilde{\delta_1}\hat{\beta_2}$ $\endgroup$ Nov 6, 2017 at 19:02

I'm looking at the Wooldridge textbook 2006 international version, where on p.96 in equ. 3.45 it says: $E(\tilde{\beta_1}) = E(\hat{\beta_1})+E(\hat{\beta_2}) \tilde{\delta_1}$.

This is compatible with the previous answer by Alecos Papadopoulos, but it is not (in general) the equation that you stated in your question, without expectation operators. That is, this relation only holds in expectation, not in any given sample. You would have to conduct a Monte Carlo simulation exercise to calculate the expectations involved (up to arbitrary precision by increasing the number of draws) and then the stated equality should show up pretty much exactly.

  • $\begingroup$ Sven this is incorrect, the relationship is exact, see my answer and my comments to Alecos answer. $\endgroup$ Nov 6, 2017 at 20:57
  • $\begingroup$ @CarlosCinelli: Good catch with the OP's typo, and my answer as formulated is certainly somewhat misleading. Nevertheless, to defend myself (and perhaps Wooldridge, too) a little more: A "bias" is a random-sampling concept and thus I would argue that a statement about a bias needs an expectation operator, it cannot be meaningfully done when you condition on one sample realization. I guess this is why in Wooldridge's texts I haven't found the equation as cited by the OP, without any expectations. But the related algebraic decomposition is certainly exact, as you reminded us. $\endgroup$
    – Sven S.
    Nov 8, 2017 at 16:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.