Respuestas a la tarea 1

Respuestas

Pregunta 1

Se diseñó una intervención que consistió en entregar zapatos a niños en cuatro áreas con altos niveles de pobreza de cierto país. Se sabe que los niños caminan bastante para ir a la escuela y realizan una serie de tareas domésticas después de la escuela. Por tanto, se tiene la hipótesis de que la entrega de zapatos tendrá impactos en el desarrollo de los niños. Se seleccionaron aleatoriamente localidades de control y localidades de tratamiento. Dentro de las localidades asignadas al tratamiento, todos los niños de entre 7 y 12 años de edad recibieron zapatos. Los investigadores deciden usar un \(\alpha=0.10\) durante el estudio.

La tabla 1 presenta información sobre una serie de características de los niños que participaron en el estudio en la línea base.

Tabla 1. Covariables entre grupos de tratamiento y control (datos en la línea base)
$$(1)$$ $$(2)$$ $$(3)$$
Variables Media control Media tratamiento $$p$$
Edad 9.486 9.332 0.114
Sexo (masculino=1) 0.545 0.497 0.073*
Jefe trabaja en agricultura 0.462 0.522 0.435
Grado máximo de estudios en el hogar 5.836 5.346 0.406
Índice calidad de vivienda 0.492 0.593 0.447
Índice de consumo de durables 0.441 0.467 0.829
Número de pares de zapatos que posee 2.06 1.825 0.213
Horas que pasa sin zapatos 2.09 1.963 0.917
Días que no fue a la escuela 0.701 0.886 0.465
Horas para dormir 10.68 9.98 0.388
Horas para comer 1.931 1.934 0.986
Horas para lavar 0.732 0.835 0.228
Horas en escuela 4.613 4.154 0.168
Horas para trabajar 0.409 0.572 0.082*
N 666 912 1,578
Nota: Los valores \(p\) son de una prueba \(t\) simple. * \(p <0.10\), ** \(p <0.05\), *** \(p <0.01\).

La tabla 2 muestra los resultados de estimar una regresión del tipo

\[y_i=\alpha+X_i'\beta+\theta T_i+\varepsilon_i\]

donde \(T_i\) indica la pertenencia al grupo de tratamiento, \(X_i\) es un vector de características observables usadas como controles y \(y_i\) es cada una de las siguientes variables sobre las que se estima el impacto del programa: 1) número de zapatos que posee; 2) días que no fue a la escuela; y 3) horas para trabajar.

Tabla 2. Efectos del tratamiento en variables seleccionadas
$$(1)$$ $$(2)$$ $$(3)$$
Número de pares de zapatos que posee Días que no fue a la escuela Horas para trabajar
$$\hat{\theta}$$ 0.075 -0.165** 0.348
(e.e) (0.061) (0.057) (0.243)
N 1,302 664 556
Nota: * \(p <0.10\), ** \(p <0.05\), *** \(p <0.01\). Todas las regresiones controlan por edad, sexo, ocupación del jefe del hogar y calidad de la vivienda. Errores estándar agrupados a nivel localidad entre paréntesis. \(\hat{{\theta}}\) se refiere al estimador de \(\theta\).
  1. [2 puntos] ¿Qué representan los valores \(p\) reportados en la columna (3) en la tabla 1?

    Para cada característica, es el valor \(p\) asociado al estadístico \(t\) en la prueba de diferencia de medias. Indica la probabilidad de observar el estadístico \(t\) bajo la \(H_0\) de igualdad de medias. Por tanto, valores \(p\) por debajo del nivel de significacia \(\alpha\) indican que el estadístico asociado es poco probable de observar bajo la \(H_0\).

  2. [3 puntos] Un donante está preocupado por los resultados de la intervención porque considera que los niños que tenían más zapatos antes de que iniciara el programa tuvieron una menor probabilidad de estar en el grupo que recibió zapatos por parte del programa. ¿Considera esto una preocupación válida sobre la integridad del experimento?

    Si bien los niños que están en el grupo de control tienen en promedio 2.06 pares de zapatos y los que están en el de tratamiento tienen en promedio 1.825 pares de zapatos, esta diferencia no es estadísticamente significativa. Esto queda en evidencia por el valor \(p=0.213\), por lo que la preocupación del donante no está justificada por los datos.

  3. [5 puntos] ¿Cómo se interpreta el asterisco al lado del valor \(p\) de 0.082 asociado a las horas para trabajar?

    Dado que se trabaja con un \(\alpha=0.10\), los asteriscos denotan los casos en los que las diferencias de medias tiene un valor \(p\) asociado menor a dicho \(\alpha\). Es decir, el asterisco al lado del 0.082 indica que la diferencia en horas para trabajar entre los niños del grupo de tratamiento y de control es estadísticamente significativa.

  4. [5 puntos] ¿Cuál es el impacto del programa en el número de pares zapatos que los niños en promedio poseen? Mencione la magnitud y significancia estadística de dicho impacto.

    De acuerdo a la columna (1) de la tabla 2, los niños que recibieron zapatos tienen en promedio 0.075 pares de zapatos más que los niños que no recibieron el programa. Sin embargo, esta diferencia no es estadísticamente significativa a los niveles de confianza típicamente usados en economía.

  5. [5 puntos] En columna (2) de la tabla 2, ¿qué interpretación tienen los dos asteriscos al lado de -0.165?

    Los asteriscos son una notación del nivel de confianza al que se rechaza la \(H0\). En el caso de los dos asteriscos al lado del -0.165, significa que el programa tuvo un efecto de reducir los días en que los niños no van a la escuela de 0.165 días y que este efecto es estadísticamente significativo al 5%.

  6. [5 puntos] ¿Cuántos días sin ir a la escuela esperaríamos observar después de la intervención en los niños que recibieron zapatos?

    Simplemente sumamos el efecto estimado a la media del grupo de control. Es decir, esperamos que el número de días que no van a la escuela en el caso de los niños que recibieron los zapatos sea de \(0.701-0.165=0.536\).

  7. [5 puntos] La nota al pie de la tabla 2 indica que se reportan errores estándar agrupados? ¿Por qué los investigadores realizan la estimación de los errores estándar de esta manera?

    El programa fue aleatorizado a nivel localidad, por lo que existe una correlación entre las variables observadas y no observadas entre los individuos de los grupos de control y tratamiento. Los errores agrupados toman en cuenta esta correlación, asumiendo que existe una correlación arbitraria entre las observaciones de la misma localidad, pero independiencia entre observaciones de distintas localidades.

