Thursday, February 7, 2013
2SLS with multiple endogenous variables
* I am wondering if when using 2SLS you must use a multivariate OLS in the reduced form or if you can just do each individual endogenous variable.
* Let's see!
set obs 10000
* First generate the instruments
gen z1 = rnormal()
gen z2 = rnormal()
* Now the error. u1 and u2 are the parts of w1 and w2 correlated with the error u.
gen u1 = rnormal()
gen u2 = rnormal()
gen u3 = rnormal()*3
gen w1 = 1*z1 + .5*z2 + rnormal() + 2*u1
gen w2 = -.5*z1 + 1.5*z2 + rnormal() - 2*u2 + .2*u1
gen u = u1 + u2 + u3
gen y = 4 + w1*1 + w2*1 + u
* We can see because u is correlated with w1 and w2, OLS will be biased and inconsistent.
reg y w1 w2
* Instrumental variable regression could solve this problem
ivreg y (w1 w2 = z1 z2)
* Let's see about our 2SLS (which should be the same as IV)
reg w1 z1 z2
reg w2 z1 z2
reg y w1_hat w2_hat
* It seems that 2SLS using separate regressors is producing the same results.
* This is probably because in SOLS if you use the same regressors then I think the coefficients are the same but the standard errors may be adjusted for cross equation correlations (I think I recall).