9.2 Prueba de independencia o asociación

Un uso muy frecuente de la prueba de \(\chi^2\) es la de probar si dos características son independientes o tienen una asociación de manera que las frecuencias elevadas en una de ellas suele ser acompañado con frecuencias altas en la otra.

Digamos que estamos haciendo una encuesta de opinión y preguntamos a 1230 argentinas y a 961 argentinos si están a favor o en contra de la ley del aborto o no. Queremos saber si en género de la persona está asociado con esa opinión. Entonces nuestros datos se pueden desplegar en una tabla 2 por 2.

A favor En contra
Mujeres 762 468
Hombres 484 477

La hipótesis nula es que no hay asociación entre las dos variables, es decir que el género de la persona no se asocia con su opinión política sobre este tema. Para calcular los valores esperados tenemos que calcular las sumas de las filas y las columnas y además el total de ellos.

Tabla 9.1: Opiniones sobre la ley del aborto.
A favor En contra total
Mujeres 762 468 1230
Hombres 484 477 961
total 1246 945 2191

El valor esperado es la cantidad de las observaciones que caen en cada celda si las distribuimos proporcionalmente. Esto se calcula multiplicando las sumas de la fila y columna de la celda respectiva y dividir por el total de las observaciones. Por ejemplo, el valor esperado de mujeres a favor sería: \[ E = {{1230\times1246}\over2191} = 699,48 \]

Si calculamos esto para todas las celdas obtenemos:

Tabla 9.2: Valores esperados: opiniones sobre la ley del aborto.
A favor En contra total
Mujeres 699,49 530,51 1230
Hombres 546,51 414,49 961
total 1246,00 945,00 2191

y con esto podemos calcular las diferencias.

Tabla 9.3: Diferencias entre valores observados y esperados.
A favor En contra
Mujeres 62,51 -62,51
Hombres -62,51 62,51

y podemos aplicar la fórmula en 9.1:

\[ \chi^2 = \sum{(O-E)^2\over{E}} = {62,52^2\over699,49} +{-62,52^2\over530,51} +{62,52^2\over546,51}+{-62,52^2\over414,49} = 29,53. \]

Podemos comparar este valor con los de la tabla en el apendice C para un grado de libertad. Vemos que rechazamos \(H_0\) y concluimos que el género sí influye en la opinión sobre este tema.

9.2.1 Grados de libertad

A lo largo de este texto se ha mencionado en algunas ocasiones el término grados de libertad y hasta ahora no ha sido demasiado complejo calcularlo restando uno del número de observaciones. El concepto de grado de libertad se puede entender si consideramos la tabla 9.1 en la que tenemos una tabla de contingencia \(2\times2\). Calculamos en ese caso las frecuencias marginales que están el la columna suma. Imaginemos que tenemos la misma tabla con las frecuencias marginales pero con una sola de las frecuencias observadas. Así lo hemos hecho en la tabla 9.4

Tabla 9.4: Tabla de contingencia con un solo valor.
A favor En contra total
Mujeres 762 - 1230
Hombres - - 961
total 1246 945 2191

Con este único valor podemos rellenar las demás celdas, ya que su contenido está dato por la diferencia entre ese valor y los totales marginales. Esto quiere decir que en esta tabla hay un solo valor que se pueda asignar arbitrariamente, el resto está dado por este valor. Por ello decimos que tenemos un solo grado de libertad.

En capítulos anteriores hemos visto que los grados de libertad a menudo son N-1. Podemos usar un ejemplo sencillo para demostrar por qué tiene que ser así. Si hacemos un conjunto de tres números y queremos que la suma sea diez, podemos asignar cualquier número en las primeras dos posiciones, pero cuando vamos a asignar el tercero ya no tenemos libertad de eligir. Entonces tenemos dos grados de libertad.

Para una tabla de contingencia la fórmula general para calcular los grados de libertad es: \((c-1)\times(f-1)\) es decir número de columnas menos uno por número de filas menos uno. Si la tabla es de \(3\times3\), tendríamos 4 grados de libertad.

Ejemplo 9.1 (Prueba de \(\chi^2\) en R)

En este ejemplo vamos a realizar la misma prueba de \(\chi^2\) que fuimos desarrollando en las secciones anteriores. Podemos usar la función de R chisq.test para realizarla. Toma como argumento una matriz de datos de las frecuencias.

M <- as.table(
  rbind(c(762, 468), 
        c(484, 477))
  )
# Damos nombre a las columnas y las filas 
colnames(M) <- c("A favor","En contra")
rownames(M) <- c("Mujeres","Hombres")

# Verificamos el ingreso de datos
M
##         A favor En contra
## Mujeres     762       468
## Hombres     484       477

Como se puede observar, la sintaxis de R no es del todo intuitiva, por lo que siempre conviene verificar que tenemos los números y nombres correctos antes de proceder con el test.

# Realizamos test de ji-cuadrado
chisq.test(M)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  M
## X-squared = 29.06, df = 1, p-value = 7.019e-08

El valor de p es tan bajo que R lo devuelve en notación científica. La parte e-08 quiere decir que el número es: 0,000000007019, es decir que hay ocho ceros antes de los dígitos significativos.

También vemos que el valor de \(\chi^2\) que calculó R es distinto al que calculamos a mano, aunque sea por unas décimas. Esto se debe a que por defecto R hace una corrección de Yates. Yates descubrió que para una tabla de contingencia \(2\times2\) hay un sesgo positivo y propuso una técnica para contrarrestar el sesgo. Si queremos usar la formula original, y la que usamos para nuestro cálculo a mano podemos agregar el parámetro correct = FALSE a la función así:

chisq.test(M, correct = FALSE)
## 
##  Pearson's Chi-squared test
## 
## data:  M
## X-squared = 29.53, df = 1, p-value = 5.506e-08

y vemos que R coincide con nuestros cálculos.