Tarea 4

La tarea debe entregarse de manera individual, pero se recomienda ampliamente colaborar en grupos de estudio. Las secciones teóricas deben estar desarrolladas en un procesador de textos y enviadas en formato .docx o .pdf. Alternativamente, puede escribir sus respuestas en lápiz y papel, con letra legible y adjuntar un escaneo de sus respuestas. Las secciones prácticas deberán contener archivos de código replicable y archivos de salida en R (o similares, en caso de usar otro software) para considerarse completas. Las tareas deben entregarse antes de la fecha límite a través de Teams. Puede crear una carpeta comprimida que contenga todos sus archivos y subir esta carpeta en Teams. Recuerde que en Teams debe asegurarse de que los archivos se han subido correctamente.

Rafael Martínez Martínez https://github.com/rafneta (CIDE-ME2019)https://cide.edu/programas/me
11-27-2020

Pregunta 1

Basado en Abadie, Diamond, & Hainmueller (2010).1

En la Sesión 22 estimamos el control sintético para los datos de California y la Proposición 99. La función synth, que realiza la optimización para estimar \(V\) y \(W\), usa por defecto el optimizador de Nelder-Mead. Este método es un optimizador que no requiere especificar derivadas y que es útil para problemas altamente no lineales. A costa de estos beneficios, el optimizador de Nelder-Mead puede ser computacionalmente intensivo. La opción optimxmethod de la función synth permite implementar el control sintético con otros métodos de optimización. Una alternativa es el método nlm, un método basado en métodos newtonianos por medio de aproximaciones usando derivadas. Este segundo método es mucho más rápido, pero menos exacto.
panel.ca <- as.data.frame(read_csv("Datos/california_panel.csv"))
head(panel.ca)
  state_id   state year cigsale lnincome beer age15to24 retprice
1        1 Alabama 1970    89.8       NA   NA 0.1788618     39.6
2        1 Alabama 1971    95.4       NA   NA 0.1799278     42.7
3        1 Alabama 1972   101.1 9.498476   NA 0.1809939     42.3
4        1 Alabama 1973   102.9 9.550107   NA 0.1820599     42.1
5        1 Alabama 1974   108.2 9.537163   NA 0.1831260     43.1
6        1 Alabama 1975   111.7 9.540031   NA 0.1841921     46.6

1a.

[5 puntos] Modifique la estimación del control sintético de la Sesión 22, usando ahora el método de optimización nlm.
dataprep.out <- 
  dataprep(panel.ca,
           predictors= c("lnincome", "beer",
                         "age15to24","retprice"),
           predictors.op = c("mean"),
           dependent = c("cigsale"),
           unit.variable = c("state_id"),
           time.variable = c("year"),
           special.predictors = list(
             list("cigsale",1975,c("mean")),
             list("cigsale",1980,c("mean")),
             list("cigsale",1988,c("mean"))),
           treatment.identifier = 3,
           controls.identifier = c(1:2,4:39),
           time.predictors.prior = c(1980:1988),
           time.optimize.ssr = c(1970:1988),
           unit.names.variable = c("state"),
           time.plot = c(1970:2000))

synth.out <- synth(data.prep.obj = dataprep.out)
synth.tables <- synth.tab(dataprep.res = dataprep.out,
                          synth.res = synth.out) 

synth.out_nlm <- synth(data.prep.obj = dataprep.out, 
                       optimxmethod = c("nlm"))
synth.tables_nlm <- synth.tab(dataprep.res = dataprep.out,
                           synth.res = synth.out_nlm)
print(synth.tables_nlm)
$tab.pred
                     Treated Synthetic Sample Mean
lnincome              10.077     9.894       9.829
beer                  24.280    23.263      23.655
age15to24              0.174     0.176       0.173
retprice              89.422    89.030      87.266
special.cigsale.1975 127.100   126.723     136.932
special.cigsale.1980 120.200   120.390     138.089
special.cigsale.1988  90.100    91.807     113.824

$tab.v
                     v.weights
lnincome             0.001    
beer                 0.001    
age15to24            0.001    
retprice             0.007    
special.cigsale.1975 0.525    
special.cigsale.1980 0.397    
special.cigsale.1988 0.068    

