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 se toma 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í estoy tratando específicamente de averiguar cómo obtener los errores estándar robustos (mostrados entre corchetes) en la columna (2). Estoy intentando 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 al del libro. ¿Podría alguien explicar cómo obtener estos errores estándar en Stata?

Tenga en cuenta que los datos que acompañan a esta pregunta se pueden encontrar aquí: https://mitpress.mit.edu/books/econometric-analysis-cross-section-and-panel-data Como alternativa, puede 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 "version" 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 este sea el problema dado que se replica en R. Podría intentarlo.

0 votos

Intenté 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)). En realidad empeora las cosas y aumenta el error estándar a 0.1254713 en lugar de 0.1086574 que da en la versión 13.

1 votos

@BKay xtreg, fe se utilizaba para ajustar la VCE para la transformación dentro cuando se especificaba la opción cluster(). La VCE robusta-cluster 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 como 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 clusterizados a nivel de id, mientras que -areg- con -vce(robust)- dará errores estándar robustos no-clusterizados. Pareciera ser que eso es lo que estimó Wooldridge.

Además, -xtreg- asume que el número de grupos -xtset- (id en tu ejemplo) aumenta cuando se agrega más datos a la muestra. -areg-, sin embargo, asume que el número de grupos es fijo. Es decir, los dos estimadores tienen diferentes propiedades asintóticas. Los estimados puntuales serán idénticos, pero los errores estándar serán diferentes, a veces substancialmente.

Versiones antiguas de Stata (por ejemplo, Stata 9) no realizaban el ajuste adecuado de los grados de libertad cuando se llamaba a -xtreg, vce(robust)-, por lo que se 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 versiones más recientes de Stata.

Como nota al margen, resulta desconcertante que Wooldridge obtuviera errores estándar robustos no-clusterizados al llamar a -xtreg, vce(robust)- en la versión 9, pero quizás tengo una comprensión errónea de lo que hace el llamado -version 9-.

Para obtener más información sobre -xtreg- vs -areg-, consulta la entrada de blog y comentarios aquí.

(Reconozco que este hilo es de hace un año, y que la pregunta podría haber sido respondida en Statalist. Considera 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 tener en cuenta 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 parecen 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 lo que se llama 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 transversal o heterocedasticidad. Hay varias VCE robustas heterocedásticas que se conocen como estimadores Sandwich o errores estándar consistentes con la heterocedasticidad (HC) debido a su forma: $\gamma(X'X)^{-1}\hat{\Omega}(X'X)^{-1}$. Stata utiliza por defecto HC1 que utiliza los residuos al igual que HC0, pero tiene un ajuste de grados de libertad. Sin embargo, uno 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 modelo de componente de error unidireccional (xtreg), no se deben utilizar estimadores HC y se debe elegir una VCE apropiada que permita la dependencia del término de error. Estas se conocen como estimadores de Varianza-Covarianza robustos por conglomerados (CRVE). Los comandos xtreg y xtivreg y similares son para modelos de error de un solo sentido de paneles cortos (se puede incluir manualmente la intercepción temporal para modelos de error de dos vías). Por lo tanto, la independencia en la dimensión temporal podría ser una suposición válida, pero rara vez podemos escapar con independencia a través de la dimensión transversal y por lo tanto se debe siempre agrupar al menos a nivel de identificación de panel. Stata no permite el agrupamiento de dos vías, pero el 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 Rogers y es uno de los primeros estimadores... en el futuro se podrían implementar 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 de (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 todo el mundo debería hacer usar errores estándar por conglomerados 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 tontos y evitar errores. CRVE es robusto heterocedástico, autocorrelación y por conglomerados.

Como nota al margen, debido a correcciones por tamaño pequeño se obtienen diferentes errores estándar por conglomerados 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 las implementaciones, incluida Stata, cuando se utiliza 2SLS, utilizan un método Anova GLS 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., y Douglas L. Miller. 2015. "Guía práctica para inferencia robusta por conglomerados." Journal of Human Resources 50 (2): 317–372. doi:10.3368/jhr.50.2.317.

Stock, J. H., y M. W. Watson. 2008. Errores estándar robustos a la heterocedasticidad para regresión de datos de panel de efectos fijos. 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