Pregunta 2

Suponga que está interesado en conocer el impacto que tiene el acceso a las microfinanzas en un indicador de seguridad alimentaria \(y_i\) de las familias. La idea detrás es que el acceso al crédito podría mejorar la habilidad de los hogares para suavizar el consumo. Afortunadamente, usted tiene acceso a una encuesta representativa a nivel nacional que incluye un índice de seguridad alimentaria así como una variable indicadora o dummy, \(T_i\), que toma el valor de 1 si algún miembro del hogar tiene acceso a microfinanzas y de 0 en otro caso.

Suponga que su asistente le sugiere que para evaluar el impacto de microfinanzas basta con estimar la siguiente regresión por MCO:

\[ y_i = \alpha + \beta T_i + \varepsilon_i \]

  1. [5 puntos] ¿Cómo valora la propuesta de su asistente? ¿Qué podemos esperar de una comparación observacional como la de la propuesta?

    Esto es lo que conocemos como una comparación observacional. Sabemos que en comparaciones observacionales es muy probable la presencia del sesgo de selección, es decr, que los hogares tratados con el acceso a microfinanzas sean diferentes a los que no tuvieron acceso. Las razones por las que los hogares tienen acceso a microfinanzas pueden estar correlacionadas también con tener una mejor o peor seguridad alimentaria, por lo que tenemos hay presencia de sesgo de selección. En general, el diseño de este estudio no permitiría obtener conclusiones sobre el efecto causal de tener acceso a microfinanzas.

  2. [5 puntos] Muestre si el estimador de MCO de \(\beta\) es consistente o no para el efecto de tratamiento.

    Estimar una regresión por MCO produciría un estimador \(\hat{\beta}\) inconsistente para el verdadero efecto de tratamiento \(\beta\). Para ver esto, recordemos que el estimador de MCO puede reescribirse como sigue:

    \[\hat{\beta}=\beta + \left(N^{1-}\sum x_i x_i'\right)\left(N^{-1}\sum x_i u_i\right)\]

    Si podemos aplicar una LGN a \(\left(N^{1-}\sum x_i x_i'\right)\), sabemos que el límite es una matriz finita y no nula. Entonces, para que \(\hat{\beta} \overset{p}{\to} \beta\) se requiere que, al aplicar una LGN a \(\left(N^{-1}\sum x_i u_i\right)\), la probabilidad límite sea 0. Esto ocurre si E(x_iu_i)=0, es decir, si no hay correlación entre los no observables y los regresores. Por los argumentos hechos arriba, esto es muy probable que se viole pues uno de los regresores es \(T_i\), que está correlacionado con no observables que hacen más o menos probable que un hogar tenga acceso a microfinanzas y que también determinan la seguridad alimentaria.

Pregunta 3

  1. [10 puntos] Replique el ejercicio en MHE que ejemplifica el teorema de la regresión de la FEC. Para esto use el archivo de datos muestra-enoe-123.csv, que contiene una muestra del primer trimestre de 2023 de la ENOE e incluye personas que trabajan y reciben un ingreso. lingreso es el log del ingreso mensual y escolaridad son los años de educación. Primero, estime una regresión de lingreso en función de escolaridad usando los microdatos. Luego, obtenga la media de lingreso para cada nivel de escolaridad y estime una regresión de las medias en función de escolaridad, pesando por el número de observaciones usadas para construir cada media. Compare los coeficientes estimados.

    Corramos la regresión con los microdatos:

    df <- read_csv("../files/muestra-enoe-123.csv") 
    
    summary(lm(lingreso ~ escolaridad,
    data = df))
    
    Call:
    lm(formula = lingreso ~ escolaridad, data = df)
    
    Residuals:
        Min      1Q  Median      3Q     Max 
    -5.6859 -0.3123  0.0462  0.4179  3.0679 
    
    Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 8.216881   0.024243  338.94   <2e-16 ***
    escolaridad 0.060347   0.002105   28.67   <2e-16 ***
    ---
    Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    
    Residual standard error: 0.6973 on 6554 degrees of freedom
    Multiple R-squared:  0.1115, Adjusted R-squared:  0.1113 
    F-statistic: 822.1 on 1 and 6554 DF,  p-value: < 2.2e-16

    Cada año de escolaridad se asocia con un incremento de 6% en el ingreso.

    Ahora calculemos la media del ingreso por cada año de educación, asegurándonos de conservar también el número de observaciones empleada para hacer dicho cálculo:

    df.agregada <- df %>% 
      group_by(escolaridad) %>% 
      summarise(lingreso = mean(lingreso, na.rm=T),
                n = n())

    Corremos la regresión con los datos agregados, pesando por el número de observaciones en cada grupo:

    summary(lm(lingreso ~ escolaridad,
                  data = df.agregada,
                  weights = n))
    
    Call:
    lm(formula = lingreso ~ escolaridad, data = df.agregada, weights = n)
    
    Weighted Residuals:
        Min      1Q  Median      3Q     Max 
    -2.7905 -0.1961  0.3220  1.1960  3.8566 
    
    Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 8.216881   0.056804  144.65  < 2e-16 ***
    escolaridad 0.060347   0.004932   12.24 1.86e-10 ***
    ---
    Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    
    Residual standard error: 1.634 on 19 degrees of freedom
    Multiple R-squared:  0.8874, Adjusted R-squared:  0.8815 
    F-statistic: 149.7 on 1 and 19 DF,  p-value: 1.861e-10

    El coeficiente estimado de los años de escolaridad es exactamente el mismo.

Pregunta 4

Use los datos del archivo STAR_public_use.csv para este problema. En este problema replicará la fila correspondiente a la variable High scool GPA (calificación en la preparatoria) de la Tabla 1 en Angrist et al. (2009).1

  1. [5 puntos] Obtenga la media y la desviación estándar de la edad, age en los datos, en el grupo de control (columna 1), restringiendo la muestra a aquellos individuos con noshow igual a 0.

    Después de eliminar a lo sindividuos que tienen noshow igual a 1, obtenemos la media y desviación estándar reportadas en la tabla. Noten que deben restringir al grupo de control para obtener dichas cifras. La columna del tamaño de la muestra se obtiene sin restringir al grupo de control, aunque esto no se pedía en la pregunta.

    data.angrist <- read_csv("../files/STAR_public_use.csv",
                           locale = locale(encoding = "latin1"))   %>% 
      clean_names() %>% 
      filter(noshow==0)
    
    #Media y desviación estándar
    data.angrist %>% 
      filter(control==1) %>% 
      summarize(media=mean(age),
                desvest=sd(age))
    # A tibble: 1 × 2
      media desvest
      <dbl>   <dbl>
    1  18.3   0.616
    #N
    data.angrist %>% 
      summarize(n())
    # A tibble: 1 × 1
      `n()`
      <int>
    1  1571
  2. [10 puntos] Usando una regresión lineal, muestre que la edad no está correlacionada con la asignación a los tratamientos (ssp, sfp y sfsp). De nuevo, debe restringir la muestra quienes tienen noshow igual a 0. Reporte los coeficientes y los errores estándar (columnas 2 a 4).

    La regresión es:

    summary(balance <- lm(age ~ ssp + sfp+ sfsp,
                data = data.angrist))
    
    Call:
    lm(formula = age ~ ssp + sfp + sfsp, data = data.angrist)
    
    Residuals:
        Min      1Q  Median      3Q     Max 
    -1.2910 -0.2910 -0.2910 -0.2373  4.7090 
    
    Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 18.29097    0.01985 921.363   <2e-16 ***
    ssp         -0.05368    0.04454  -1.205    0.228    
    sfp         -0.03277    0.04395  -0.746    0.456    
    sfsp         0.02558    0.05562   0.460    0.646    
    ---
    Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    
    Residual standard error: 0.6125 on 1567 degrees of freedom
    Multiple R-squared:  0.001438,   Adjusted R-squared:  -0.0004737 
    F-statistic: 0.7522 on 3 and 1567 DF,  p-value: 0.5211
  3. [5 puntos] Realice una prueba de significancia conjunta de los coeficientes obtenidos en el punto b. Reporte el estadístico \(F\) y el valor \(p\) asociado (columna 5).

    El estadístico \(F\) ya es calculado con la regresión. Basta con pedirlo:

    summary(balance)$fstatistic
           value        numdf        dendf 
       0.7522152    3.0000000 1567.0000000 

    ¿Pero cómo puedo calcular el valor \(p\)? Basta usar la definición, es la probabilidad de observar un valor más extremo que el estadístico, bajo la distribución teórica. En este caso, la distribución teórica es una \(F\) y debemos especificar los grados de libertad en el numerador y en el denominador:

    pf(q = summary(balance)$fstatistic[1],
       df1 = summary(balance)$fstatistic[2],
       df2 = summary(balance)$fstatistic[3],
       lower.tail=FALSE)
        value 
    0.5210527 
  4. [10 puntos] ¿Cuál es el propósito de la prueba F realizada en el punto c.? ¿Qué hipótesis nula prueban los autores?

    Aquí se busca probar que la asignación a los tres tipos de tratamiento no está correlacionada con la edad. La \(H_0\) es que \(\beta_{SSP}=\beta_{SFP}=\beta_{SFSP}=0\). Si rechazamos la hipótesis nula concluiríamos que hay diferencias entre grupos en la edad En este caso, el estadístico \(F\) es pequeño y su valor \(p\) indica que es muy probable de observarlo bajo la hipótesis nula por lo que no hay bases para rechazarla.

Pregunta 5

Nuevamente, use los datos del archivo STAR_public_use.csv para este problema. En este problema, replicará dos columnas del efecto de tratamiento de la Tabla 5. Note que de nuevo se deben usar solo las observaciones que tienen noshow igual a 0. Los autores también sustituyen los valores de gpa_year1 por NA cuando la variable grade_20059_fall es NA; y sustituyen grade_20059_fall por NA cuando la variable gpa_year1 es NA. Además, note que se usan las siguientes variables de control: sex, mtongue, hsgroup, numcourses_nov1, lastmin, mom_edn, y dad_edn, todas ellas categóricas.

  1. [10 puntos] Estime el efecto de cada tipo de tratamiento sobre el promedio o GPA, denotado gpa_year1 en los datos, para toda la muestra (Panel B, columna 1). Calcule correctamente los errores estándar. Interprete los resultados.

    Haciendo la sustitución sugerida por los autores, estimamos:

    data.angrist <- data.angrist %>% 
          mutate(gpa_year1=ifelse(is.na(grade_20059_fall),NA,gpa_year1),
                 grade_20059_fall=ifelse(is.na(gpa_year1),NA,grade_20059_fall))
    
    reg1<-lm(gpa_year1 ~ ssp + sfp+ sfsp+
               factor(sex)+
               factor(mtongue)+
               factor(hsgroup)+
               factor(numcourses_nov1)+
               factor(lastmin)+
               factor(mom_edn)+
               factor(dad_edn),
             data=data.angrist)

    Noten que los coeficientes estimados son correctos, pero no los errores estándar:

    summary(reg1)$coef[1:4,]
                  Estimate Std. Error  t value     Pr(>|t|)
    (Intercept) 1.60138378 0.46453145 3.447310 0.0005854449
    ssp         0.07259427 0.06603498 1.099331 0.2718404422
    sfp         0.01025889 0.06515735 0.157448 0.8749178181
    sfsp        0.20971238 0.08554012 2.451626 0.0143604306

    Los errores estándar correctos son los robustos:

    coeftest(reg1, vcov = vcovHC(reg1, "HC1"))[1:4,]
                  Estimate Std. Error   t value     Pr(>|t|)
    (Intercept) 1.60138378 0.46059228 3.4767925 0.0005252628
    ssp         0.07259427 0.06601070 1.0997349 0.2716642613
    sfp         0.01025889 0.06357889 0.1613569 0.8718389856
    sfsp        0.20971238 0.09221545 2.2741566 0.0231293441

    Finalmente, lo que se reporta en la tabla como la media del grupo de control no es la constante en la regresión, sino la media y desviación estándar. Noten que se usa la muestra que efectivamente se usa en la regresión, es decir, sin valores faltantes.

    data.angrist %>%
        filter(!is.na(gpa_year1) & !is.na(grade_20059_fall)
         & !is.na(ssp)
         & !is.na(sfp)
         & !is.na(sfsp)
         & !is.na(sex)
         & !is.na(mtongue)
         & !is.na(hsgroup)
         & !is.na(numcourses_nov1)
         & !is.na(lastmin)
         & !is.na(mom_edn)
         & !is.na(dad_edn)
         & control==1) %>%
      summarize(media=mean(gpa_year1,
                           na.rm=TRUE),
                desvest=sd(gpa_year1,
                           na.rm=TRUE))
    # A tibble: 1 × 2
      media desvest
      <dbl>   <dbl>
    1  1.80   0.902
    data.angrist %>%
      filter(!is.na(gpa_year1) & !is.na(grade_20059_fall)
         & !is.na(ssp)
         & !is.na(sfp)
         & !is.na(sfsp)
         & !is.na(sex)
         & !is.na(mtongue)
         & !is.na(hsgroup)
         & !is.na(numcourses_nov1)
         & !is.na(lastmin)
         & !is.na(mom_edn)
         & !is.na(dad_edn)) %>%
      summarize(numero=n())
    # A tibble: 1 × 1
      numero
       <int>
    1   1255
  2. [10 puntos] Estime el efecto sobre el GPA de recibir cada tipo de tratamiento, considerando los tratamientos SSP o SFP (de cualquier tipo) en los hombres de la muestra (Panel B, columna 5). Esto es, considere el tratamiento SSP como un primer tipo de tratamiento y, ya sea SFP o SFSP, como un segundo tipo de tratamiento. Calcule correctamente los errores estándar. Interprete sus resultados.

    Definimos la variable de recibir el tratamiento SFP o SFSP. Luego estimamos:

    data.angrist <- data.angrist %>%
          mutate(sspany = ifelse(sfp == 1 | sfsp == 1, 1, 
        0))
    
    reg2<-lm(gpa_year1 ~ ssp + sspany+
               factor(mtongue)+
               factor(hsgroup)+
               factor(numcourses_nov1)+
               factor(lastmin)+
               factor(mom_edn)+
               factor(dad_edn),
             data=filter(data.angrist,
                         female==0))

    Los coeficientes con los errores correctos son:

    coeftest(reg2, vcov = vcovHC(reg2, "HC1"))[1:3,]
                    Estimate Std. Error     t value    Pr(>|t|)
    (Intercept)  1.488578569 0.51919391  2.86709560 0.004319175
    ssp          0.007920013 0.10719768  0.07388232 0.941133873
    sspany      -0.042402063 0.09476171 -0.44745989 0.654738783

    La media en el control:

    data.angrist %>%
      filter(!is.na(gpa_year1) & !is.na(grade_20059_fall)
         & !is.na(ssp)
         & !is.na(sfp)
         & !is.na(sfsp)
         & !is.na(sex)
         & !is.na(mtongue)
         & !is.na(hsgroup)
         & !is.na(numcourses_nov1)
         & !is.na(lastmin)
         & !is.na(mom_edn)
         & !is.na(dad_edn)
         & control==1
         & female==0) %>%
      summarize(media=mean(gpa_year1,
                           na.rm=TRUE),
                desvest=sd(gpa_year1,
                           na.rm=TRUE))
    # A tibble: 1 × 2
      media desvest
      <dbl>   <dbl>
    1  1.91   0.908
    data.angrist %>%
      filter(!is.na(gpa_year1) & !is.na(grade_20059_fall)
         & !is.na(ssp)
         & !is.na(sfp)
         & !is.na(sfsp)
         & !is.na(sex)
         & !is.na(mtongue)
         & !is.na(hsgroup)
         & !is.na(numcourses_nov1)
         & !is.na(lastmin)
         & !is.na(mom_edn)
         & !is.na(dad_edn)
         & female==0) %>%
      summarize(numero=n())
    # A tibble: 1 × 1
      numero
       <int>
    1    526

Notas

  1. Angrist, J., Lang, D., y Oreopoulos, P. (2009). Incentives and services for college achievement: Evidence from a randomized trial. American Economic Journal: Applied Economics, 1(1), 136-63.↩︎