$tab.w
   w.weights     unit.names unit.numbers
1      0.000        Alabama            1
2      0.000       Arkansas            2
4      0.328       Colorado            4
5      0.066    Connecticut            5
6      0.000       Delaware            6
7      0.000        Georgia            7
8      0.000          Idaho            8
9      0.000       Illinois            9
10     0.000        Indiana           10
11     0.000           Iowa           11
12     0.000         Kansas           12
13     0.000       Kentucky           13
14     0.000      Louisiana           14
15     0.000          Maine           15
16     0.000      Minnesota           16
17     0.000    Mississippi           17
18     0.000       Missouri           18
19     0.000        Montana           19
20     0.000       Nebraska           20
21     0.236         Nevada           21
22     0.000  New Hampshire           22
23     0.000     New Mexico           23
24     0.000 North Carolina           24
25     0.000   North Dakota           25
26     0.000           Ohio           26
27     0.000       Oklahoma           27
28     0.000   Pennsylvania           28
29     0.000   Rhode Island           29
30     0.000 South Carolina           30
31     0.000   South Dakota           31
32     0.000      Tennessee           32
33     0.000          Texas           33
34     0.369           Utah           34
35     0.000        Vermont           35
36     0.000       Virginia           36
37     0.000  West Virginia           37
38     0.000      Wisconsin           38
39     0.000        Wyoming           39

$tab.loss
          Loss W   Loss V
[1,] 0.002711178 3.836524

1b.

[5 puntos] ¿Cómo se modifican los resultados en términos de la matriz \(V\) estimada?
stargazer(cbind(synth.tables$tab.v,synth.tables_nlm$tab.v),
          type="text", digits = 4)

==========================================
                     v.weights v.weights.1
------------------------------------------
lnincome               0.001      0.001   
beer                   0.012      0.001   
age15to24              0.003      0.001   
retprice               0.031      0.007   
special.cigsale.1975   0.493      0.525   
special.cigsale.1980   0.392      0.397   
special.cigsale.1988   0.068      0.068   
------------------------------------------

Se verifican las observaciones previas. En general los métodos númericos arrojan resultados distintos.

1c.

[5 puntos] ¿Cómo se modifican los resultados en términos de la matriz \(W\) estimada?
print(cbind(synth.tables$tab.w,
            synth.tables_nlm$tab.w)[,c(1,2,4)])
   w.weights     unit.names w.weights.1
1      0.000        Alabama       0.000
2      0.000       Arkansas       0.000
4      0.175       Colorado       0.328
5      0.062    Connecticut       0.066
6      0.000       Delaware       0.000
7      0.000        Georgia       0.000
8      0.001          Idaho       0.000
9      0.000       Illinois       0.000
10     0.000        Indiana       0.000
11     0.000           Iowa       0.000
12     0.000         Kansas       0.000
13     0.000       Kentucky       0.000
14     0.000      Louisiana       0.000
15     0.000          Maine       0.000
16     0.000      Minnesota       0.000
17     0.000    Mississippi       0.000
18     0.000       Missouri       0.000
19     0.182        Montana       0.000
20     0.000       Nebraska       0.000
21     0.236         Nevada       0.236
22     0.000  New Hampshire       0.000
23     0.000     New Mexico       0.000
24     0.000 North Carolina       0.000
25     0.000   North Dakota       0.000
26     0.000           Ohio       0.000
27     0.000       Oklahoma       0.000
28     0.000   Pennsylvania       0.000
29     0.000   Rhode Island       0.000
30     0.000 South Carolina       0.000
31     0.000   South Dakota       0.000
32     0.000      Tennessee       0.000
33     0.000          Texas       0.000
34     0.343           Utah       0.369
35     0.000        Vermont       0.000
36     0.000       Virginia       0.000
37     0.000  West Virginia       0.000
38     0.000      Wisconsin       0.000
39     0.000        Wyoming       0.000

Se verifican las observaciones previas. En general los métodos númericos arrojan resultados distintos, en este caso algunos pesos son distintos dependiendo del método empleado. Podría pensarse que los resultados del CS serán distintos

1d.

