6 votos

Errores estándar robustos en el modelo de efectos fijos (usando Stata)

Estoy tratando de averiguar los comandos necesarios para replicar la siguiente tabla en Stata. Esta tabla está tomada del Capítulo 11, p. 357 de Análisis Econométrico de Datos de Sección Cruzada y Panel, Segunda Edición de Jeffrey M Wooldridge. Aquí específicamente estoy tratando de averiguar cómo obtener los errores estándar robustos (mostrados entre corchetes) en la columna (2). Estoy tratando de hacer esto en Stata. Pude obtener los errores estándar convencionales usando el comando

xtreg lpassen lfare ldist ldistsq y98 y99 y00, i(id) fe

. Pude obtener la columna (1) con

xtreg lpassen lfare ldist ldistsq y98 y99 y00, i(id)

y los errores estándar correspondientes con

xtreg lpassen lfare ldist ldistsq y98 y99 y00, i(id) vce(robust)

. Sin embargo, el comando

xtreg lpassen lfare ldist ldistsq y98 y99 y00, i(id) fe vce(robust)

no funciona para la columna (2). Da resultados diferentes a los del libro. ¿Podría alguien explicar cómo obtener estos errores estándar en Stata?

Tenga en cuenta que los datos relacionados con esta pregunta se pueden encontrar aquí: https://mitpress.mit.edu/books/econometric-analysis-cross-section-and-panel-data Alternativamente, puedes cargarlos directamente en Stata usando

use http://www.stata.com/data/jwooldridge/eacsap/airfare, clear

Wooldridge, Panel Book Table 11.1, 2nd Edition, p.357

0 votos

¿Has intentado usar el comando versión para ver si versiones anteriores de Stata dan el resultado deseado? Puede que hayan mejorado o roto cosas en los cambios de versión desde la publicación. Dudo que sea el problema dado que se replicó en R. Podría ser algo para probar.

0 votos

He intentado usar la "versión 9.0" y la regresión que proporcionaste (xtreg lpassen lfare ldist ldistsq y98 y99 y00, i(id) fe vce(robust)). De hecho, empeora y aumenta el error estándar a 0,1254713 en lugar del 0,1086574 que da en la versión 13.

1 votos

@BKay xtreg, fe solía ajustar el VCE para la transformación dentro cuando se especificaba la opción cluster(). El VCE robusto al clúster ya no se ajusta a menos que se especifique el dfadj.

5voto

fdqsrt Puntos 28

Utilice -areg- en Stata, y los errores estándar saldrán tal como se muestran en el libro de texto. Específicamente, el comando

areg lpassen lfare ldist ldistsq y98 y99 y00, absorb(id) vce(robust)

producirá el resultado deseado.

-xtreg- con efectos fijos y la opción -vce(robust)- dará automáticamente errores estándar agrupados en el nivel de id, mientras que -areg- con -vce(robust)- da errores estándar robustos no agrupados. Parece que esto es lo que estimó Wooldridge.

Además, -xtreg- asume que el número de grupos -xtset- (id en su ejemplo) crece cuando se agregan más datos a la muestra. -areg-, por otro lado, asume que el número de grupos es fijo. Es decir, los dos estimadores tienen propiedades asintóticas diferentes. Los estimados de punto serán idénticos, pero los errores estándar serán distintos, a veces considerablemente.

Versiones antiguas de Stata (por ejemplo, Stata 9) no realizaban el ajuste adecuado de grados de libertad cuando se llamaba a -xtreg, vce(robust)-, por eso obtiene un error estándar más grande al especificar -version 9-. De hecho, esos errores estándar son idénticos a -areg, absorb(id) vce(cluster id)- en las versiones más recientes de Stata.

Como nota adicional, resulta desconcertante que Wooldridge obtuviera errores estándar robustos no agrupados al llamar a -xtreg, vce(robust)- en la versión 9, pero quizás tenga un entendimiento incorrecto de lo que hace la llamada -version 9-.

Para más información sobre -xtreg- vs -areg-, vea la publicación en el blog y los comentarios aquí.

(Reconozco que este hilo tiene un año de antigüedad, y es posible que la pregunta haya sido respondida en Statalist. Considere mi respuesta como "para futura referencia".)

0 votos

Gracias por tu respuesta. ¡Esta es información muy útil!

4voto

saint_groceon Puntos 2696

Todavía no estoy seguro si estoy haciendo algo mal. Sin embargo, es útil notar que obtengo los mismos resultados en R.

library(foreign)
library(plm)
library(lmtest)

df <- read.dta("airfare.dta")
fe.out <- plm(lpassen ~ lfare + ldist + ldistsq + y98 + y99 + y00,
         data=df, index = c("id", "year"), 
         method = "within", effect = "individual")
