6 votos

La diferencia entre los modelos de efectos fijos en R (plm) y Stata (xtreg)

Estoy tratando de volver a crear un análisis realizado utilizando Stata función xtreg (aunque no tengo el código) con el R paquete plm, y estoy teniendo problemas para traducir entre los dos. Un ejemplo mínimo de la modelo que estoy tratando de cálculo sería como sigue:

$$ \text{Dependiente}_{i,t} = \beta_0 + \gamma_i + \delta_t + \beta_1*\text{Dependiente}_{i,t-1} + \beta_2*\text{Independiente}_{i,t} + \epsilon_{i,t} $$

where $\gamma_i$ is a control for the cross-sectional factor (States), $\delta_t$ is a control for each time period (Year), $\text{Dependiente}_{i,t}$ is a dependent variable in the form of a proportion, and $\text{Independiente}_{i,t}$ es un atributo de un registro que cambia con el tanto de la sección transversal y el componente de tiempo de los datos.

He intentado estimar los coeficientes para el modelo de uso de la R con el siguiente (generalizada) código:

model <- plm(Dependent_it ~ Independent_it + lag(Dependent_it,1), 
             data   = data, 
             method = "within", #fixed effects model
             effect = "twoway", #does the gamma_i and delta_t parts (I think)
             index  = c("State", "Year")
             )

He tratado de volver a crear en Stata mediante la siguiente (después de ejecutar xtset State Year, yearly del curso)

xtreg Dependent Independent l.Dependent i.Year, fe

Puedo obtener resultados diferentes, así que debo estar haciendo algo mal, ya sea con xtreg o plm, o ambos. Alguien puede aclararme si he codificado el modelo de arriba adecuadamente en cualquiera de los idiomas?

10voto

Randel Puntos 3040

Bienvenidos al sitio, @gwatson! Tienes razón en que effect = "twoways" establece tanto el "individuo" y "año" efectos.

He probado con Produc datos de R paquete plm y encontrar los principales resultados son los mismos (ver los códigos y salidas de abajo). La única diferencia aparente que he encontrado es el year efecto, que es causada por el contrario (xtreg establece el primer año como referencia, mientras que plm directamente estima que el efecto de cada año).

## R code
data("Produc", package = "plm")
zz <- plm(gsp ~ unemp + lag(gsp), data = Produc, index = c("state","year"), method = "within", effect = "twoways")
summary(zz)

## plm output
Coefficients :
            Estimate  Std. Error  t-value  Pr(>|t|)    
unemp    -5.4525e+02  6.8611e+01  -7.9469 7.614e-15 ***
lag(gsp)  1.0125e+00  9.1789e-03 110.3029 < 2.2e-16 ***


## Stata code
use Produc, clear
xtset state year, yearly
xtreg gsp unemp l.gsp i.year, fe

## xtreg output
------------------------------------------------------------------------------
         gsp |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       unemp |   -545.246   68.61136    -7.95   0.000    -679.9537   -410.5383
      gsp L1.|   1.012464   .0091789   110.30   0.000     .9944422    1.030485
-------------+----------------------------------------------------------------

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X