[5 puntos] ¿Cómo se modifica la conclusión sobre el efecto que tuvo la Proposición 99 en el consumo de cigarros?
#Unidades sintéticas
Ys <- dataprep.out$Y0plot %*% synth.out$solution.w 
Ys_nlm <- dataprep.out$Y0plot %*% synth.out_nlm$solution.w 

#Unidad verdadera
Y1 <- dataprep.out$Y1plot

#Creamos una basesita
data.plot <- as.data.frame(cbind(Y1,Ys,Ys_nlm))
colnames(data.plot) <- c("Y1","Ys","Ys_nlm")
data.plot <- data.plot %>% 
  mutate(year=seq(from=1970, to=2000))


#Gráfico de series
data.plot %>% 
  ggplot()+
  geom_line(aes(y=Y1,x=year)) +
  geom_line(aes(y=Ys,x=year), linetype = "dashed")+
  geom_line(aes(y=Ys_nlm,x=year), linetype = "dashed", color="blue")+
  ylab("per-capita cigarette sales (in packs)")+
  xlab("year")+
  geom_vline(xintercept=1988, color = "black", size=1, linetype="dashed")+
  scale_y_continuous(breaks = seq(0,140,20))+
  scale_x_continuous(breaks=seq(1970, 2000, 5))

Se puede observar que los CS son diferentes, solo por utilizar un método numérico distinto, y aunque los valores de los pesos en general son diferentes el “comportamiento es similar”. Podemos elaorar una gráfica para observar la diferencia entre los CS

data.plot <- data.plot %>% 
mutate(gapcs=Ys-Ys_nlm)

data.plot %>% 
ggplot()+
geom_line(aes(y=gapcs,x=year), color="blue") +
ylab("per-capita cigarette sales (in packs)")+
xlab("year")+
geom_vline(xintercept=1988, color = "black", size=1, linetype="dashed")+
geom_hline(yintercept=0, color = "black", size=1, linetype="dashed")+
scale_x_continuous(breaks=seq(1970, 2000, 5))

La diferencia con los métodos utilizados es de apenas dos paquetes. Por lo que la sustitución podría considerarse equivalente.

Pregunta 2

Basado en Low, H., y Meghir, C. (2017).2

2a.

[5 puntos] ¿Cuáles son las diferencias entre un modelo econométrico estructural y uno de forma reducida?

En un modelo estructural (modelo complejo) las ecuaciones indican la manera en que los agentes optimizan la asignación de recursos (toma de desiciones), es decir, especifican la relación entre preferencias y conjuntos de información. Estos modelos se utilizan para evaluar los efectos a largo plazo mediante la construcción de contrafactuales.

Un modelo en forma reducida (modelo simple) identifica el efecto de una variable sobre otra (causalidad), pero a diferencia de los modelos estructurales no hace explicito el comportamiento optimizador de los agentes, sirve para evaluación a corto plazo y no permite la costrucción de contrafactuales.

2b.

[5 puntos] ¿Qué se entiende por un modelo completamente especificado?

Son aquellos donde se hacen supuestos sobre los objetivos de los agentes, el conjunto de información y el ambiente. Se especifica sobre que variables se toman decisiones, y los efectos de estas sobre la dinámica (se supone una dinámica estocástica).

2c.

[5 puntos] ¿Cómo se puede combinar la información proveniente de una intervención experimental con un modelo estructural? Mencione un ejemplo de una combinación exitosa de esta naturaleza.

Se puede combinar para validar el modelo, comparando el impactos que estima el modelo estructural contra los impacto que estima la forma reducida con datos experimentales.

En el trabajo de Attanasio, Meghir y Santiago (2012) se analiza PROGRESA. Se propone un modelo estructural para la decisión del hogar sobre enviar al niño a la escuela.

2d.

[5 puntos] ¿En qué consiste el método de momentos para la estimación de modelos estructurales?

Pregunta 3

Basado en Taylor et al. (2016).3

3a.

[5 puntos] ¿Cuáles son las diferencias entre un modelo LEWIE y uno de forma reducida?

En el modelo de forma reducida no se identifican los efectos de derrame, entonces los efectos del tratamiento están alterados por la existencia de estos efectos de derrame.

