Respuestas a la tarea 1

Respuestas

Pregunta 1

Suponga que para un experimento en un laboratorio se asignó a un grupo pacientes a un brazo de tratamiento o a uno de control. Antes de comenzar el experimento se recolectaron una serie de características \(x_{ji}\), \(j=1,\ldots 10\), de cada paciente. Se busca medir el efecto del tratamiento sobre una variable de resultados \(y_i\). En el experimento, se trabaja con \(\alpha=0.10\).

  1. [5 puntos] El investigador A quedó a cargo de comprobar el balance de la asignación del tratamiento y le reporta lo siguiente:

    Para verificar que la aleatorización fue exitosa, tomé la serie de variables pre-intervención y la dummy de asignación al tratamiento \(T_i\) para correr la siguiente regresión: \[T_i=\alpha+\sum_{j=1}^{10}x_{ji}'\beta +\varepsilon_i\]

    Después realicé una prueba \(F\) de significancia conjunta sobre los coeficientes \(\beta_j\) que resultó tener un valor \(p\) de 0.043.

    Explique cuál es la hipótesis nula en la prueba realizada y qué se esperaría de haberse logrado una aleatorización exitosa del tratamiento.

    Si la integridad del diseño se mantuvo durante el experimento, se esperaría que las características observables no predijeran el estado de tratamiento. En otras palabras, esperaríamos que los coeficientes en su conjunto no fueran significativos. Es decir, \(H_0: \beta_1=\beta_2=\ldots=\beta_k=0\).

  2. [5 puntos] ¿Qué concluye a partir de lo que le reporta el investigador A?

    En este caso, el valor \(p\) indica una baja probabilidad de observar el estadístico \(F\), es decir, un valor de \(F\) que no es consistente con la hipótesis nula. Por tanto, se concluye que los coeficientes no son iguales que cero al mismo tiempo o que hay características que permiten predecir el estatus de tratamiento.

  3. [5 puntos] Por otro lado, el investigador B le reporta lo siguiente:

    Yo realicé un análisis para determinar el balance en la asignación del tratamiento. Para cada una de las características \(x_{ji}\) corrí la siguiente regresión: \[x_{ji}=\gamma+\pi T_i+u_i\] A continuación, le reporto una tabla con los valores p asociados al coeficiente estimado de \(\pi\) en cada una de las 10 regresiones.

    Característica Valor \(p\) Característica Valor \(p\)
    \(x_{1i}\) 0.025 \(x_{6i}\) 0.015
    \(x_{2i}\) 0.012 \(x_{7i}\) 0.033
    \(x_{3i}\) 0.027 \(x_{8i}\) 0.019
    \(x_{4i}\) 0.076 \(x_{9i}\) 0.028
    \(x_{5i}\) 0.002 \(x_{10i}\) 0.017

    Explique la hipótesis nula detrás de las pruebas que realizó el investigador B y qué se esperaría de haberse logrado una aleatorización exitosa del tratamiento,

    Otra forma de proveer evidencia de la integridad del tratamiento es analizando el balance de las características observadas entre grupos de tratamiento. En este caso, si las medias de cada \(x_{ij}\) entre los grupos de tratados y de control son iguales, esperaríamos que el coeficiente \(\pi\) fuera no significativo, es decir \(H_0: \pi=0\). Con el nivel de significancia de \(\alpha=0.10\), rechazamos la \(H_0\) en todos los casos, por lo que se concluye que las característias no están balanceadas entre los grupos de tratamiento.

  4. [5 puntos] ¿Cómo reconcilia la evidencia encontrada por el investigador A y el B y qué concluye sobre el balance en la asignación del tratamiento? ¿Qué características tendría una diferencia de medias de \(y_i\) después del tratamiento como estimador del impacto de este?

    Ambos investigadores aportan evidencia que indica que la asignación aleatoria estuvo comprometida y que no se crearon grupos similares entre los grupos de tratamiento y control. Por lo tanto, una comparación de medias de la variable de resultados entre los grupos de tratamiento y control sería un estimador sesgado e inconsistente para el valor poblacional de dicha diferencia.

Pregunta 2

Se implemetó un programa para la entrega de semilla mejorada para la producción de frijol. La semilla se entregó a productores de hasta 10 hectáreas que ya reciben servicios de asistencia técnica y fertilizantes por parte del gobierno. El gobierno está interesado en estimar el impacto de la semilla mejorada en los rendimientos de la producción de frijol una vez que se realiza la cosecha, \(y_i\).

Para responder esta pregunta, el gobierno invierte una gran cantidad de recursos en una encuesta representativa de los productores de frijol de hasta 10 hectáreas de todo el país y donde se identifica si el productor recibió o no la semilla mejorada (\(T_i\)), además de un amplio cuestionario sobre insumos usados en la producción, prácticas agrícolas y características socioeconómicas de los productores y sus familas.

  1. [10 puntos] Se propone que para estimar el efecto del programa se comparen los rendimientos de los productores que recibieron la semilla con los que no la recibieron. Argumente en términos del sesgo de selección sobre la conveniencia de esta estrategia para estimar el efecto causal de la semilla mejorada.

    Es muy probable que los productores que ya se encontraban atendidos por el gobierno a través de asistencia técnica y fertilizantes sean muy distintos de quienes no estaban atendidos. Los productores ya atendidos seguramente tienen mejores prácticas productivas, que les permiten tener mayores rendimientos. Por tanto, al comparar el rendimiento de estos productores con los rendimientos de quienes no recibieron semilla sería imposible aislar el impacto solo de la semilla. En otras palabras, los productores ya atendidos tendrían un rendimiento superior en ausencia de tratamiento que los productores no tratados, es decir, esperaríamos un sesgo de selección positivo. Por tanto, a pesar de que se invirtieron una cantidad importante de recursos en levantar una encuesta representativa, la forma en que se asignó el programa impide que una comparación observacional permita estimar el efecto causal de la semilla.

  2. [5 puntos] Para implementar la propuesta del punto a., se propone estimar la siguiente regresión: \[ y_i = \alpha + \beta T_i + \varepsilon_i\]

    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_0\). Para ver esto, recordemos que el estimador de MCO puede reescribirse como sigue:

    \[\hat{\beta}=\beta_0 + \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_0\) 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 observables y no observables que hacen más o menos probable que un productor reciba la semilla mejorada.

  3. [5 puntos] Describa cómo realizaría el experimento ideal para la identificación del efecto causal de proveer semilla mejorada sobre el rendimiento. Describa cómo asignaría el tratamiento, qué condiciones deberían verificarse para asegurar la integridad del diseño y qué posibles obstáculos encontraría para la implementación de la estrategia que propone.

    No hay respuestas correctas o incorrectas. Consideraré sus argumentos.

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 school 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, gpa0 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(gpa0, na.rm=T),
                desvest=sd(gpa0, na.rm=T))
    # A tibble: 1 × 2
      media desvest
      <dbl>   <dbl>
    1  78.7    4.22
    #N
    data.angrist %>% 
      summarize(n())
    # A tibble: 1 × 1
      `n()`
      <int>
    1  1571
  2. [10 puntos] Usando una regresión lineal, muestre que la calificación en la preparatoria 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(gpa0 ~ ssp + sfp+ sfsp,
                data = data.angrist))
    
    Call:
    lm(formula = gpa0 ~ ssp + sfp + sfsp, data = data.angrist)
    
    Residuals:
         Min       1Q   Median       3Q      Max 
    -10.6567  -3.4567  -0.1567   3.3433   8.6612 
    
    Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 78.65672    0.13718 573.377   <2e-16 ***
    ssp          0.16997    0.30779   0.552    0.581    
    sfp          0.23795    0.30372   0.783    0.433    
    sfsp        -0.01787    0.38433  -0.047    0.963    
    ---
    Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    
    Residual standard error: 4.233 on 1567 degrees of freedom
    Multiple R-squared:  0.0005287,  Adjusted R-squared:  -0.001385 
    F-statistic: 0.2763 on 3 and 1567 DF,  p-value: 0.8425
  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.2762878    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.8425407 
  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 calificación en la preparatoria 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 calificación en la preparatoria 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. 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 las mujeres de la muestra (Panel B, columna 6). 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==1))

    Los coeficientes con los errores correctos son:

    coeftest(reg2, vcov = vcovHC(reg2, "HC1"))[1:3,]
                 Estimate Std. Error  t value     Pr(>|t|)
    (Intercept) 2.5333972 0.28335814 8.940619 3.428412e-18
    ssp         0.1162368 0.08199976 1.417526 1.567753e-01
    sspany      0.1468443 0.07291557 2.013895 4.440376e-02

    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==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.73   0.891
    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==1) %>%
      summarize(numero=n())
    # A tibble: 1 × 1
      numero
       <int>
    1    729

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.↩︎