Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: RE: overidentification test after treatreg
From
Xiang Ao <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: RE: overidentification test after treatreg
Date
Mon, 25 Oct 2010 09:58:54 -0400
Thanks, Mark, that's a good explanation.
Xiang
On 10/22/2010 02:36 PM, Schaffer, Mark E wrote:
Xiang,
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Xiang Ao
Sent: 22 October 2010 19:10
To: [email protected]
Subject: Re: st: RE: overidentification test after treatreg
Hi Mark,
Thanks for the explanation. One other question I have on your example
"turn = a + b*foreign + c*mpg
foreign = d + e*mpg
The just-identified system is
turn = a + b*foreign
foreign = d + e*mpg"
is that here we have only one excluded instrument (mpg). My
understanding of overidentification test is that you'll have
to have multiple excluded instruments to do it. But I might be wrong.
In linear models, the only kind of identifying restrictions are
exclusion restrictions, in which case you are right. But with treatreg,
the assumption of normality is also an identifying restriction. One
exclusion restriction + normality means the model is overidentified, so
an overid test is possible.
Regarding to my gmm code, I thought about it: it could be
that the two moment conditions I specified:
E(lambda*z)=0 (for probit)
E(residual*x)=0 (for second stage OLS)
They do not specify the relationship between two equations.
In MLE, the two equations are related by rho (correlation
between two errors). That might be problematic.
Still haven't had a chance to look at it properly. But let us know if
you solve it.
--Mark
Xiang
On 10/22/2010 01:37 PM, Schaffer, Mark E wrote:
Xiang,
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Xiang Ao
Sent: 22 October 2010 18:06
To: [email protected]
Subject: Re: st: RE: overidentification test after treatreg
Thank you, Mark, for the prompt reply. I guess my
question is still
why this would tell you the robustness of instruments?
It tells you only what any overidentification test tells
you, namely,
are the identifying restrictions supported by the data?
The reason we can do a LR test is because of the
nonlinearity of the
selection process (probit).
True. The probit selection equation means there's only one way to
specify a just-identified model.
Think of
a 2sls setting, we cannot do something like that since
there has to
be excluded instrument(s), otherwise it's unidentified.
Not so. The standard Hansen-Sargan overid test is the same
thing as a
GMM distance test between an overidentified model and a
just-identified model. We're doing the same thing, transplanted to
treatreg/probit/LR-land.
In treatreg, you can have no excluded instruments simply
because it's
nonlinear. The only identification is through the normality
assumption. If your rationale holds, we should be able to
do this LR
test for any nonlinear model with endogenous regressors, as an
overidentification test.
True! But I'd be interested to know if others agree.
Also, do you have any idea what went wrong with my gmm codes?
Sorry, I had only a quick look but couldn't work it out.
--Mark
Thanks,
Xiang
On 10/22/2010 11:19 AM, Schaffer, Mark E wrote:
Xiang,
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf
Of Xiang Ao
Sent: 22 October 2010 15:10
To: [email protected]
Subject: st: overidentification test after treatreg
Dear Statalisters,
I have a question on how to do a Sargan's test after
treatreg. I
found Mark Schaffer's comments on this question from 2006:
http://www.stata.com/statalist/archive/2006-08/msg00804.html
In the reply, Mark suggested using a LR test between a
full model
with all instruments in the second stage and a regular treatreg.
My question
is: this only tests the hypothesis that all excluded instruments
jointly being zero, how would that tell us the robustness of
instruments, as Sargan's test would do in an ivreg setting?
Mark kindly replied to my email to him and suggested posting to
statalist to get more inputs.
I am thinking of using gmm to frame the treatreg problem, then
Jansen's J would be a byproduct. However, my code with
gmm does not
generate consistent estimates with treatreg, which I am
sure is due
to my lack of knowledge on this. I post my code here; any
suggestion
is greatly appreciated.
sysuse auto, clear
global xb "{b1}*gear_ratio + {b2}*length + {b3}*headroom + {b0}"
global phi "normalden($xb)"
global Phi "normal($xb)"
global lambda "foreign*$phi/$Phi - (1-foreign)*$phi/(1-$Phi)"
global xb2 "{c1}*gear_ratio + {c2}*length +
{c3}*headroom + {c0} +
{c5}*foreign"
gmm (eq1: $lambda) (eq2: turn-$xb2), instruments(eq1:
gear_ratio length
headroom mpg) instruments(eq2: gear_ratio length headroom
foreign )
winitial(unadjusted, independent) wmatrix(unadjusted)
This is to try to estimate the same model as:
treatreg turn gear_ratio length headroom,
treat(foreign=gear_ratio
length headroom mpg)
Here was my rationale for how to do an overid test using an LR
statistic. As I wrote it in that Statalist post from
2006 that you
cite, I think I got it wrong. Here's my next attempt:
Consider a slightly simplified version of your treatreg model:
treatreg turn, treat(foreign=mpg)
There are two overidentifying restrictions. First, mpg
appears in the
treatment equation (foreign) but not in the outcome
equation (turn).
Second, normality is also an identifying restriction, much
in the same
way as normality can be used in a Heckman selection model as an
identifying restriction.
Now consider your treatreg model, but with mpg as a
regressor in the
outcome equation:
treatreg turn mpg, treat(foreign=mpg)
This second version is just-identified, with normality as
the sole
identifying restriction.
So, the following should be an LR test of the overidentifying
restrctions in your original model:
treatreg turn, treat(foreign=mpg)
est store troverid
treatreg turn mpg, treat(foreign=mpg) est store trjustid lrtest
troverid trjustid, df(1)
I should also note that this is a system test. The
overidentified
system is (pardon the terrible shorthand notation):
turn = a + b*foreign + c*mpg
foreign = d + e*mpg
The just-identified system is
turn = a + b*foreign
foreign = d + e*mpg
And your overid test is an LR test of c=0.
I *think* this is right, but perhaps you or others on the
list could
comment.
Cheers,
Mark
But they don't match.
Thank you for your time,
Xiang
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/