El modelo LEWIE toma en cuenta los efectos de los tratados sobre los no tratados, además considera la manera en que estos efectos del tratamiento en los no tratados afectan nuevamente a los tratados, es decir, se tiene un efecto multiplicador. Por lo anterior, este modelo evalúa el impacto de las comunidades donde operan los programas sociales.

3b.

[5 puntos] ¿Cómo se modelan las decisiones de producción y consumo de los agentes relevantes?

Se crean modelos para hogares beneficiarios y no beneficiarios para conjuntarlos en un modelo de equilibrio general de la economía local.

A través de una estimación punto que utiliza los valores de línea base de los hogares beneficiados y no beneficiados para construir para cada hogar una matriz de contabilidad social (Social Accounting Matrice, SAM)

A partir de estas matrices se observa la estructura económica de los hogares beneficiados y no beneficiados.

3c.

[5 puntos] ¿Cómo se define y estima el modelo en equilibrio?

La matriz SAM sirve para calcular una matriz multiplicadora. El efecto total será igual al producto de esta matriz multiplicadora por el cambio en la demanda final.

3d.

[5 puntos] ¿Cómo se realiza inferencia para determinar la significancia estadística de los efectos estimados?

Pregunta 4

Basado en Athey e Imbens (2019).4

4a.

[5 puntos] ¿Cuál es la diferencia entre machine learning y los modelos econométricos estándar?

Machine Learning (ML) trabaja con objetivos sobre los algoritmos (algorithmic models) para resolver problemas con datos.

Mientras que los modelos econométricos estándar trabajan con base en modelos (model-based) para resolver problemas con datos.

Se puede decir que el enfoque es dististinto en cada área, pero el objetivo es el mismo: resolver problemas con datos.

4b.

[5 puntos] ¿Para qué sirven y en qué consisten las técnicas LASSO y de regresión ridge?

Ambas técnicas permiten encontrar (y así seleccionar) regresores (atributos) para el modelo lineal usual con un criterio de penalización (sobre el número de regresores) en el problema de optimización. En términos de la literatura consultada, se define

\[g(x)=\mathbb{E}\left[Y_{i} \mid \mathbf{X}_{i}=x\right]\]

entonces si se supone

\[g(x)=\boldsymbol{\beta}^{\top} x=\sum_{k=1}^{K} \boldsymbol{\beta}_{k} x_{k},\]

se querran encontrar los parametros \(\beta\) de tal forma que

\[\arg \min _{\beta} \sum_{i=1}^{N}\left(Y_{i}-\boldsymbol{\beta}^{\top} \mathbf{X}_{i}\right)^{2}+\lambda\left(\|\boldsymbol{\beta}\|_{q}\right)^{1 / q}\]

cuando, \(q=1\) (norma 1) es regresión LASSO, cuando \(q=2\) (norma 2) es regresión ridge.

Nota: En estos esqeumas se hace mención que los datos se regularizan, es decir, para cada regresor se transforman los datos para tener media cero y varianza uno.

4c.

[5 puntos] ¿En qué consisten los árboles de regresión y los bosques aleatorios?

Los árboles de regresión es un método de aprendizaje supervisado que se utiliza para regresión (la lectura no lo menciona, pero tambien pueden utilizarse para clasificación). El objetivo es crear un modelo que prediga el valor de una variable objetivo aprendiendo reglas de decisión simples inferidas de las características de los datos.

El valor predecido en la hoja es el promedio (se hacen diferentes subgrupos de entrenamiento).

Como una extensión, un bosque aleatorio compuesto por un grab numero de árboles donde cada árbol difiere en

  1. En el conjunto con el cual se entreno
  2. Se toman un subconjunto no necesariamente igual de carácteristicas (atributos) para el entrenamiento
Se toma el promedio (puede ser ponderado) en las hojas como valor de predicción.

4d.

[5 puntos] ¿Cómo puede emplearse machine learning para la estimación de efectos de tratamiento?

En la lectura sugerida, se platea la medición del ATE (Average Treatment Effect). Que se define como

\[\tau=\mathbb{E}\left[Y_{i}(1)-Y_{i}(0)\right]\]

