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

st: Robust Variance


From   Constantine Daskalakis <C_Daskalakis@mail.jci.tju.edu>
To   statalist@hsphsun2.harvard.edu
Subject   st: Robust Variance
Date   Tue, 11 May 2004 15:40:04 -0400

I am a little confused with the different robust variance options in Stata. I've read the manuals (R: regress, p.352; R: xtgee, p.79; U, p.270) but I am still uncertain on some points.

Suppose I have repeated measures on each unit ("id").

Contrast

(1) - regress ..., cluster(id) -

to

(2) - glm ..., cluster(id) -

(3) - xtreg ..., pa i(id) corr(indep) robust -

(4) - xtgee ..., i(id) corr(indep) robust -

(2), (3), and (4) all produce identical estimates and standard errors. But: although those estimates are identical to those obtained from (1), the standard errors are not.

Example with the AUTO dataset (with "manufacturer" as the unit of clustering) follows at the end.

--- QUESTIONS ---

I would have expected all four commands to give identical results.

Is the difference the fact that the "cluster-robust" approach (1) takes into account any (arbitrary) correlation structure within subject, while the GEE approach (3&4) uses the "working correlation" (in this case, independence), to fix up the variance? But in terms of calculations, doesn't the "cluster-robust" approach amount to a GEE with independence working correlation structure within cluster?

Even if that's not the case, however, why aren't the -glm- (2) results identical to the -regress- (1) results?

Or is it simply that the "finite sample correction" [R: regress, p.252; U, p.275] makes (1) different from all else?
By the way, the "nmp" option in -xtgee- does not seem to have an effect when corr(indep), although it does have an impact when corr(exch).

Could someone set me straight on this?
Thanks.



EXAMPLE w/ the automobile data:

. use http://www.stata-press.com/data/r8/auto
(1978 Automobile Data)

Define "manufacturer" on the basis of the first 3 characters of "make" and -encode- to a numeric variable:

. gen man = substr(make,1,3)

. encode man, gen(manu)

This gives 23 different manufacturers for the 74 cars. The following output has been edited for brevity.

. regress weight foreign, cluster(manu) robust

------------------------------------------------------------------------------
| Robust
weight | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
foreign | -1001.206 160.8988 -6.22 0.000 -1334.89 -667.5226
_cons | 3317.115 127.2421 26.07 0.000 3053.231 3580.999
------------------------------------------------------------------------------

. glm weight foreign, cluster(manu) robust

(standard errors adjusted for clustering on manu)
------------------------------------------------------------------------------
| Robust
weight | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
foreign | -1001.206 159.7929 -6.27 0.000 -1314.395 -688.0179
_cons | 3317.115 126.3675 26.25 0.000 3069.44 3564.791
------------------------------------------------------------------------------

. xtreg weight foreign, pa i(manu) corr(indep) robust

(standard errors adjusted for clustering on manu)
------------------------------------------------------------------------------
| Semi-robust
weight | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
foreign | -1001.206 159.7929 -6.27 0.000 -1314.395 -688.0179
_cons | 3317.115 126.3675 26.25 0.000 3069.44 3564.791
------------------------------------------------------------------------------

. xtgee weight foreign, i(manu) corr(indep) robust

(standard errors adjusted for clustering on manu)
------------------------------------------------------------------------------
| Semi-robust
weight | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
foreign | -1001.206 159.7929 -6.27 0.000 -1314.395 -688.0179
_cons | 3317.115 126.3675 26.25 0.000 3069.44 3564.791
------------------------------------------------------------------------------




The documents accompanying this transmission may contain confidential health or business information. This information is intended for the use of the individual or entity named above. If you have received this information in error, please notify the sender immediately and arrange for the return or destruction of these documents.

________________________________________________________________
Constantine Daskalakis, ScD
Assistant Professor,
Biostatistics Section, Thomas Jefferson University,
211 S. 9th St. #602, Philadelphia, PA 19107
Tel: 215-955-5695
Fax: 215-503-3804
Email: c_daskalakis@mail.jci.tju.edu
Webpage: http://www.jefferson.edu/medicine/pharmacology/bio/
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* 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