Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Isidora Vergara
2023-10-21
Pregunta 1
Efectivamente, como indica la autoridad 1, al utilizar datos muestrales no basta con “analizar números y
variaciones absolutas”, correspondientes a la estimación de un punto y su variación anual, sino que se
requiere testear si las diferencias son estadísticamente significativas. Esto significa que se debe corroborar
que, si se eligen aleatoriamente otras muestras de la población de interés, existirá (o no) dicha diferencia en
un porcentaje dado de las repeticiones. Este porcentaje corresponde al nivel de confianza definido para las
estimaciones, frecuentemente definido en 95%.
En este sentido, el empleo asalariado público en el trimestre móvil diciembre - febrero 2022 estuvo en el
intervalo [1.057.199, 1.163.654] y en el mismo período en 2023 estuvo en [1.140.801, 1.253.295].
Testear la significancia de esa diferencia se puede hacer de forma equivalente con un test t o Z, según
corresponda (Z en este caso), o con intervalos de confianza, si se considera un mismo nivel de confianza. En
este caso, como existe una superposición entre los valores de ambos intervalos, entonces la diferencia anual
entre el número de asalariados públicos no es estadísticamente significativa para el nivel de confianza con
que se construyeron los intervalos.
Esta forma de presentar los resultados es, de hecho, bastante útil cuando se presentan datos para múltiples
grupos y es visualmente confuso presentar todos los tests. Al incluir los intervalos de confianza, el lector
puede comprobar rápidamente si hay o no diferencias significativas entre distintos grupos.
rm(list = ls())
# Instalación de paquetes.
pacman::p_load(
rio, # importar/exportar datos.
here, # escribir rutas de las carpetas.
janitor, # limpiar datos y tablas.
tidyverse, # Manejo de bases de datos y visualización.
magrittr, # Permite utilizar operador %>% (piping).
skimr, # Inspeccionar datos.
inspectdf, # Inspeccionar datos.
ggplot2, # Paquete para visualización.
AER, # Datos.
gridExtra, # Para graficar.
summarytools, # Estadística descriptiva.
naniar, # Reemplaza NS/NR por missing values.
labelled, # Etiquetas.
rstatix, # Exportación a excel.
expss, # Exportación a excel.
plotly, # Visualizaciones interactivas.
scales, # Escalas gráficos.
patchwork, # Posición gráficos.
kableExtra, # Tablas HTML.
tinytext, # Pdf.
flextable, # Tablas de contingencia.
epitab, # Tablas pdf.
xtable, # Tablas pdf.
estimatr, # Errores robustos símil Stata.
stargazer, # Formato tablas.
texreg, # Regresiones en latex.
knitr # Tablas.
)
Pregunta 2
2a. Estadística descriptiva
# Base original.
datos_p2 <- import("nsw_dw.dta")
attach(datos_p2)
# Variables.
variables <- c("treat", "age", "education", "black", "hispanic", "married",
"nodegree", "re74", "re75", "re78")
# Tabla.
tabla_p2a <- psych::describe(datos_p2[variables]) %>%
mutate_if(is.numeric, round, 2) %>%
select(mean, sd) %>%
kable(caption = "Promedio y desviación estándar de las variables de interés",
align ="rr",
col.names = c("Promedio","Desv. estándar")) %>%
kable_styling(bootstrap_options = c("striped", position = "center"),
latex_options = "HOLD_position")
tabla_p2a
# Boxplot.
boxplot_p2b <- ggplot(subset(datos_p2, (!is.na(treat) & !is.na(re78))), aes(x=treat,
y=re78)) +
geom_boxplot(
# Boxes.
color="dodgerblue2",
fill="skyblue2",
alpha=0.5,
# Outliers.
outlier.colour="pink",
outlier.fill="pink",
outlier.size=3) +
theme_classic() +
theme(plot.caption = element_text(hjust = -0.11),
plot.title = element_text(size = rel(1.1), face = "bold"),
legend.position="none") +
labs(
title="Boxplot de ingresos en 1978 según grupo de tratamiento",
x="Grupo de tratamiento", y="Ingreso en 1978 (UM)",
caption = "Fuente: elaboración propia en base a datos National Supported Wor
k.")
boxplot_p2b
##
## Modelo de regresión lineal con errores robustos e intervalos de confianza al 95%
## ============================================
## Dependent variable:
## ---------------------------
##
## --------------------------------------------
## treatTratamiento 1,794.342***
## (479.551, 3,109.134)
##
## Constant 4,554.801***
## (3,888.014, 5,221.588)
##
## ============================================
## ============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Este coeficiente es estadísticamente significativo, lo que se observa claramente al construir los intervalos de
confianza con un nivel de confianza del 95%, sin estar contenido el valor cero en ellos.
# Modelo.
p2e <- lm(re78 ~ treat + education + age + age2 + black + hispanic +
married + nodegree + re74 + re75, data = datos_p2)
p2e_r <- coeftest(p2e, vcov = vcovHC(p2e, type = "HC1"))
# Tabla.
models <- list(p2c_r, p2e_r)
stargazer(models,type="text", ci=TRUE,
title = 'Modelo de regresión lineal múltiple con errores robustos')
##
## Modelo de regresión lineal múltiple con errores robustos
## ================================================================
## Dependent variable:
## -----------------------------------------------
##
## (1) (2)
## ----------------------------------------------------------------
## treatTratamiento 1,794.342*** 1,675.862**
## (479.551, 3,109.134) (349.181, 3,002.544)
##
## education 385.016**
## (5.137, 764.895)
##
## age 141.731
## (-358.293, 641.754)
##
## age2 -1.435
## (-9.411, 6.540)
##
## black -2,155.641**
## (-4,136.959, -174.324)
##
## hispanic 187.263
## (-2,501.044, 2,875.569)
##
## married -184.894
## (-1,975.834, 1,606.046)
##
## nodegree -55.545
## (-2,089.815, 1,978.726)
##
## re74 0.081
## (-0.129, 0.292)
##
## re75 0.051
## (-0.192, 0.294)
##
## Constant 4,554.801*** -307.012
## (3,888.014, 5,221.588) (-10,194.730, 9,580.707)
##
## ================================================================
## ================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Se observa que cambia el efecto del tratamiento en los ingresos de 1978, disminuyendo el coeficiente
estimado del tratamiento (no se está testeando esta diferencia). En particular, se estima en el segundo modelo
que, manteniendo todo lo demás constante, el recibir el tratamiento tiene un efecto positivo en el ingreso en
1978 de 1.675,862 unidades monetarias respecto a no recibir el tratamiento.
También se observa que las variables educación y raza negra tienen un efecto significativo en los ingresos de
1978, señal de que la aleatorización puede haber tenido cierto sesgo, existiendo una correlación entre la
variable tratamiento y el término del error.
Pregunta 3
3a. Estadística descriptiva
# Base original.
datos_p3 <- import("cps_nsw.dta")
attach(datos_p3)
# Variables.
variables <- c("treat", "age", "agesq", "education", "black", "hispanic",
"married", "nodegree", "re74", "re75", "re78")
# Tabla.
tabla_p3a <- psych::describe(datos_p3[variables]) %>%
mutate_if(is.numeric, round, 2) %>%
select(mean, sd) %>%
kable(caption = "Promedio y desviación estándar de las variables de interés",
align ="rr",
col.names = c("Promedio","Desv. estándar")) %>%
kable_styling(bootstrap_options = c("striped", position = "center"),
latex_options = "HOLD_position")
tabla_p3a
Se observa que en esta base el grupo de tratamiento pasa a ser relativamente menos relevante,
representando sólo el 3% de la muestra, al incorporar un grupo de control de mayor tamaño.
Respecto a la muestra con los grupos de tratamiento y control aleatorizados, esta base presenta una mayor
edad promedio (28.08 versus 25.37) y mayor educación media (11.74 versus 10.20).
Considerando la representatividad de esta última encuesta, los resultados de esta estadística descriptiva
constituyen una primera señal de que el universo de personas en base a la cual se definieron los grupos de
tratamiento y control del programa de inserción laboral podría no ser representativo de la población de
interés, poniendo en riesgo la validez externa de las estimaciones.
En este caso, se estima que el grupo de tratamiento tiene, en promedio, un ingreso en 1978 1.111,559
unidades monetarias menor que el grupo de control. Este efecto es significativo al 90%.
Considerando que en estos datos los grupos no se construyeron de forma aleatoria, no se puede atribuir
causalidad al efecto estimado, ya que hay correlación entre la variable tratamiento y el término de error.
# Tabla.
models <- list(p3b_r, p3c_r)
stargazer(models,type="text",
title = 'Modelo de regresión lineal con errores robustos')
##
## Modelo de regresión lineal con errores robustos
## ======================================
## Dependent variable:
## ----------------------------
##
## (1) (2)
## --------------------------------------
## treat -1,111.559* 157.942
## (585.334) (618.031)
##
## education 178.295***
## (50.670)
##
## age -61.971
## (65.335)
##
## agesq -1.373
## (0.930)
##
## black -1,546.107***
## (288.881)
##
## hispanic 552.439
## (348.081)
##
## married 610.977**
## (250.538)
##
## nodegree -268.513
## (290.012)
##
## Constant 7,460.703*** 8,276.861***
## (98.696) (1,197.014)
##
## ======================================
## ======================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Hay diferencias importantes entre ambos modelos. El efecto estimado del tratamiento pasa a ser positivo y
estadísticamente no significativo en la especificación con múltiples controles. En ese contexto, se estima que
la educación y estar casado tiene un efecto positivo y estadísticamente significativo en los ingresos de 1978,
mientras que ser de raza negra tiene un efecto negativo y estadísticamente significativo en el ingreso.
Así, el modelo corto que establecía que el tratamiento afectaba negativamente el ingreso de 1978 en realidad
estaba capturando el efecto de otras variables anteriormente omitidas y que eran relevantes al no estar los
grupos aleatorizados.
3d. Modelo de regresión lineal múltiple con
controles adicionales
# Modelo.
p3d <- lm(re78 ~ treat + education + age + agesq + black + hispanic +
married + nodegree + re74 + re75, data = datos_p3)
p3d_r <- coeftest(p3d, vcov = vcovHC(p3d, type = "HC1"))
# Tabla.
models <- list(p3b_r, p3c_r, p3d_r)
stargazer(models,type="text",
title = 'Modelo de regresión lineal con errores robustos')
##
## Modelo de regresión lineal con errores robustos
## ==================================================
## Dependent variable:
## ----------------------------------------
##
## (1) (2) (3)
## --------------------------------------------------
## treat -1,111.559* 157.942 1,505.868**
## (585.334) (618.031) (641.122)
##
## education 178.295*** 361.800***
## (50.670) (46.896)
##
## age -61.971 -313.529***
## (65.335) (59.858)
##
## agesq -1.373 2.588***
## (0.930) (0.846)
##
## black -1,546.107*** -1,347.961***
## (288.881) (271.662)
##
## hispanic 552.439 328.610
## (348.081) (324.117)
##
## married 610.977** 80.659
## (250.538) (231.342)
##
## nodegree -268.513 759.802***
## (290.012) (272.399)
##
## re74 0.297***
## (0.030)
##
## re75 0.605***
## (0.030)
##
## Constant 7,460.703*** 8,276.861*** 6,350.989***
## (98.696) (1,197.014) (1,099.136)
##
## ==================================================
## ==================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Finalmente, al incorporar los ingresos de 1974 y 1975 nuevamente cambia la magnitud y la significancia de la
variable tratamiento. En particular, se estima que quienes reciben el tratamiento tienen, todo lo demás
constante, un ingreso 1.505,868 superior a quienes no reciben el tratamiento. Este modelo está mejor
especificado que el anterior, al añadir variables que se esperaría que influyan en los ingresos de 1978, pero no
permite aún establecer causalidades (por ejemplo, no se está controlando por la variable género).
Se estima que tener un mayor ingreso en 1974 y 1975 tiene, en promedio, un efecto positivo en el ingreso de
1978, con coeficientes de baja magnitud pero significativos al 99%.
Pregunta 4
4a. Modelo de regresión lineal: salario y
educación
# Base original.
datos_p4 <- import("WAGE2.dta")
attach(datos_p4)
# Tabla.
modelos_p4 <- list(p4a_r)
stargazer(modelos_p4,
title = 'Regresión logaritmo natural del salario con educación',
digits = 2, type = 'text', header = FALSE)
##
## Regresión logaritmo natural del salario con educación
## ====================================
## Dependent variable:
## ---------------------------
##
## ------------------------------------
## educ 0.06***
## (0.01)
##
## Constant 5.97***
## (0.08)
##
## ====================================
## ====================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Particularmente, en el caso de un modelo de retornos por año de educación, se espera que el omitir la
habilidad innata como variable explicativa de los salarios pueda sesgar positivamente el retorno por año de
educación (el coeficiente de esta variable) si existe una covarianza positiva entre educación y habilidad, lo que
podría esperarse, dado que el costo relativo de estudiar es menor para quienes tienen mayor habilidad
innata). También será positivo el sesgo si es que los individuos más hábiles perciben más ingresos.
# Tabla.
modelos_p4 <- list(p4a_r, p4c_r)
stargazer(modelos_p4, ci=TRUE,
title = 'Regresión logaritmo natural del salario con educación y habil
idad',
digits = 3, type = 'text', header = FALSE)
##
## Regresión logaritmo natural del salario con educación y habilidad
## ======================================
## Dependent variable:
## -----------------------------
##
## (1) (2)
## --------------------------------------
## educ 0.060*** 0.039***
## (0.048, 0.072) (0.025, 0.053)
##
## IQ 0.006***
## (0.004, 0.008)
##
## Constant 5.973*** 5.658***
## (5.812, 6.134) (5.473, 5.843)
##
## ======================================
## ======================================
## Note: *p<0.1; **p<0.05; ***p<0.01
El sesgo de variable omitida se define como: beta_1 = beta_2 * [cov(educ,IQ) / var(educ)] Donde beta_1
corresponde al coeficiente de educación en el modelo largo y beta_2 corresponde al coeficiente de IQ en el
modelo largo.
De esta forma, se observa que el sesgo es positivo (dado por el signo de 0.006 * 3.534) y que el coeficiente
estimado para educación en el modelo corto es 0.060 (como se observa en el primer modelo de la tabla).
# Tabla.
modelos_p4 <- list(p4a_r, p4c_r, p4e_r)
stargazer(modelos_p4,
title = 'Regresión logaritmo natural del salario con múltiples control
es',
digits = 2, type = 'text', header = FALSE)
##
## Regresión logaritmo natural del salario con múltiples controles
## ======================================
## Dependent variable:
## -----------------------------
##
## (1) (2) (3)
## --------------------------------------
## educ 0.06*** 0.04*** 0.05***
## (0.01) (0.01) (0.01)
##
## IQ 0.01*** 0.005***
## (0.001) (0.001)
##
## exper 0.01***
## (0.003)
##
## tenure 0.01***
## (0.003)
##
## married 0.21***
## (0.04)
##
## south -0.10***
## (0.03)
##
## urban 0.17***
## (0.03)
##
## Constant 5.97*** 5.66*** 5.05***
## (0.08) (0.09) (0.12)
##
## ======================================
## ======================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Por último, al controlar por más variables que, teóricamente, podrían explicar los salarios, se observa que un
año adicional de educación tendría un efecto estadísticamente significativo de 5% sobre los salarios. La
variable IQ, proxy de habilidad innata, disminuye en su magnitud respecto al modelo especificado en b,
aunque se mantiene estadísticamente significativa. Otras variables como experiencia, tenure (posesión), estar
casado y vivir en áreas urbanas tiene un efecto positivo y significativo en los salarios. Vivir en el sur (datos de
USA) tiene un efecto negativo y significativo en los salarios. Este modelo parece está mejor especificado,
controlando por variables documentadas en la literatura sobre ecuaciones de ingresos, y con un R cuadrado
ajustado de 25% (es decir, un cuarto de la varianza de los ingresos puede explicarse por la variación de estas
variables).