Contraste chi-cuadrado

El contraste chi-cuadrado es el método estándar para analizar datos categóricos. Tiene dos formas: el contraste de independencia (¿están asociadas dos variables categóricas?) y el de bondad de ajuste (¿sigue una variable categórica una distribución específica?). Ambos usan el mismo estadístico y la distribución chi-cuadrado como referencia.

El estadístico chi-cuadrado

Ambos contrastes comparten la misma idea central: comparar las frecuencias observadas \(O_i\) con las esperadas \(E_i\) bajo \(H_0\).

\[\chi^2 = \sum \frac{(O_i - E_i)^2}{E_i}\]

Valores grandes de \(\chi^2\) indican que los datos observados se alejan mucho de lo que predice \(H_0\). Bajo \(H_0\), este estadístico sigue una distribución \(\chi^2\) cuyos grados de libertad dependen del tipo de contraste.

Contraste de independencia

Se usa para contrastar si dos variables categóricas están asociadas en una tabla de contingencia.

Hipótesis: \(H_0\): las dos variables son independientes. \(H_1\): existe asociación.

Frecuencias esperadas para cada celda \((i, j)\):

\[E_{ij} = \frac{\text{total fila}_i \times \text{total columna}_j}{\text{total general}}\]

Grados de libertad: \(gl = (f-1)(c-1)\), donde \(f\) = número de filas y \(c\) = número de columnas.

Género y preferencia de producto

Una encuesta a 200 personas registra el género (Hombre/Mujer) y la preferencia por el producto (Le gusta/No le gusta):

Le gusta No le gusta Total
Hombre 60 40 100
Mujer 30 70 100
Total 90 110 200

Frecuencias esperadas bajo independencia:

\[E_{11} = \frac{100 \times 90}{200} = 45, \quad E_{12} = \frac{100 \times 110}{200} = 55\] \[E_{21} = \frac{100 \times 90}{200} = 45, \quad E_{22} = \frac{100 \times 110}{200} = 55\]

Estadístico del contraste:

\[\chi^2 = \frac{(60-45)^2}{45} + \frac{(40-55)^2}{55} + \frac{(30-45)^2}{45} + \frac{(70-55)^2}{55}\] \[= 5{,}000 + 4{,}091 + 5{,}000 + 4{,}091 = 18{,}182\]

\(gl = (2-1)(2-1) = 1\). Valor crítico con \(\alpha=0{,}05\): \(\chi^2_{0{,}05,1} = 3{,}841\).

Como \(18{,}182 > 3{,}841\), rechazamos \(H_0\). Hay una asociación significativa entre el género y la preferencia por el producto.

Example icon

Mapa de calor de frecuencias observadas frente a esperadas para la tabla de contingencia de género y preferencia de producto

El mapa de calor muestra la contribución de cada celda al \(\chi^2\): las celdas más rojas se alejan más de la independencia.

Tamaño del efecto: V de Cramér

El p-valor indica si la asociación es significativa, no cuán fuerte es. Para tablas de contingencia, usa la V de Cramér:

\[V = \sqrt{\frac{\chi^2}{n \times \min(f-1, c-1)}}\]

\(V\) oscila entre 0 (sin asociación) y 1 (asociación perfecta). Para una tabla \(2 \times 2\) es igual al valor absoluto del coeficiente phi.

Para el ejemplo: \(V = \sqrt{18{,}182 / (200 \times 1)} = \sqrt{0{,}0909} \approx 0{,}301\). Una asociación moderada.

⚠️ La significación estadística no equivale a una asociación fuerte

Con muestras grandes, incluso asociaciones triviales producen estadísticos chi-cuadrado significativos. Una encuesta a 10.000 personas podría dar \(\chi^2 = 5{,}2\) (\(p = 0{,}023\)) para una asociación con \(V = 0{,}02\): estadísticamente significativa pero prácticamente despreciable.

Informa siempre la V de Cramér junto con el p-valor. Como guía aproximada: \(V < 0{,}1\) es débil, \(0{,}1 \leq V < 0{,}3\) es moderada, \(V \geq 0{,}3\) es fuerte.

