Test F de igualdad de varianzas
El test F compara las varianzas de dos poblaciones independientes formando el cociente de sus varianzas muestrales. Se usa como verificación previa antes de los tests t con varianzas combinadas, pero su extrema sensibilidad a la no normalidad hace que el test de Levene sea una alternativa más robusta en la mayoría de las situaciones prácticas.
Contexto: dos usos de la distribución F
La distribución F aparece en dos contextos de contraste distintos que no deben confundirse:
- Test F para dos varianzas: contrasta \(H_0: \sigma_1^2 = \sigma_2^2\) usando el cociente \(S_1^2/S_2^2\). Este es el tema de este post.
- Test F en ANOVA: contrasta la igualdad de medias en tres o más grupos usando el cociente de la varianza entre grupos y la varianza dentro de grupos. Se trata en el post de ANOVA.
Ambos usan la distribución F pero responden preguntas completamente distintas.
Hipótesis
| Test | \(H_0\) | \(H_1\) |
|---|---|---|
| Bilateral | \(\sigma_1^2 = \sigma_2^2\) | \(\sigma_1^2 \neq \sigma_2^2\) |
| Unilateral derecho | \(\sigma_1^2 = \sigma_2^2\) | \(\sigma_1^2 > \sigma_2^2\) |
| Unilateral izquierdo | \(\sigma_1^2 = \sigma_2^2\) | \(\sigma_1^2 < \sigma_2^2\) |
Estadístico del test
Dadas dos muestras independientes con varianzas muestrales \(S_1^2\) (\(n_1\) observaciones) y \(S_2^2\) (\(n_2\) observaciones):
\[F = \frac{S_1^2}{S_2^2}\]
Bajo \(H_0\) y el supuesto de que ambas poblaciones son normales, \(F \sim F(n_1-1,\, n_2-1)\).
Por convenio, se coloca la varianza mayor en el numerador para un test unilateral derecho. Para tests bilaterales, el p-valor es \(2 \times \min(P(F \leq F_\text{obs}),\, P(F \geq F_\text{obs}))\).
⚠️ El test F es extremadamente sensible a la no normalidad
A diferencia del test t (que es robusto frente a desviaciones leves de la normalidad), el test F para varianzas no es nada robusto. Los datos no normales pueden producir resultados muy significativos aunque las varianzas poblacionales sean iguales, simplemente porque el cociente de varianzas muestrales es sensible a la asimetría y las colas pesadas.
Para datos no normales, usa:
- Test de Levene: basado en desviaciones absolutas respecto a la mediana del grupo. Mucho más robusto. Disponible en R mediante
car::leveneTest(). - Test de Brown-Forsythe: similar al de Levene pero usa la mediana en lugar de la media, incluso más robusto frente a valores atípicos. Disponible mediante
lawstat::levene.test(..., location = "median").
Usa el test F solo cuando hayas verificado que ambas muestras provienen de distribuciones normales.
Ejemplos
Ejemplo 1: consistencia de dos líneas de producción (bilateral)
Una fábrica tiene dos líneas de producción fabricando el mismo componente. Los ingenieros de calidad muestrean 20 unidades de la línea 1 (\(S_1^2 = 4{,}8\) mm²) y 18 de la línea 2 (\(S_2^2 = 2{,}1\) mm²). ¿Hay evidencia de que la variabilidad difiere entre las líneas?
Hipótesis: \(H_0: \sigma_1^2 = \sigma_2^2\) frente a \(H_1: \sigma_1^2 \neq \sigma_2^2\).
Estadístico del test:
\[F = \frac{4{,}8}{2{,}1} \approx 2{,}286 \quad (gl_1 = 19,\; gl_2 = 17)\]
P-valor (bilateral):
\[p = 2 \times P(F_{19,17} \geq 2{,}286) \approx 2 \times 0{,}061 = 0{,}122\]
Decisión: \(p = 0{,}122 > 0{,}05\), no rechazamos \(H_0\).
No hay evidencia significativa de diferencia en variabilidad entre las dos líneas al nivel del 5%.

Ejemplo 2: precisión de un nuevo instrumento (unilateral derecho)
Un laboratorio afirma que un nuevo instrumento de medida es más preciso que el actual. Instrumento actual: \(n_1 = 25\) medidas, \(S_1^2 = 0{,}042\) mg². Nuevo instrumento: \(n_2 = 21\) medidas, \(S_2^2 = 0{,}018\) mg². ¿Hay evidencia de que el instrumento actual es más variable?
Hipótesis: \(H_0: \sigma_1^2 = \sigma_2^2\) frente a \(H_1: \sigma_1^2 > \sigma_2^2\).
Estadístico del test:
\[F = \frac{0{,}042}{0{,}018} \approx 2{,}333 \quad (gl_1 = 24,\; gl_2 = 20)\]
P-valor (unilateral derecho):
\[p = P(F_{24,20} \geq 2{,}333) \approx 0{,}038\]
Decisión: \(p = 0{,}038 < 0{,}05\), rechazamos \(H_0\).
El instrumento actual es significativamente más variable que el nuevo. La afirmación del laboratorio sobre la mejora en precisión está respaldada.

Conexión con el intervalo de confianza
Un IC al \((1-\alpha)\) para \(\sigma_1^2/\sigma_2^2\) está directamente relacionado con el test F bilateral: si el IC excluye el 1, el test rechaza \(H_0\) al nivel \(\alpha\). El IC también muestra la magnitud del cociente de varianzas, algo que el p-valor solo no revela.
Para el ejemplo 1: \(\text{IC} = (F/F_{0{,}975};\; F/F_{0{,}025}) = (2{,}286/2{,}769;\; 2{,}286/0{,}393) = (0{,}83;\; 5{,}82)\). Como 1 está dentro del intervalo, el test no rechaza \(H_0\), consistente con \(p = 0{,}122\).
Realizar el test en R
# Test F de igualdad de varianzas
var.test(x1, x2, alternative = "two.sided")
var.test(x1, x2, alternative = "greater")
# Test de Levene (más robusto, recomendado para datos no normales)
library(car)
leveneTest(value ~ group, data = df)
# Test de Brown-Forsythe
library(lawstat)
levene.test(value, group, location = "median")
var.test() en R coloca la varianza mayor en el numerador por defecto cuando alternative = "greater".
💡 Qué test usar para comparar varianzas
- Datos normales (verificado con test de Shapiro-Wilk o gráfico Q-Q): usa el test F (
var.test()). - Datos no normales o normalidad incierta: usa el test de Levene (
car::leveneTest()). - Datos con valores atípicos extremos o colas muy pesadas: usa Brown-Forsythe.
- Solo necesitas verificar el supuesto de igualdad de varianzas antes de un test t con varianzas combinadas: ten en cuenta que el test t de Welch no requiere varianzas iguales y es preferido por defecto. La prueba de varianzas a menudo es innecesaria si simplemente usas Welch.