Objetivo del informe

Una herramienta para estudiar empíricamente la relación entre la educación y los salarios son las llamadas ecuaciones de Mincer. La ecuación siguiente es la especificación más básica de una ecuación de ingresos.

ln 𝑤 = 𝛽0 + 𝛽1𝑒𝑑𝑢 + 𝛽2𝑒𝑥𝑝 + 𝛽3𝑒𝑥𝑝2 + 𝛽4𝑚𝑢𝑗𝑒𝑟 + 𝜇 (1)

donde: W son los ingresos de la ocupación principal por hora, edu son los niveles de educación (factor con seis categorías), exp son los años de experiencia, exp^2 son los años de experiencia al cuadrado, mujer es una variable dicotómica que indica con 1 si se trata de una mujer y 0 en caso contrario y 𝜇 es un término de error.

El objetivo de este informe es estimar e interpretar ecuaciones de ingresos utilizando información proveniente de la Encuesta Permanente de Hogares (EPH). La EPH es un programa nacional de Argentina de producción sistemática y permanente de indicadores sociales que lleva a cabo el Instituto Nacional de Estadística y Censos (INDEC) con las direcciones provinciales de estadística (DPE), la cual tiene por objeto relevar las características sociodemográficas y socioeconómicas de la población.

La base de datos eph22.txt cuenta con información extraída de la EPH correspondiente al cuarto trimestre de 2022 para la submuestra de individuos entre 18 y 65 años que incluye las siguientes variables:

La EPH no incluye los años de experiencia laboral por lo cual se puede utilizar como proxy los años de experiencia potencial en el mercado laboral, calculada como la edad menos los años de educación, menos los años de la iniciación en el sistema educativo (siendo 6 por convención).

Importación y Preprocesamiento de Datos

Vamos a trabajar con la base de datos de la EPH del cuarto trimestre de 2022, la importamos y filtramos de manera que:

Cambiamos el nombre de “NIVEL_ED” a “edu” para simplificar.

base <- read.csv("eph22.txt", sep=";")

base <- base %>%
  mutate(CH14 = ifelse(is.na(CH14) | CH14==99, 0, CH14)) %>% 
  na.omit(PP3E_TOT) %>%    
  filter(AGLOMERADO == 09, 
         P21 > 0,          
         PP3E_TOT > 0,
         CH12<9,           
         CH13<3,
         CH14!=98) %>% 
  rename(edu = NIVEL_ED) 

A) Cálculo de las variables necesarias para el modelo

Para calcular la experiencia potencial primero debemos calcular los años que esa persona estudió.

Vamos a crear una variable “anoseduc” en la que:
Si finalizó (CH13) el nivel más alto que cursó (CH12) entonces se le asignan esa cantidad de años estudiados.
Y si no lo finalizó se le suma al nivel más alto que si finalizó los años que aprobó (CH14) del que no finalizó.

Creamos una función para calcularlo

calcular_anoseduc <- function(ch12, ch13, ch14) {
# Definimos los anios de estudio por nivel educativo (en nuestro aglomerado primaria son 6)
 niveles_anioscumplidos <- c(0, 6, 9, 12, 12, 15, 17, 19)
 niveles_aniosnocumplidos <-c(0, 0, 0, 6, 9, 12, 12, 17)
  
# Calcular los años de estudio basados en las condiciones
 if (ch13 == 1) {
    anoseduc <- niveles_anioscumplidos[ch12]
  } else {
    anoseduc <- niveles_aniosnocumplidos[ch12] + ch14
  }
  
  return(anoseduc)
}

# Aplicar la funcion a la base para crear la columna
base$anoseduc <- mapply(
  calcular_anoseduc, 
  base$CH12, 
  base$CH13, 
  base$CH14
)

Mujer, edu, exp y w

Siguiendo con las variables necesarias para el modelo:

  • Creamos mujer en base a CH04 (que toma valor 2 si es mujer y 1 si es hombre) para que sea una variable dicotómica en la que tome valor 1 si es mujer y 0 si es hombre.
  • Como edu es una variable categórica u ordinal la vamos a desglosar por nivel
  • Calculamos la experiencia potencial de la siguiente manera: edad(CH06) - años estudiados (anoseduc) - 6.
  • w finalmente es el salario por hora que se estima a partir de: ingreso mensual de la ocupación principal (P21) dividido por las horas semanales trabajadas (PP3E_TOT) multiplicadas por 4.
