# Check nonlinearities in a simple linear regression model

Is it true that in order to check for possible nonlinearities in a simple linear regression model like $E[Y_i]=\beta_1+\beta_2X_i$, with $X_i$ scalar and nonrandom.

We regress the LS residuals $\hat U_i=Y_i-\hat\beta_1-\hat\beta_2X_i$ (all of them are estimators) on the squared values $X_i^2$ of the regressors. If the true regression model is quadratic, then by the Frisch-Waugh theorem this second step regression yields an unbiased estimator of $\beta_3$, but the original LS estimates of $\beta_1$ and $\beta_2$ will be biased in general?

• FWL is just a computational/theoretical device, so I cannot see how it can help establish unbiasedness. – Christoph Hanck Oct 20 '16 at 6:16
• @J.doe Minor point: you're missing a \ in front of "beta_2". – Ami Tavory Oct 20 '16 at 7:19

What you seem to be proposing does not seem to correspond to a FWL-based strategy to compute $\hat\beta_3$ in the model $$Y_i=\beta_1+\beta_2X_i+\beta_3X_i^2+U_i$$ If this model is indeed the correct one, then either OLS on this model would be an unbiased estimation strategy for $\beta_3$, or of course FWL, as it is numerically equivalent to OLS.

Now, FWL to compute $\hat\beta_3$ would entail to first partial out the remaining regressors, i.e., in a regression of $Y_i$ on a constant and $X_i$ and in a regeression of $X_i^2$ on a constant and $X_i$, to then use the residuals of these two regressions for a third regression. The coefficient of that regression would be $\hat\beta_3$.

Your strategy, in turn, takes residuals of a regression for $Y_i$ only and does not partial out the effect of the constant and $X_i$ in $X_i^2$, which leads to other and hence - I did not think that through in detail - biased estimates.

Here is a little illustration:

# generate some data
n <- 100
X <- runif(n)
Xsq <- X^2
y <- rnorm(n)

OLS <- lm(y ~ X + Xsq)
coef(OLS)
(Intercept)           X         Xsq
0.4905833  -2.1985898   1.6743698

# FWL
FWL.first.stage.Y <- lm(y ~ X)
Uhat <- FWL.first.stage.Y$residuals FWL.first.stage.Xsq <- lm(Xsq ~ X) FWL.second.stage <- lm(Uhat ~ FWL.first.stage.Xsq$residuals-1)
coef(FWL.second.stage) # same as above
FWL.first.stage.Xsq\$residuals
1.67437