29 · Partición de varianza y ANOVA en profundidad (capstone)
El secreto del ANOVA es que variación total = variación entre grupos + variación dentro de grupos. Esa identidad impulsa R², eta-cuadrado y en última instancia toda la regresión.
El secreto del ANOVA es la partición de varianza: la variación total en los datos es igual a la variación entre grupos más la variación dentro de grupos.
Sin esto:
Sin la vista de partición, no puedes razonar sobre R² (la proporción de varianza explicada) ni calcular tamaños del efecto como eta-cuadrado.
En la lección anterior aprendiste cómo ejecutar ANOVA con scipy.stats.f_oneway. Ahora abrimos el capó y vemos por qué funciona el F-test — a través de la partición de varianza.
La identidad fundamental del ANOVA:
SST = SSB + SSW
donde:
- SST (suma de cuadrados total) = Σᵢ (xᵢ − gran_media)² — variación total en todos los datos.
- SSB (SS entre grupos) = Σⱼ nⱼ (x̄ⱼ − gran_media)² — variación debida a la pertenencia al grupo.
- SSW (SS dentro de grupos) = Σⱼ Σᵢ (xᵢⱼ − x̄ⱼ)² — variación dentro de cada grupo (ruido puro).
Esto siempre se cumple exactamente — es una identidad algebraica, no una aproximación.
De estas sumas de cuadrados obtenemos medias cuadráticas (estimaciones de varianza):
| | Fórmula | gl | |--|---------|-----| | MSB (entre grupos) | SSB / (k − 1) | k − 1 | | MSW (dentro de grupos) | SSW / (N − k) | N − k | | F | MSB / MSW | — |
Eta-cuadrado (η²):
η² = SSB / SST
Esta es la proporción de varianza total explicada por la pertenencia al grupo — idéntica a R² en regresión lineal. Un modelo con η² = 0.30 explica el 30% de la varianza en el resultado solo mediante diferencias de grupo.
La conexión con la regresión:
El ANOVA de una vía es literalmente regresión lineal con un predictor categórico codificado en one-hot. Si creas variables dummy para k grupos (descartando uno como referencia) y ejecutas statsmodels.ols, el estadístico F y el p-value al final del resumen son los mismos que f_oneway. El R² en el resultado de la regresión iguala η².
Esto significa que R² — la cantidad que todo científico de datos lee primero en un resultado de regresión — es simplemente la partición de varianza del ANOVA aplicada a un predictor continuo.
Python (in browser)
Partición de varianza manual: calcula SST, SSB, SSW a mano, verifica SST = SSB + SSW exactamente, luego deriva MSB, MSW, F y η². Esto es lo que f_oneway calcula internamente.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Verificación de supuestos del ANOVA: test de Levene para varianzas iguales (si p < 0.05, cambiar a ANOVA de Welch) y Shapiro-Wilk para normalidad dentro de cada grupo.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Cuando el test de Levene señala varianzas desiguales, el ANOVA de Welch (scipy.stats.alexandergovern) es la alternativa robusta. Ajusta los grados de libertad para tener en cuenta la heterocedasticidad.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
ANOVA = regresión lineal con predictores categóricos codificados como dummies. El estadístico F y R² (= η²) son idénticos en ambas formulaciones. Esto hace del ANOVA el ancestro conceptual de toda la familia de regresión.
En un ANOVA de una vía, SSB = 30 y SSW = 70. ¿Cuál es η² (eta-cuadrado)?
La identidad de partición de varianza SST = SSB + SSW y su forma de álgebra matricial sostienen todo, desde la regresión lineal hasta el PCA. Revisa el capítulo 35 de MML para el tratamiento completo.
- **Descomposición:** SST = SSB + SSW (suma de cuadrados total = entre + dentro). Esta identidad siempre se cumple exactamente.
- **Medias cuadráticas:** MSB = SSB/(k−1), MSW = SSW/(N−k). F = MSB / MSW.
- **Eta-cuadrado:** η² = SSB / SST — la proporción de varianza total explicada por la pertenencia al grupo. Idéntico a R² en una regresión ANOVA de una vía.
- **Conexión con la regresión:** ANOVA = regresión lineal con predictor categórico codificado en one-hot. El F-test en ambos resultados es la misma prueba.
R² en regresión lineal, descomposición de varianza de AUC, estudios de ablación que comparan variantes de modelos. ANOVA es el ancestro conceptual de la regresión, los modelos lineales generalizados y el análisis de desvianza.
Si lo quitas: No puedes razonar sobre '¿cuánta varianza explica este feature?' — la pregunta fundamental del diagnóstico de regresión.