base$mujer<-ifelse(base$CH04==2,1,0)

base$edu1<-ifelse(base$edu==1,1,0)
base$edu2<-ifelse(base$edu==2,1,0)
base$edu3<-ifelse(base$edu==3,1,0)
base$edu4<-ifelse(base$edu==4,1,0)
base$edu5<-ifelse(base$edu==5,1,0)
base$edu6<-ifelse(base$edu==6,1,0)

base <- base %>%
  mutate(
    exp = CH06 - (anoseduc + 6), 
    w = (P21 / (4 * PP3E_TOT)))

Analisis Descriptivo

1- Univariado

Medidas descriptivas ponderadas de la muestra del aglomerado Comodoro Rivadavia - Rada Tilly del cuarto trimestre de 2022 de la EPH.

Salarios por hora (w).

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   36.46  520.83  833.33  973.21 1250.00 5208.33

Experiencia potencial (exp).

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00   15.00   23.00   23.55   32.00   54.00

Distribucion w, exp y edu en la muestra

Distribución de salarios por hora

ggplot(data = base) +  
  aes(x = w, weights = PONDIIO) +  
  geom_histogram(fill = "salmon", color = "black") +
  labs(x = "Salario por hora (w)") +  
  labs(y = "Frecuencia") +  
  labs(title = "Distribución de salarios por hora") +
  labs(subtitle = "En el aglomerado Comodoro Rivadavia - Rada Tilly en el cuarto trimestre de 2022") +
  labs(caption = "Fuente: Elaboración propia en base a EPH-INDEC")

Distribución de los años de experiencia potencial

ggplot(data = base) +  
  aes(x = exp, weights = PONDERA) +  
  geom_histogram(fill = "lightblue", color = "black") +
  labs(x = "Años de experiencia potencial") +  
  labs(y = "Frecuencia") +  
  labs(title = "Distribución de los años de experiencia potencial") +
  labs(subtitle = "En el aglomerado Comodoro Rivadavia - Rada Tilly en el cuarto trimestre de 2022") +
  labs(caption = "Fuente: Elaboración propia en base a EPH-INDEC")

Frecuencia del máximo nivel de educación alcanzado

base1 <- base %>%
  select(w, edu, mujer, PONDERA)

base1$edu <- recode_factor(base1$edu,
                           `1` = "Primario Incompleto",
                           `2` = "Primario Completo",
                           `3` = "Secundario Incompleto",
                           `4` = "Secundario Completo",
                           `5` = "Universitario Incompleto",
                           `6` = "Universitario Completo")

ggplot(data = base1) +  
  aes(x = edu, weights = PONDERA) +  
  geom_histogram(fill = "lightgreen", color = "black", stat = "count") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(x = "Máximo nivel de educación alcanzado") +  
  labs(y = "Frecuencia") +  
  labs(title = "Frecuencia del máximo nivel de educación alcanzado") +
  labs(subtitle = "En el aglomerado Comodoro Rivadavia - Rada Tilly en el cuarto trimestre de 2022") +
  labs(caption = "Fuente: Elaboración propia en base a EPH-INDEC")

Distribución del máximo nivel de educación alcanzado

pie_edu <- wtd.table(base$edu, weights = base$PONDERA)
porcentajesedu <- round(pie_edu / sum(pie_edu) * 100, 2)
etiquetaedu <- paste(porcentajesedu, "%", sep = "")
pie(pie_edu, main = "Distribución del máximo nivel de educación alcanzado", cex.main = 1.0, labels = etiquetaedu, radius = 0.8, border = "black", col = rainbow(length(pie_edu)))
title(xlab = "Fuente: Elaboración propia en base a EPH-INDEC", line = 3, cex.lab = 0.8)
mtext("En el aglomerado Comodoro Rivadavia - Rada Tilly en el cuarto trimestre de 2022", side = 3, line = 0.65, cex = 0.8)
legend("topleft", c("Primario incompleto", "Primario completo","Secundario incompleto", "Secundario completo", "Superior universitario incompleto", "Superior universitario completo"), cex = 0.7, fill = rainbow(length(pie_edu)))

Distribución de hombres y mujeres en la muestra

