Test de Kruskal-Wallis

El test de Kruskal-Wallis es la alternativa no paramétrica al ANOVA de un factor. Sustituye las observaciones originales por sus rangos y contrasta si las distribuciones de rangos son iguales en todos los grupos. No requiere el supuesto de normalidad y es robusto frente a valores atípicos y distribuciones asimétricas.

Cuándo usar Kruskal-Wallis en lugar de ANOVA

Usa el test de Kruskal-Wallis cuando:

  • Los datos son claramente no normales y los tamaños muestrales son pequeños (el TCL no ayuda).
  • Los datos son ordinales (por ejemplo, escalas Likert, clasificaciones).
  • Hay valores atípicos extremos que distorsionarían el estadístico F del ANOVA.
  • El test de Levene rechaza la homocedasticidad y el ANOVA de Welch tampoco es apropiado.

Cuando los tamaños muestrales son grandes y los datos son continuos, el ANOVA de un factor (o el de Welch) suele ser preferible por su mayor potencia.

Hipótesis

\(H_0\): los \(k\) grupos tienen la misma distribución (equivalentemente, la misma mediana poblacional).

\(H_1\): al menos un grupo tiene una distribución distinta.

⚠️ Kruskal-Wallis contrasta distribuciones, no solo medianas

Una descripción habitual dice que el test de Kruskal-Wallis compara medianas. Esto solo es exacto cuando los grupos tienen la misma forma distribucional y difieren únicamente en localización. En general, el test es sensible a cualquier diferencia en la distribución (localización, dispersión, forma). Un resultado significativo indica que los grupos difieren de algún modo, pero no necesariamente en sus medianas. Interpreta los resultados con cuidado cuando los grupos tienen formas o varianzas muy distintas.

Estadístico del test

Se combinan las \(N = n_1 + n_2 + \cdots + n_k\) observaciones y se ordenan de 1 a \(N\) (rangos medios para empates). Sea \(R_{ij}\) el rango de la \(j\)-ésima observación del grupo \(i\), y \(\bar{R}_i = \frac{1}{n_i}\sum_j R_{ij}\) el rango medio del grupo \(i\).

\[H = \frac{12}{N(N+1)} \sum_{i=1}^{k} n_i \left(\bar{R}_i - \frac{N+1}{2}\right)^2\]

Bajo \(H_0\), \(H\) sigue aproximadamente una distribución \(\chi^2\) con \(k-1\) grados de libertad (exacta para muestras grandes). Cuanto mayor es \(H\), más difieren las distribuciones de rangos entre los grupos.

Con empates se aplica un factor de corrección: \(H_\text{corr} = H / C\) donde \(C = 1 - \sum_t(t^3-t)/(N^3-N)\) y \(t\) es el tamaño de cada grupo empatado. Con pocos empates la corrección es despreciable.

Ejemplo completo

Una psicóloga mide las puntuaciones de ansiedad (0-100) en tres grupos de terapia tras 8 semanas:

  • Grupo A (TCC): 32, 28, 35, 30, 27
  • Grupo B (Mindfulness): 45, 52, 48, 55, 50
  • Grupo C (Control): 60, 58, 65, 62, 70

Paso 1: asignar rangos a las 15 observaciones conjuntamente.

Puntuación 27 28 30 32 35 45 48 50 52 55 58 60 62 65 70
Rango 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Grupo A A A A A B B B B B C C C C C

Paso 2: rangos medios. \(\bar{R}_A = (1+2+3+4+5)/5 = 3\), \(\bar{R}_B = (6+7+8+9+10)/5 = 8\), \(\bar{R}_C = (11+12+13+14+15)/5 = 13\).

Rango medio global: \((N+1)/2 = 16/2 = 8\).

Paso 3: calcular \(H\).

\[H = \frac{12}{15 \times 16}\left[5(3-8)^2 + 5(8-8)^2 + 5(13-8)^2\right]\] \[= \frac{12}{240}\left[5 \times 25 + 0 + 5 \times 25\right] = 0{,}05 \times 250 = 12{,}50\]

P-valor (\(\chi^2\) con \(gl = 2\)): \(p = P(\chi^2_2 \geq 12{,}50) \approx 0{,}002\).

Decisión: rechazamos \(H_0\). Los tres grupos de terapia difieren significativamente en las puntuaciones de ansiedad.

Dos paneles: el izquierdo muestra gráficos de puntos de las puntuaciones de ansiedad por grupo de terapia, el derecho muestra la distribución chi-cuadrado con la región de rechazo y el estadístico H

Tests post-hoc: test de Dunn

Al igual que el ANOVA, un resultado significativo del test de Kruskal-Wallis solo indica que algunos grupos difieren. El test de Dunn realiza comparaciones por pares usando las sumas de rangos del test original, con una corrección para comparaciones múltiples (habitualmente Bonferroni o Holm).

Resultados del test de Dunn mostrando las comparaciones por pares entre grupos de terapia con p-valores ajustados

Los tres pares difieren significativamente tras el ajuste de Bonferroni. La TCC produce las puntuaciones de ansiedad más bajas, seguida de Mindfulness y luego el control.

Realizar el test en R

# Test de Kruskal-Wallis
kruskal.test(puntuacion ~ grupo, data = df_anx)

# Test post-hoc de Dunn con corrección de Bonferroni
library(dunn.test)
dunn.test(df_anx$puntuacion, df_anx$grupo, method = "bonferroni")

# O con el paquete FSA (corrección de Holm)
library(FSA)
dunnTest(puntuacion ~ grupo, data = df_anx, method = "holm")

💡 Kruskal-Wallis vs ANOVA de un factor: eficiencia

Cuando se cumple el supuesto de normalidad, el test de Kruskal-Wallis tiene aproximadamente el 95,5% de la potencia del ANOVA de un factor (la misma eficiencia relativa asintótica que el test de Wilcoxon frente al test t). Para distribuciones no normales, Kruskal-Wallis puede ser sustancialmente más potente. El coste de usar Kruskal-Wallis cuando el ANOVA es válido es pequeño; el coste de usar ANOVA cuando se necesita Kruskal-Wallis puede ser grande.