Caso con datos reales
Ingreso y nivel educativo: seis grupos y un ANOVA
El ejemplo que recorre todo el módulo de ANOVA: seis niveles educativos, un F de 223 y un eta cuadrado de apenas 0,068.
La pregunta
¿El ingreso difiere según el nivel educativo alcanzado?
Son 15.365 ocupados de 18 años o más de la EPH del primer trimestre de 2026, con ingreso positivo de la ocupación principal, clasificados en los seis niveles educativos del relevamiento.
Los seis grupos
| Nivel educativo | Media | Desvío | Mediana | |
|---|---|---|---|---|
| Primario incompleto | 349 | $629.074 | $696.463 | $500.000 |
| Primario completo | 1.683 | $701.356 | $598.292 | $600.000 |
| Secundario incompleto | 2.399 | $753.550 | $848.004 | $600.000 |
| Secundario completo | 5.075 | $917.169 | $903.934 | $800.000 |
| Superior incompleto | 2.190 | $981.895 | $820.499 | $800.000 |
| Superior completo | 3.669 | $1.428.475 | $1.317.167 | $1.100.000 |
| Total | 15.365 | $992.760 |
El orden es el esperado y el salto grande está al final: quienes completaron el nivel superior ganan un 45 % más que el grupo inmediato anterior.
El ANOVA
| Fuente | Suma de cuadrados | gl | Cuadrado medio | |
|---|---|---|---|---|
| Entre grupos | 5 | 223,23 | ||
| Dentro de los grupos | 15.359 | |||
| Total | 15.364 |
Dicho de otro modo: la variabilidad dentro de cada nivel educativo es catorce veces mayor que la que hay entre los niveles. Saber cuánto estudió una persona mejora poco la predicción de su ingreso.
Los supuestos, que no se cumplen
| Supuesto | Diagnóstico |
|---|---|
| Homogeneidad de varianzas | Violado: Levene ; la varianza mayor es 4,85 veces la menor |
| Normalidad de los residuos | Violado: asimetría 10,9 |
| Independencia | Dudoso: el diseño de la EPH es por conglomerados |
La alternativa no paramétrica coincide: Kruskal-Wallis da con 5 grados de libertad, . Las conclusiones no cambian.
Las comparaciones post hoc
El dice que al menos dos niveles difieren. Tukey dice cuáles: de los 15 pares posibles, 11 son significativos y 4 no.
Los cuatro que no se distinguen:
| Par | Diferencia | |
|---|---|---|
| Primario incompleto vs. Primario completo | $72.281 | 0,804 |
| Primario incompleto vs. Secundario incompleto | $124.475 | 0,221 |
| Primario completo vs. Secundario incompleto | $52.194 | 0,538 |
| Secundario completo vs. Superior incompleto | $64.725 | 0,095 |
Es un hallazgo sustantivo que el ANOVA global no muestra y que aparece solo al hacer las comparaciones de a pares.
Dos factores: educación y sexo
| Varones | Mujeres | Brecha | |
|---|---|---|---|
| Hasta secundario incompleto | $860.221 | $473.819 | $386.402 |
| Secundario completo o más | $1.269.380 | $935.802 | $333.577 |
Las dos brechas son parecidas en pesos —$386 mil contra $334 mil—, así que en escala absoluta la interacción es débil: el efecto del sexo es más o menos el mismo en los dos niveles educativos.
Pero en términos relativos la historia cambia: las mujeres sin secundario ganan un 45 % menos que sus pares varones, y las que lo completaron, un 26 % menos.
Reproducirlo
# R
d <- eph |> filter(ESTADO == 1, P21 > 0, CH06 >= 18, NIVEL_ED %in% 1:6)
modelo <- aov(P21 ~ factor(NIVEL_ED), data = d)
summary(modelo) # F = 223.23
effectsize::eta_squared(modelo) # 0.068
car::leveneTest(P21 ~ factor(NIVEL_ED), data = d)
kruskal.test(P21 ~ factor(NIVEL_ED), data = d)
TukeyHSD(modelo)
oneway.test(P21 ~ factor(NIVEL_ED), data = d) # Welch, sin homocedasticidad
# Python
from scipy import stats
stats.f_oneway(*grupos)
stats.kruskal(*grupos)
stats.levene(*grupos, center="median")
import statsmodels.formula.api as smf
modelo = smf.ols("P21 ~ C(NIVEL_ED)", data=d).fit()
import statsmodels.api as sm
sm.stats.anova_lm(modelo)
El script completo es datos/eph/preparar-anova-m11.py.