pie_mujer <- table(base$mujer)
porcentajes=round(pie_mujer/sum(pie_mujer)*100,2)
etiqueta <- paste(porcentajes,"%",sep="") 
pie(pie_mujer, main= "Distribución de hombres y mujeres en la muestra", cex.main=1.2, labels=etiqueta, radius=.8, border="black", col=c("red", "blue"))
mtext("En el aglomerado Comodoro Rivadavia - Rada Tilly en el cuarto trimestre de 2022", side = 3, line = 0.65, cex = 0.8)
legend("topright",c("Hombre", "Mujer"), cex = 0.8, fill=c("red", "blue"))
title(xlab = "Fuente: Elaboración propia en base a EPH-INDEC", line = 3, cex.lab = 0.8)

Análisis bivariado (relación entre pares de variables).

Boxplot del salario por hora según máximo nivel de estudios alcanzado

ggplot(data = base1, aes(x = edu, y = w)) +
  geom_boxplot(aes(fill = edu, group = edu), color = "black") +
  labs(x = "Máximo nivel educativo alcanzado", y = "Salario por hora (w)",
       title = "Boxplot del salario por hora según máximo nivel de estudios alcanzado",
       subtitle = "En el aglomerado Comodoro Rivadavia - Rada Tilly en el cuarto trimestre de 2022",
       caption = "Fuente: Elaboración propia en base a EPH-INDEC") +
  scale_y_continuous(limits = c(0, 5250)) +
  coord_flip() +
  theme_minimal()

Frecuencia por Nivel de Educación y Género

conteo <- base %>%
  group_by(edu, mujer) %>%
  summarise(count = n()) 

nombres_educacion <- c("Primario Incompleto", "Primario Completo", 
                       "Secundario Incompleto", "Secundario Completo", 
                       "Universitario Incompleto", "Universitario Completo")

ggplot(conteo, aes(x = factor(edu), y = count, fill = factor(mujer))) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(x = "Nivel de Educación mas alto alcanzado", y = "Frecuencia", fill = "Género") +
  scale_fill_manual(values = c("lightblue", "pink"), labels = c("Hombres", "Mujeres")) + 
  ggtitle("Frecuencia por Nivel de Educación y Género") +
  scale_x_discrete(labels = nombres_educacion) +
  labs(subtitle = "En el aglomerado Comodoro Rivadavia - Rada Tilly en el cuarto trimestre de 2022") +
  labs(caption = "Fuente: Elaboración propia en base a EPH-INDEC") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Boxplot de Salario por Nivel de Educación y Género

ggplot(base, aes(x = factor(edu), y = w, fill = factor(mujer))) +
  geom_boxplot(position = position_dodge(width = 0.8)) +
  labs(x = "Nivel de Educación más alto alcanzado", y = "Salario por hora (w)", fill = "Género") +
  scale_fill_manual(values = c("blue", "pink"), labels = c("Hombres", "Mujeres")) +
  labs(subtitle = "En el aglomerado Comodoro Rivadavia - Rada Tilly en el cuarto trimestre de 2022") +
  labs(caption = "Fuente: Elaboración propia en base a EPH-INDEC") +
  scale_x_discrete(labels = nombres_educacion) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))+
  ggtitle("Boxplot de Salario por Nivel de Educación y Género")


B) Estimación del modelo

modelo1 <- lm(log(w) ~ edu2+edu3+edu4+edu5+edu6+exp+I(exp^2)+mujer, data = base, weights = PONDIIO)

Estos son los resultados de la estimación:

## 
## Call:
## lm(formula = log(w) ~ edu2 + edu3 + edu4 + edu5 + edu6 + exp + 
##     I(exp^2) + mujer, data = base, weights = PONDIIO)
## 
## Weighted Residuals:
##     Min      1Q  Median      3Q     Max 
## -74.243  -5.682  -0.387   5.647  34.238 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  5.6631833  0.2295795  24.668  < 2e-16 ***
## edu2         0.2445547  0.2133178   1.146 0.252467    
## edu3         0.5125422  0.2064326   2.483 0.013542 *  
## edu4         0.5675329  0.2059295   2.756 0.006185 ** 
## edu5         0.8154589  0.2203202   3.701 0.000252 ***
## edu6         1.1663373  0.2183201   5.342 1.74e-07 ***
## exp          0.0347174  0.0102778   3.378 0.000820 ***
## I(exp^2)    -0.0005263  0.0002026  -2.598 0.009818 ** 
## mujer       -0.2033179  0.0706120  -2.879 0.004251 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.06 on 322 degrees of freedom
## Multiple R-squared:  0.2005, Adjusted R-squared:  0.1806 
## F-statistic: 10.09 on 8 and 322 DF,  p-value: 1.418e-12