Contraste de bondad de ajuste

Se usa para contrastar si una variable categórica sigue una distribución específica.

Hipótesis: \(H_0\): la variable sigue la distribución especificada. \(H_1\): no la sigue.

Grados de libertad: \(gl = k - 1\), donde \(k\) es el número de categorías.

¿Es justo un dado?

Se lanza un dado 120 veces. Si es justo, cada cara debería aparecer 20 veces. Frecuencias observadas:

Cara 1 2 3 4 5 6
Observada 18 22 25 17 21 17
Esperada 20 20 20 20 20 20

\[\chi^2 = \frac{(18-20)^2}{20} + \frac{(22-20)^2}{20} + \frac{(25-20)^2}{20} + \frac{(17-20)^2}{20} + \frac{(21-20)^2}{20} + \frac{(17-20)^2}{20}\] \[= 0{,}2 + 0{,}2 + 1{,}25 + 0{,}45 + 0{,}05 + 0{,}45 = 2{,}6\]

\(gl = 6 - 1 = 5\). Valor crítico con \(\alpha=0{,}05\): \(\chi^2_{0{,}05,5} = 11{,}07\).

Como \(2{,}6 < 11{,}07\), no rechazamos \(H_0\). No hay evidencia significativa de que el dado sea injusto.

Example icon

Gráfico de barras comparando las frecuencias observadas y esperadas para el contraste de bondad de ajuste del dado

Supuestos

Ambos contrastes chi-cuadrado requieren:

  • Independencia: las observaciones no están emparejadas ni agrupadas.
  • Frecuencias esperadas \(\geq 5\): cada celda de la tabla debe tener una frecuencia esperada de al menos 5. Si esto no se cumple, combina categorías o usa el test exacto de Fisher (para tablas \(2 \times 2\)).
  • Recuentos, no porcentajes: el estadístico del contraste debe calcularse a partir de recuentos brutos, no de proporciones.

⚠️ El contraste chi-cuadrado no identifica qué celdas impulsan la asociación

Un resultado significativo en una tabla de contingencia grande indica que hay una asociación en algún lugar, pero no dónde. Usa los residuos estandarizados para identificar qué celdas se desvían más de la independencia:

\[r_{ij} = \frac{O_{ij} - E_{ij}}{\sqrt{E_{ij}}}\]

Las celdas con \(|r_{ij}| > 2\) contribuyen significativamente al \(\chi^2\) global. En R: chisq.test(tabla)$residuals.

Realizar los contrastes en R

Ambos contrastes están disponibles en R base. Para el contraste de independencia, pasa la tabla de contingencia a chisq.test(). Para la bondad de ajuste, pasa los recuentos observados y, opcionalmente, las probabilidades esperadas. El argumento correct = FALSE desactiva la corrección de continuidad de Yates, que rara vez es necesaria con muestras grandes pero se aplica por defecto en tablas \(2 \times 2\).

# Contraste de independencia
tabla <- matrix(c(60, 40, 30, 70), nrow = 2)
chisq.test(tabla, correct = FALSE)

# V de Cramér (paquetes rstatix o vcd)
library(vcd)
assocstats(tabla)

# Bondad de ajuste
observado <- c(18, 22, 25, 17, 21, 17)
chisq.test(observado)  # contrasta uniformidad por defecto

La salida incluye el estadístico, los grados de libertad y el p-valor. Los residuos estandarizados son accesibles mediante chisq.test(tabla)$residuals, lo que ayuda a identificar qué celdas impulsan un resultado significativo.

💡 Elegir entre chi-cuadrado y el test exacto de Fisher

Para tablas \(2 \times 2\) con muestras pequeñas (alguna frecuencia esperada \(< 5\)), usa el test exacto de Fisher (fisher.test() en R). Calcula el p-valor exacto a partir de la distribución hipergeométrica y no requiere muestras grandes. Para tablas mayores, el chi-cuadrado es el enfoque estándar.