Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Stata 11 Random Effects--Std. Errors


From   Austin Nichols <austinnichols@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Stata 11 Random Effects--Std. Errors
Date   Sat, 22 Aug 2009 09:13:20 -0400

For example:

clear all
prog reclr, rclass
version 10.1
drawnorm x1-x10 v, n(50) clear
forv i=1/10 {
 replace x`i'=exp(x`i')
 }
g id=_n
expand 20
g e=rnormal()
bys id: replace e=e[_n-1]/2+e/2 if _n>1
g y=(x1+x2+x3+x4+x5)/5+v+e
xtreg y x1-x10, cl(id) i(id) re
test x1 x2 x3 x4 x5
return scalar c1=r(p)<.05
test x6 x7 x8 x9 x10
return scalar c0=r(p)<.05
xtreg y x1-x10, r i(id) re
test x1 x2 x3 x4 x5
return scalar r1=r(p)<.05
test x6 x7 x8 x9 x10
return scalar r0=r(p)<.05
eret clear
end
simul, seed(1) rep(10000): reclr
su

This shows rejection rates for RE of 9% for a nominal 5% alpha with
het-robust SEs but 41% with cluster-robust SEs.

Here's another example, where my preferred default does not do so well:

clear all
prog reclr, rclass
version 10.1
drawnorm x1-x10 v, n(50) clear
g id=_n
expand 20
forv i=1/10 {
 replace x`i'=exp(x`i'*4/5+rnormal()/5)
 }
g e=rnormal()
bys id: replace e=e[_n-1]*4/5+e/5 if _n>1
g y=(x1+x2+x3+x4+x5)/5+v+e
xtreg y x1-x10, cl(id) i(id) re
test x1 x2 x3 x4 x5
return scalar c1=r(p)<.05
test x6 x7 x8 x9 x10
return scalar c0=r(p)<.05
xtreg y x1-x10, r i(id) re
test x1 x2 x3 x4 x5
return scalar r1=r(p)<.05
test x6 x7 x8 x9 x10
return scalar r0=r(p)<.05
xtreg y x1-x10, i(id) re
test x1 x2 x3 x4 x5
return scalar o1=r(p)<.05
test x6 x7 x8 x9 x10
return scalar o0=r(p)<.05
xtreg y x1-x10, cl(id) i(id) fe
test x1 x2 x3 x4 x5
return scalar fec1=r(p)<.05
test x6 x7 x8 x9 x10
return scalar fec0=r(p)<.05
xtreg y x1-x10, i(id) fe
test x1 x2 x3 x4 x5
return scalar feo1=r(p)<.05
test x6 x7 x8 x9 x10
return scalar feo0=r(p)<.05
eret clear
end
simul, seed(1) rep(10000): reclr
su


On Fri, Aug 21, 2009 at 11:00 AM, Austin Nichols<austinnichols@gmail.com> wrote:
> Mark--
> I concur that getting het-robust SEs should still be possible with
> -xtreg, re-.  I wonder, for example, about the relative performance in
> smallish samples where T and N are both under 100 and there are many
> explanatory variables.  The cluster-robust SE will offer uniformly
> better performance as N goes to infinity, I suspect, but in some kinds
> of small finite samples the het-robust SE may be better, and users
> should have that option IMHO. Unless there is strong evidence that
> cluster-robust is always better than het-robust in RE models, which I
> have not seen. On the other hand, I would make cluster-robust SEs the
> default (for both FE and RE), instead of -vce(conventional)-, and make
> users spell out vce(conventional) [literally] to get that inferior
> estimator.  Of course, I would also make -fe- the default for -xtreg-
> in Stata 11.1, and make users spell out -re- to get that (more often
> inferior) estimator.  Why not help people make good choices with the
> defaults?  (I would also make het-robust SEs the default for -regress-
> and make folks specify vce(ols) for the old default.)
>
> On Wed, Aug 19, 2009 at 2:19 PM, Schaffer, Mark E<M.E.Schaffer@hw.ac.uk> wrote:
>> This is different from the reason provided by Stock-Watson (2008) for
>> FEs (see earlier in the thread).
>>
>> Stock and Watson show that for the fixed effects estimator, the usual
>> robust VCV - i.e., robust but not cluster-robust - is not consistent.
>> It's another example of the "incidental parameters" problem.  This is
>> why Stata 10 won't report it under any circumstances, including version
>> control.
>>
>> My suspicion was that this might carry over to the usual robust VCV for
>> the random effects estimator and that this was why it was dropped in
>> Stata 11, but apparently not.   Using cluster-robust with RE is
>> apparently just following standard practice in the literature.
>>
>> If so, though, then I think I'd prefer to see non-cluster robust SEs
>> available with the RE estimator through an option rather than version
>> control.
>>
>> --Mark (left scratching his head and wondering why robust and cluster
>> robust are both kosher for the RE estimator, only cluster-robust is
>> kosher for the FE estimator, Stata's PA estimator allows only robust but
>> not cluster-robust, and Stata's MLE estimator allows neither)
>>
>>
>>> -----Original Message-----
>>> From: owner-statalist@hsphsun2.harvard.edu
>>> [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of DE
>>> SOUZA Eric
>>> Sent: 19 August 2009 18:37
>>> To: 'statalist@hsphsun2.harvard.edu'
>>> Subject: RE: st: Stata 11 Random Effects--Std. Errors
>>>
>>> To add more detail:
>>> Two of the assumptions underlying the random effects model are that:
>>> 1. the unobservable effects are not correlated with the
>>> explanatory variables 2. the residuals have the random
>>> effects structure The second assumption is not required for
>>> consistency.
>>> Wooldridge's argument is: then why impose it. "With fixed T
>>> and large N asymptotics, we lose nothing in using robust
>>> standard errors and test statistics even if [the random
>>> effects error structure] holds".
>>>
>>> Eric
>>>
>>>
>>> Eric de Souza
>>> College of Europe
>>> Brugge (Bruges), Belgium
>>> http://www.coleurope.eu
>>>
>>> -----Original Message-----
>>> From: owner-statalist@hsphsun2.harvard.edu
>>> [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of
>>> David M. Drukker
>>> Sent: 19 August 2009 19:04
>>> To: statalist@hsphsun2.harvard.edu
>>> Subject: RE: st: Stata 11 Random Effects--Std. Errors
>>>
>>> Continuing the thread about why -xtreg .., re vce(robust)-
>>> changed its meaning between Stata 10 and Stata 11, Mark E
>>> Schaffer <M.E.Schaffer@hw.ac.uk> asked for a citation.
>>>
>>> Wooldridge (2002, section 10.4.2) recommends the new approach
>>> of having
>>> -vce(robust)- mean -vce(cluster panelvar)-.
>>>
>>> When we first offered the -vce(robust)- and -vce(cluster
>>> clustvar)- on -xtreg, re-, we wanted to offer users the
>>> flexibility to use either estimator.  We had Monte Carlo
>>> simulations showing that there are data generating processes
>>> for which -vce(robust)- performs quite well, so we allowed
>>> users to choose.
>>>
>>> Since we first offered these options, the literature has
>>> focused on always using -vce(cluster panelvar)- to obtain a
>>> "robust" estimator for -xtreg, re-.  We made the change
>>> because the new method is what users now expect and it offers
>>> additional generality.
>>>
>>>    David
>>>    --ddrukker@stata.com
>>>
>

*
*   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/



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