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%.

Distribución F con regiones de rechazo bilaterales y el estadístico F observado para el ejemplo de las líneas de producción

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.

Distribución F con región de rechazo derecha y el estadístico F observado para el ejemplo de la precisión del instrumento

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.