donde \(Y_i(w)\) es el resultado potencial de la unidad \(i\), \(W_i\) es el tratamiento binario, \(X_i\) el vector de covariables. El ATE se puede estimar mediante la esperanza condicional de la salida \(\mu(\cdot)\), estimando el propensity score \(e(\cdot)\) o estimando estas dos. Las expresiones para dichas estimaciones son las sigueintes:

\[\mu(w, x)=\mathbb{E}\left[Y_{i} \mid W_{i}=w, \mathbf{X}_{i}=x\right]\]

\[e(x)=\mathbb{E}\left[W_{i} \mid \mathbf{X}_{i}=x\right]\]

\[ \begin{aligned} \tau &=\mathbb{E}\left[\mu\left(1, \mathbf{X}_{i}\right)-\mu\left(0, \mathbf{X}_{i}\right)\right] \\ &=\mathbb{E}\left[\frac{Y_{i} W_{i}}{e\left(\mathbf{X}_{i}\right)}-\frac{Y_{i}\left(1-W_{i}\right)}{1-e\left(\mathbf{X}_{i}\right)}\right] \\ &=\mathbb{E}\left\{\frac{\left[Y_{i}-\mu\left(1, \mathbf{X}_{i}\right)\right] W_{i}}{e\left(\mathbf{X}_{i}\right)}-\frac{\left[Y_{i}-\mu\left(0, \mathbf{X}_{i}\right)\right]\left(1-W_{i}\right)}{1-e\left(\mathbf{X}_{i}\right)}\right\}+\mathbb{E}\left[\mu\left(1, \mathbf{X}_{i}\right)-\mu\left(0, \mathbf{X}_{i}\right)\right] \end{aligned} \]

algunas de las técnicas de ML para estas estimaciones son:

Balance de covariables. Proceso que optimiza los pesos de las observaciones, para llevar a los mismos valores medios, al grupo de tratamiento y control. Este enfoque permite una estimación eficiete del ATE. Es un procedimiento mucho más estable que el calculo del “propensity score”.

Ortogonalización y cross-Fitting. Para ajustar los parámetros incomodos

\[\psi(y, w, x)=\mu(1, x)-\mu(0, x)+\frac{w}{e(x)}[y-\mu(1, x)]+\frac{1-w}{1-e(x)}[y-\mu(0, x)]\]

donde la muestra promedio de \(\hat{\Psi}_{i}\) es un estimador para el ATE.

Matrix completion problem. Si se tienen observaciones de \(N\) unidades sobre \(T\) períodos de tiempo \(Y_{it}\) y un tratamiento binario \(W_{it}\) \[\mathbf{Y}=\left(\begin{array}{ccccc} Y_{11} & Y_{12} & Y_{13} & \ldots & Y_{1 T} \\ Y_{21} & Y_{22} & Y_{23} & \ldots & Y_{2 T} \\ Y_{31} & Y_{32} & Y_{33} & \ldots & Y_{3 T} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ Y_{N 1} & Y_{N 2} & Y_{N 3} & \ldots & Y_{N T} \end{array}\right) \quad \mathbf{W}=\left(\begin{array}{ccccc} 1 & 1 & 0 & \ldots & 1 \\ 0 & 0 & 1 & \ldots & 0 \\ 1 & 0 & 1 & \ldots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & 0 & 1 & \ldots & 0 \end{array}\right)\]

El problema de estimar los ATEs se puede transformar en un problema de completar matrices.

\[\mathbf{Y}(0)=\left(\begin{array}{ccccc} ? & ? & Y_{13} & \ldots & ? \\ Y_{21} & Y_{22} & ? & \ldots & Y_{2 T} \\ ? & Y_{32} & ? & \ldots & Y_{3 T} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ ? & Y_{N 2} & ? & \ldots & Y_{N T} \end{array}\right)\text{(potencial control outcome)}\]

\[\mathbf{Y}(1)=\left(\begin{array}{ccccc} Y_{11} & Y_{12} & ? & \ldots & Y_{1 T} \\ ? & ? & Y_{23} & \ldots & ? \\ Y_{31} & ? & Y_{33} & \ldots & ? \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ Y_{N 1} & ? & Y_{N 3} & \ldots & ? \end{array}\right)\text{(potencial treated outcome)}\]