Efecto estimado de cada una de las variables sobre el ingreso por hora de los individuos

B0 o intercepto: el salario por hora promedio del grupo base, hombres, sin experiencia y con educacion primaria incompleta, es 288.06 pesos argentinos (con todo lo demás constante).

B1: el salario por hora de personas que completaron la educación primaria (NIVEL_ED=2) es en promedio 27.71% mayor que aquellas que no lo completaron (con todo lo demás constante). No es estadísticamente significativo al nivel de significancia del 0.05, ya que su p-valor es menor.

B2: el salario por hora de personas que lograron un nivel educativo de secundario incompleto (NIVEL_ED=3) es en promedio 66.95% mayor que el del grupo base (con todo lo demás constante). Es estadísticamente significativo al nivel de significancia del 0.05, ya que su p-valor es mayor.

B3: el salario por hora de personas que completaron la educación secundaria (NIVEL_ED=4) es en promedio 76.39% mayor que el grupo base. (con todo lo demás constante). Es estadísticamente significativo al nivel de significancia del 0.05, ya que su p-valor es mayor.

B4: el salario por hora de personas que lograron un nivel educativo superior universitario incompleto (NIVEL_ED=5) es en promedio 126.02% mayor que el grupo base (con todo lo demás constante). Es estadísticamente significativo al nivel de significancia del 0.05, ya que su p-valor es mayor.

B5: el salario por hora de personas que completaron la educación superior universitaria (NIVEL_ED=6) es en promedio 221.02% mayor que el grupo base (con todo lo demás constante). Es estadísticamente significativo al nivel de significancia del 0.05, ya que su p-valor es mayor.

B6: ante un aumento de 1 en los años de experiencia potencial el salario por hora promedio aumenta en un 3.47% (con todo lo demás constante). Es estadísticamente significativo al nivel de significancia del 0.05, ya que su p-valor es mayor.

B7: ante un aumento de 1 en el cuadrado de la experiencia potencial el salario por hora promedio aumenta en un -0.05% (con todo lo demás constante). Es estadísticamente significativo al nivel de significancia del 0.05, ya que su p-valor es mayor.

B8: Siguiendo el método logarítmico de aproximación y manteniendo los demás factores constantes el salario por hora de las mujeres es en promedio 18.4% inferior al de los hombres. Es estadísticamente significativo al nivel de significancia del 0.05, ya que su p-valor es mayor.


c) ¿Qué tipo de distribución siguen los residuos del modelo propuesto? ¿Por qué es importante considerarlo?

Es importante considerarlo principalmente para saber si se distribuyen normalmente o no ya que es un supuesto clave y requisito para hacer inferencia.

Para saber que tipo de distribucion siguen los residuos vamos a hacer un test de normalidad, en este caso Jarque-Bera:

Planteamos las hipótesis para la normalidad de los errores:

H0: Los errores (\(\mu\)) se distribuyen normalmente (\(\mu \sim N(\mu, \sigma^2)\))

H1: Los errores (\(\mu\)) no se distribuyen normalmente (\(\mu \not\sim N(\mu, \sigma^2)\))

Determinamos un alpha o nivel de significancia de 0.05

Regla de decisión: si el p-valor asociado a la prueba es menor al nivel de significancia -> Rechazamos H0

Test

residuos <- residuals(modelo1)

resultado_test <- jarque.bera.test(residuos)
## 
##  Jarque Bera Test
## 
## data:  residuos
## X-squared = 79.193, df = 2, p-value < 2.2e-16

Decisión Como el p-valor es menor que el nivel de significancia elegido (0.05), se considera que hay evidencia suficiente para rechazar la hipótesis nula y concluir que los residuos no se distribuyen normalmente.

Histograma

hist(x = residuos, main = "Histograma de residuos", xlab = "Residuos", ylab = "Frecuencia")

Graficamente los residuos parecen seguir una forma levemente asimétrica hacia la izquierda.