summary(fe.out)
# errores estándar robustos
coeftest(fe.out, vcov. = vcovHC)

da los mismos resultados. De hecho, ninguno de estos parece coincidir con la respuesta dada en el libro:

coeftest(fe.out, vcov. = vcovBK)
coeftest(fe.out, vcov. = vcovHC)
coeftest(fe.out, vcov. = vcovSCC)

Los errores estándar robustos en lfare, por ejemplo, que obtengo tanto en Stata como en R (usando vcovHC) es 0.108. El libro da 0.083.

Para referencia, la salida de coeftest(fe.out, vcov. = vcovHC) es

prueba t de coeficientes:

        Estimación Error estándar Valor t    Pr(>|t|)   
lfare -1.1550389  0.1085628    -10.6394 < 2.2e-16 ***
y98    0.0464889  0.0049076      9.4728 < 2.2e-16 ***
y99    0.1023612  0.0063086     16.2256 < 2.2e-16 ***
y00    0.1946548  0.0097015     20.0644 < 2.2e-16 ***
---
Códigos de significancia:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

0 votos

Creo que lo que hiciste es correcto. Creo que es un error en el libro. Podrías informárselo a Jeff Wooldridge si aún no lo has hecho.

3voto

Para entender el problema, revisemos qué son las estimaciones de matrices de varianza-covarianza robustas (VCE) y los "errores estándar" robustos implícitos. La robustez está destinada a permitir violaciones de homocedasticidad en la dimensión de sección cruzada o heterocedasticidad. Existen diversas VCE robustas heterocedásticas que son conocidas como estimadores Sandwich o errores estándar consistentes con heterocedasticidad (HC) debido a su forma: $\gamma(X'X)^{-1}\hat{\Omega}(X'X)^{-1}$. Stata por defecto utiliza HC1 que utiliza los residuos al igual que HC0, pero tiene un ajuste de grados de libertad. Sin embargo, se puede solicitar HC2 o HC3 a través de la opción vce después de un comando compatible, por ejemplo, reg y x, vce(hc3).

Sin embargo, en el caso de modelos de efectos no observados como el componente de error unidireccional (xtreg), no se deben usar estimadores HC y se debe elegir una VCE adecuada que permita la dependencia del término de error. Estos son conocidos como estimadores de Varianza-Covarianza robustos a cluster (CRVE). Los comandos Stata xtreg y xtivreg y comandos similares son para modelos de error unidireccionales de paneles cortos (se puede incluir manualmente la intercepción temporal para modelos de error bidireccionales). Por lo tanto, la independencia en la dimensión temporal podría ser una suposición válida, pero raramente podemos salirnos con la independencia en la dimensión de sección cruzada y por lo tanto se debe siempre agrupar al menos a nivel de id de panel. Stata no permite el agrupamiento bidireccional, pero la opción más importante para paneles cortos debería ser la opción cl(pid). La implementación de CRVE de Stata se conoce como errores estándar de Roger y es uno de los primeros estimadores... en el futuro podrían implementarse soluciones más nuevas.

En el caso de modelos de efectos fijos, se debe tener en cuenta que los coeficientes se pueden estimar a través del estimador dentro (xtreg o LSDV: reg y x i.pid). Los errores estándar asintóticos son correctos para el LSDV y para el dentro después de corregir el grado de libertad (lo cual todas las implementaciones deberían hacer). Sin embargo, los errores estándar HC son inconsistentes para el modelo de efectos fijos. Por lo tanto, es la norma y lo que todos deberían hacer usar errores estándar de agrupamiento en lugar de algún estimador Sandwich. Stata tomó la decisión de cambiar la opción robust después de xtreg y x, fe para darte automáticamente xtreg y x, fe cl(pid) para hacerlo más a prueba de errores y evitar errores. Los CRVE son robustos a la heterocedasticidad, autocorrelación y al agrupamiento.

Por cierto, debido a las correcciones por el tamaño pequeño se obtienen diferentes errores estándar robustos a cluster con reg y x i.pid, cl(pid) y xtreg y x, fe o equivalente xtreg y x, fe vce(pid). Los correctos son los últimos.

PD: Para REIV y FEIV, la mayoría de implementaciones incluyendo Stata cuando se utiliza 2SLS utilizan un método GLS Anova que por defecto es el Swamy-Arora que utiliza los residuos de los modelos entre y dentro en lugar de P2SLS.

Referencias:

Cameron, Colin A., and Douglas L. Miller. 2015. "A Practitioner’s Guide to Cluster-Robust Inference." Journal of Human Resources 50 (2): 317–372. doi:10.3368/jhr.50.2.317.

Stock, J. H., and M. W. Watson. 2008. Heteroskedasticity-robust standard errors for fixed effects panel data regression. Econometrica 76: 155–174.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X