Por tanto, el problema de estimar los efectos causales se convierte en el de imputar los valores faltantes en una matriz.

También se puede utilizar el ML para la descubrir la heterogeneidad del efectos del tratamiento (treatment effect heterogeneity). Con esto se pueden resolver las preguntas ¿Qué personas se benefician más de un tratamiento? ¿Para qué personas es positivo el efecto del tratamiento? ¿Cómo cambian los efectos del tratamiento con las covariables?

Para medir la heterogeneidad se define el ATE condicional (CATE), como

\[\tau(x)=E\left[\tau_{i} \mid \mathbf{X}_{i}=x\right]\]

con \(\tau_{i}=Y_{i}(1)-Y_{i}(0)\) que es el efecto del tratamiento para el individuo \(i\).

Se puede medir la heterogeneidad a traves de modelos de variables instrumentales mediante el uso de redes neuronales. Otro enfoques propuestos para medir CATE: LASSO, meta-learners, BART (Bayesian additive regression trees), R-leaner, entre otras.

Se puede utilizar ML para el diseño experimental, utilizando tecnicas para la asignación a brazos de tratamiento: Thompson sampling (Multi-armed bandit), UCBs (Upper Confidence Bounds).

Pregunta 5

Basado en Varían (2014).5

5a.

[5 puntos] ¿Qué es la predicción fuera de la muestra?
A las predicciones realizadas para datos que no se utilizarón en el entrenamiento del modelo.

5b.

[5 puntos] ¿A qué se refiere el problema de sobreajuste en la predicción?
A que el modelo sea perfecto al aplicarse a los datos con los cuales se entreno, y que tenga un desempeño pobre fuera de estos datos, especificamente su predicción fuera de la muestra puede ser incorrecta.
Sobreajuste
Sobreajuste
Sobreajuste
Sobreajuste

5c.

[5 puntos] ¿Cómo se puede evaluar el efecto de una campaña de publicidad en internet empleando las técnicas descritas en el texto?

Siguiendo el texto, se podría predecir la serie de tiempo de la salida (visitas a una página web, compras online realizadas, etc.) como función de su historia pasada, efectos de temporada, productos disponibles, busquedas en google relativas a la salida estudiada, etc. Por la gran cantidad de predictores disponibles se puede realizar una selección de regresores, por ejemplo se puede utilizar BSTS (Bayesian Structural Time Series)..

Posteriormente se lleva acabo la campaña publicitaria durante algunos periodos y se registra la saluda de intéres. Utilizando el modelo desarrollado previamente se realiza una predicción de cuálhabría sido la salida (en los periodos correspondentes) en ausencia de la campaña publicitaria. La comparación de la salida real con la salida contrafáctica (artificielmente construida) nos da una estimación del efecto causal de la campaña de publicidad en internet.

5d.

[5 puntos] ¿Cuál es la principal fuente de incertidumbre en el modelo en el contexto de big data?

En el big data la incertidumbre de los datos se desprecia (pues tiende a ser pequeña por la gran cantidad de datos disponible). Así la principal fuente de incertidumbre es la estructura del modelo (por ejemplo: la variación de los parámetros respecto a que variables de control e instrumentos se eligen).


  1. Abadie, A., Diamond, A., & Hainmueller, J. (2010). Synthetic control methods for comparative case studies: Estimating the effect of California’s tobacco control program. Journal of the American statistical Association, 105(490), 493-505.

  2. Low, H., & Meghir, C. (2017). The use of structural models in econometrics. Journal of Economic Perspectives, 31(2), 33-58.

  3. Taylor, J. E., Filipski, M. J., Alloush, M., Gupta, A., Rojas Valdes, R.I., & Gonzalez-Estrada, E. (2016). Economic impact of refugees. Proceedings of the National Academy of Sciences, 201604566.

  4. Athey, S., & Imbens, G. W. (2019). Machine learning methods that economists should know about. Annual Review of Economics, 11.

  5. Varian, H. R. (2014). Big data: New tricks for econometrics. Journal of Economic Perspectives, 28(2), 3-28