F test en R con var.test() para comparar dos varianzas

Estadística con R Contrastes de hipótesis
F test en R con var.test()

La función var.test de R se utiliza para realizar un F-test para comparar las varianzas de dos muestras. Esta prueba estadística evalúa si las varianzas de dos poblaciones son iguales o no.

Sintaxis

La sintaxis de la función var.test es la siguiente:

var.test(x, y, ratio = 1,
         alternative = c("two.sided", "less", "greater"),
         conf.level = 0.95, ...)

# Método para la clase 'formula'
var.test(formula, data, subset, na.action, ...)

Siendo:

  • x, y: las muestras o vectores numéricos que deben compararse para la prueba de varianza.
  • ratio: el ratio de varianzas bajo la hipótesis nula. Por defecto, es 1 (lo que indica igualdad de varianzas).
  • alternative: cadena de caracteres que indica la hipótesis alternativa. Los valores posibles son:"two.sided" (por defecto), "less" o "greater".
  • ...: argumentos adicionales.

Esta función devuelve el estadístico de la prueba F (F), los grados de libertad del numerador (num df) y del denominador (denom df), el p-valor, la hipótesis alternativa, el intervalo de confianza para el cociente de varianzas y la estimación muestral para el cociente de varianzas.

La prueba F de Snedecor supone que las observaciones se extraen de dos distribuciones normales independientes \(X\) e \(Y\).

Varianzas iguales

Las hipótesis nula y alternativa de la prueba de igualdad de varianzas son las siguientes:

  • \(H_0\): la varianza de X ES IGUAL a la varianza de \(Y\).
  • \(H_1\): la varianza de X ES DISTINTA a la varianza de \(Y\).

Considera que quieres comprobar si las varianzas de dos variables denominadas x e y son iguales, o en otras palabras, que el cociente entre las varianzas es uno. Para ello, puedes introducir las variables en la función var.test como en el ejemplo siguiente.

# Datos de muestra
set.seed(11)
x <- rnorm(100)
y <- rnorm(100)

# ¿Es la varianza 'x' igual a la varianza de 'y'?
var.test(x = x, y = y)

# Equivalente a
# df <- data.frame(vars = c(x, y), grupos = c(rep("G1", 100), rep("G2", 100)))
# var.test(vars ~ grupos, data = df)
	F test to compare two variances

data:  x and y
F = 0.86821, num df = 99, denom df = 99, p-value = 0.4833
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.584168 1.290363
sample estimates:
ratio of variances 
         0.8682101 

La conclusión extraída de la prueba es que, basándonos en el p-valor (0.4833), no hay pruebas suficientes para rechazar la hipótesis nula de varianzas iguales, ya que es mayor que los niveles de significación habituales. Además, el intervalo de confianza del 95 por ciento para la razón de varianzas es (0.584168, 1,.290363), que incluye el valor 1. Esto indica que, con un nivel de confianza del 95 por ciento, es plausible que la proporción de varianzas sea igual a 1. La estimación de la muestra para la proporción de varianzas es 0.862101.

Por defecto, cuando ratio = 1, la función realiza un test para determinar la igualdad de varianzas. Sin embargo, puedes establecer otros valores para realizar tests sobre otros cocientes.

Varianza menor

Cuando se establece alternative = "less", la hipótesis alternativa es que la varianza de X es menor que la varianza de Y, esto es:

  • \(H_0\): la varianza de X ES IGUAL a la varianza de \(Y\).
  • \(H_1\): la varianza de X ES MENOR QUE la varianza de \(Y\).

Consideremos el siguiente ejemplo en el que la varianza de y es mayor que la varianza de x:

# Datos de muestra
set.seed(11)
x <- rnorm(100)
y <- rnorm(100, sd = 5)

# ¿Es la varianza de 'x' menor que la varianza de 'y'?
var.test(x = x, y = y, alternative = "less")
	F test to compare two variances

data:  x and y
F = 0.034728, num df = 99, denom df = 99, p-value < 2.2e-16
alternative hypothesis: true ratio of variances is less than 1
95 percent confidence interval:
 0.00000000 0.04841352
sample estimates:
ratio of variances 
        0.03472841 

El p-valor es casi 0, lo que implica que hay pruebas sólidas para rechazar la hipótesis nula de igualdad de varianzas. Además, el intervalo de confianza del 95 por ciento oscila entre 0 y 0.04841352, por lo que es posible que el ratio de varianzas se encuentre entre estos dos valores, lo que apoya aún más la conclusión de que la varianza de X es significativamente menor que la varianza de Y.

Varianza mayor

La última hipótesis alternativa posible es que la varianza de X es mayor que la varianza de Y:

  • \(H_0\): la varianza de X ES IGUAL a la varianza de \(Y\).
  • \(H_1\): la varianza de X ES MAYOR QUE la varianza de \(Y\).

Considerando los mismos datos que en el ejemplo anterior tenemos lo siguiente:

# Datos de muestra
set.seed(11)
x <- rnorm(100)
y <- rnorm(100, sd = 5)

# ¿Es la varianza de 'x' mayor que la varianza de 'y'?
var.test(x = x, y = y, alternative = "greater")
	F test to compare two variances

data:  x and y
F = 0.034728, num df = 99, denom df = 99, p-value = 1
alternative hypothesis: true ratio of variances is greater than 1
95 percent confidence interval:
 0.02491168        Inf
sample estimates:
ratio of variances 
        0.03472841

La prueba F de Snedecor da como resultado un p-valor de 1, lo que indica que no hay pruebas estadísticas para rechazar la hipótesis nula de igualdad de varianzas. Además, el intervalo de confianza del 95 por ciento oscila entre 0.02491168 e \(\infty\), incluyendo el valor 1, lo que sugiere que no hay evidencias concluyentes de que la varianza de X sea mayor que la varianza de Y.