Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: Simultaneous Equations Models/Inverse Mills

From   "Renzo Comolli" <>
To   <>
Subject   Re: st: Simultaneous Equations Models/Inverse Mills
Date   Mon, 22 Sep 2003 23:34:13 -0400

Hi Danny,

Your email is full of questions
I try to answer some of them, to the best of my knowledge, but be advised
that I am NOT an expert
My best advice is to type
. help heckman
. help hausman 
and start from there (it is convenction of this list to put a dot before
commands you can type as is in stata, but you have to type them without the
In the stata manual there is much more (the volueme called reference G-M),
you should really try to read the manual with a professor or a teaching
assistant to help you

>>I was wondering if is a way to test endogeneity in the following model
>>Y1= a0 + a1Y1 + a3X2 + e1
>>Y2 = a0 + a2Y2 + a4X2 +e1

Either there are a lot of typos, or the system is not identified and don't
think there is anything you can do.

If you mean a Heckman type model, then it should look more like this
Y1= a0        + a3X2 + e1
Y2= b0 + b1X3 + a4X2 + e2 

>>Y1 is continuous, Y2 is binary
Y1 is observed only if Y2 is positive and suitable assumption on errors,
Than this is the standard Heckman Two-steps set up

. heckman Y1 X2, twostep select(X2 X3)
Stata by default considers the constant, so you are all set with that.

The test for endogeneity is computed automatically by stata in the Heckman
procedure. It is that Prob>chi2 at the very bottom, if that is 0.000 it
means it is quite definitely endogenous (better, it is endogenous with a
significance level that is so small that the machine cannot compute it, i.e.
a confidence level so close to 1 that the machine cannot compute it). If
Prob>chi2 0.049999 or smaller, then it is significant at 5%, confidence 95%.
If Prob>chi2 0.099999, significant 10%, confidence 90%

>>I want to estimate a Cragg model, but I want to do it manually rather
>>than through the heckman procedure because I need the inverse mills ratio
>>for another equation.
>>Is there any way to compute and save the "inverse mills ratio" from a
>>equation in Stata?
I have a good news.
You can both use the preprogrammed command for heckman and ask stata to
remember the inverse mills ratio
You just write exactly what I wrote above with the following added option
. heckman Y1 X2, twostep select(X2 X3)

This line, on top of doing all the rest also saves the inverse mills ratio
in a variable called these_are_inverse_mills_ratio_for_Dany

For your other model
>>Y1 and Y2 are binary (probit)
I would do the following (BUT!! the validity of this procedure needs to be
verified either with books or prof or TA)
Obtain the inverse mills ratio exactly as before
. heckman Y1 X2, twostep select(X2 X3)
Then run a probit on X2 and the inverse mills ratio as follows
. probit Y1 X2 these_are_inverse_mills_ratio_for_Dany

>>I know there is the Hausman test but this only applies to OLS I believe.
Is there anything else out there?
No, the Hausman test is WAY more general than that.
.help hausman
explains a little bit more.
On the other hand, if your plan were to use the Hausman test to chose
between your two models
>>a. Y1 and Y2 are binary (probit)
>>b. Y1 is continuous, Y2 is binary
I don't think it is going to work.

The funny thing is that you might not have many any of this at all -
unfortunately, it comes to my mind only now :(
You might have meant

Y1= a0 + a1Y2 + a2X2        + e1
Y2= b0 + b1Y1        + b3X3 + e2
I.e. what you could have meant is that the X are different
If that is what you meant, then the route to follow is quite different. Let
us know.


*   For searches and help try:

© Copyright 1996–2022 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index