# st: 3 equations, 2 endogenous Variables, 1 endogenous variable related to the other.

 From Jason Kuruzovich To Subject st: 3 equations, 2 endogenous Variables, 1 endogenous variable related to the other. Date Wed, 02 Dec 2009 20:47:15 -0500

Title: 3 equations, 2 endogenous Variables, 1 endogenous variable related to the other.
I have a system of equations that I’m trying to model in which there are 2 endogenous variables and one endogenous variable is a function of the other endogenous variable.

I’ve adapted by situation to a commonly available dataset, with associated stata code below:

Lw = f(s,expr,med, iq, tenure)
Iq = f(s,expr, med, kww)
tenure = f(iq, s, expr, med, age)

Here age is an instrumental variable for tenure and kww is an instrumental variable for iq (in my context I have good exogenous lags as instruments).  The Ivs are strong and pass all tests from IVREG2.

The key difference that I see from most examples is that IQ also predicts tenure as well as lw.  Because IQ also predicts LS, it seems that I can’t use IVREG2, as all predictors are must be the same for all first stage equations.

When calculating this I get very similar results when using ivreg2 (even though the model doesn’t quite match my specification) and similar results between reg3 with 2sls and reg3 with 3sls.  I was wondering if anyone could clarify, as it would be much appreciated.  Especially (1) is 2sls valid as specified through reg3 (I would like to stick with 2sls because of the associated instrumental variable tests).  If not, is the 3sls specification valid?  If not, is there any way to specify this model?

*This example is used to demonstrate my situation.
clear
est clear
use http://fmwww.bc.edu/ec-p/data/hayashi/griliches76.dta
quietly reg3 (lw=s expr med  iq tenure) (iq=s expr med kww ) (tenure = iq s expr med age), 2sls
est store reg32sls
quietly reg3 (lw=s expr med  iq tenure) (iq=s expr med kww ) (tenure = iq s expr med age), 3sls
est store reg33sls
quietly ivreg2 lw s expr med (tenure iq=kww age), first
est store ivreg2
quietly reg iq s expr med kww
est store byhand0
rename iq iq_was
predict iq
quietly reg tenure iq s expr med age
est store byhand1
rename tenure tenure_was
predict tenure
quietly reg lw s expr med tenure iq
est store byhand2
estout *, cells(b(star fmt(3)) t(par fmt(2)))