10 votos

Comparar grupos en medidas repetidas modelos de FE, con un componente de error anidado, estimado con plm

He estima que algunos de medidas repetidas de los Efectos Fijos de los modelos, con un error anidada componente, basado en las variables de agrupación, es decir, no de modelos anidados, el uso de . Ahora estoy interesado en

  1. la prueba de si la totalidad de los modelos son significativamente diferentes, es decir,$$H_o: \beta_{Female} = \beta_{Male}$$ where $\ beta_{Mujeres}$ is the full model for Females and $\beta_{Macho}$ es el modelo completo de Males y
  2. posteriormente de prueba seleccionado los coeficientes de regresión entre los dos grupos, es decir,$$H_o: \beta_{Female == year1.5} = \beta_{Male == year1.5}$$ where $\ beta_{Hembra == año1.5}$ is the regression coefficient for females at year1.5, and $\beta_{Macho == año1.5}$ es el coeficiente de regresión para los hombres year1.5.

Voy a ilustrar la situación mediante el siguiente ejemplo de trabajo,

En primer lugar, algunos paquetes necesarios,

# install.packages(c("plm","texreg","tidyverse","lmtest"), dependencies = TRUE)
library(plm); library(lmtest); require(tidyverse)

En segundo lugar, algunas de preparación de datos,

data(egsingle, package = "mlmRev")
dta <-  egsingle %>% mutate(Female = recode(female,.default = 0L,`Female` = 1L))

En tercer lugar, la estimación de un conjunto de modelos para cada género en datos

MoSpc <- as.formula(math ~ Female + size + year)
dfMo = dta %>% group_by(female) %>%
    do(fitMo = plm(update(MoSpc, . ~ . -Female), 
       data = ., index = c("childid", "year", "schoolid"), model="within") )

Adelante, veamos el caso de los dos modelos estimados,

texreg::screenreg(dfMo[[2]], custom.model.names = paste0('FE: ', dfMo[[1]]))
#> ===================================
#>            FE: Female   FE: Male   
#> -----------------------------------
#> year-1.5      0.79 ***     0.88 ***
#>              (0.07)       (0.10)   
#> year-0.5      1.80 ***     1.88 ***
#>              (0.07)       (0.10)   
#> year0.5       2.51 ***     2.56 ***
#>              (0.08)       (0.10)   
#> year1.5       3.04 ***     3.17 ***
#>              (0.08)       (0.10)   
#> year2.5       3.84 ***     3.98 ***
#>              (0.08)       (0.10)   
#> -----------------------------------
#> R^2           0.77         0.79    
#> Adj. R^2      0.70         0.72    
#> Num. obs.  3545         3685       
#> ===================================
#> *** p < 0.001, ** p < 0.01, * p < 0.05    #> 

Ahora, quiero probar si estos dos (lineal OLS) los modelos son significativamente diferentes, cf. punto1 arriba. Miré alrededor y el internet y algunos sugieren que necesito usar plm::pFtest(), también aquí se sugiere, que lo he intentado, pero no estoy convencido. Me hubiera imaginado alguna prueba de la no-anidada modelos, es posible test de Cox, lmtest::coxtest, pero no estoy seguro del todo. Si alguien de aquí podría ayudarme.

He intentado,

plm::pFtest(dfMo[[1,2]], dfMo[[2,2]])
# >
# > F test for individual effects
# >
# >data:  update(MoSpc, . ~ . - Female)
# >F = -0.30494, df1 = 113, df2 = 2693, p-value = 1
# >alternative hypothesis: significant effects

y,

lmtest::coxtest(dfMo[[1,2]], dfMo[[2,2]])
# > Cox test
# > 
# > Model 1: math ~ size + year
# > Model 2: math ~ size + year
# >                 Estimate Std. Error    z value Pr(>|z|)    
# > fitted(M1) ~ M2     0.32    1.66695     0.1898   0.8494    
# > fitted(M2) ~ M1 -1222.87    0.13616 -8981.1963   <2e-16 ***
# > ---
# > Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1
# > Warning messages:
# > 1: In lmtest::coxtest(dfMo[[1, 2]], dfMo[[2, 2]]) :
# >   models fitted on different subsets
# > 2: In lmtest::coxtest(dfMo[[1, 2]], dfMo[[2, 2]]) :
# >   different dependent variables specified

Segundo, estoy interesado para comparar los coeficientes de regresión entre los dos grupos. Decir, es la estimación de year1.5 de 3.04 significativamente diferentes de 3.17? Cf. el punto 2 anterior.

Por favor, pregunte si alguno de los anteriores no es clara, y voy a ser feliz, a elaborar. Cualquier ayuda será muy apreciada!

Me doy cuenta de que esta pregunta es un poco de programación como, pero me inicialmente publicado en. Sin embargo, DWin fue lo suficientemente amable como para señalar que la cuestión pertenecía en CrossValidated y emigraron aquí.

3voto

Oliver M Grech Puntos 161

El código siguiente implementa la práctica de poner la interacción entre dummy y año. La prueba de F en la parte inferior pruebe su nula $\beta_{Female} = \beta_{Male}$. La estadística de t de salida pruebas de su nula $\beta{Female:year=1.5}=\beta{Male:year=1.5}$. En particular, para `` , el valor de p es de 0.32.

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