28 · ANOVA: comparar 3+ medias de grupos
Cuando tienes 3 o más grupos y una variable de resultado continua, un F-test reemplaza todos los t-tests por pares — manteniendo el error Tipo I bajo control.
ANOVA generaliza el t-test a 3+ grupos — analizando cocientes de varianzas, no medias directamente.
Sin esto:
Sin él, correrías t-tests para cada par (inflando el error Tipo I) en lugar de una prueba unificada.
Ya has visto el t-test para comparar medias de dos grupos. Pero ¿qué pasa si tienes tres condiciones experimentales — fármaco A, fármaco B y placebo? Ejecutar tres t-tests separados (A vs. B, A vs. placebo, B vs. placebo) genera un problema: cada test tiene un 5% de probabilidad de falso positivo con α = 0.05. Con 3 tests, esperarías al menos un resultado espurio significativo el 14% de las veces, incluso cuando todos los grupos son idénticos.
El Análisis de Varianza (ANOVA) resuelve esto con una sola prueba.
La idea central — cocientes de varianzas, no diferencias de medias:
En lugar de comparar medias directamente, ANOVA pregunta: ¿la variación entre grupos es mayor de lo que esperaríamos por variación aleatoria dentro de grupos?
F = Varianza ENTRE grupos / Varianza DENTRO de grupos
- Varianza entre grupos (MSB): cuánto varían las medias de los grupos respecto a la gran media — inflada por efectos de tratamiento reales y por ruido aleatorio.
- Varianza dentro de grupos (MSW): la varianza promedio de las observaciones alrededor de su propia media de grupo — impulsada solo por ruido aleatorio.
Bajo H₀ (todas las medias de grupo iguales), tanto numerador como denominador estiman la misma varianza poblacional, por lo que F ≈ 1. Bajo H₁ (al menos una media difiere), el numerador crece mientras el denominador permanece igual, por lo que F > 1.
Supuestos:
- Las observaciones son independientes (sin medidas repetidas).
- Dentro de cada grupo, los datos son aproximadamente Normales.
- Los grupos tienen varianzas iguales (homocedasticidad — los tests de Bartlett o Levene pueden verificarlo).
Cuando los supuestos fallan: ANOVA de Welch (relaja varianza igual) o Kruskal-Wallis (completamente no paramétrico).
Python (in browser)
ANOVA de una vía sobre tres grupos de fármacos simulados. Con σ = 15 y diferencias de medias reales de 5 y 1 punto, la prueba puede o no rechazar según la semilla aleatoria — ilustrando que la potencia del ANOVA depende del tamaño del efecto relativo al ruido dentro del grupo.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Boxplots con puntos de datos individuales con jitter para los tres grupos. La línea de puntos marca la gran media — visualmente puedes ver que la caja del Fármaco B está un poco más alta, pero la superposición es sustancial, de ahí la importancia de la prueba formal.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Simulación de la tasa de error familiar: 5 grupos muestreados de la misma distribución, pero 10 t-tests por pares producen al menos un resultado 'significativo' espurio en aproximadamente el 40% de los experimentos. ANOVA lo reduce a una sola prueba al 5%.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Supuestos del ANOVA, una vía vs dos vías y la descomposición del estadístico F — el andamiaje conceptual antes de calcularlo a mano en la siguiente lección.
Si el estadístico F en un ANOVA de una vía es igual a 1, ¿qué indica eso?
- **Estadístico F:** F = (varianza ENTRE grupos) / (varianza DENTRO de grupos). Bajo H₀ (todas las medias iguales), F ≈ 1.
- H₀ del ANOVA: todas las medias de grupo son iguales. H₁: al menos una media difiere. NO te dice qué par difiere.
- **Problema post-hoc:** tras el rechazo del ANOVA, usa Tukey HSD o t-tests por pares con corrección de Bonferroni para encontrar qué pares difieren.
- **Supuestos:** independencia de observaciones, normalidad aproximada dentro de cada grupo e igualdad de varianzas (homocedasticidad).
Comparar el rendimiento de 3+ arquitecturas de modelos (cada una probada en el mismo dataset); tests A/B/C/D con 4 variantes; importancia de features para variables categóricas con 3+ niveles.
Si lo quitas: Correrías tests por pares e inflarías gravemente la tasa de falsos descubrimientos.