8.2 Prueba de los rangos con signo de Wilcoxon

Vimos en la sección 8.1 que la prueba U de Mann-Whitney puede ser una alternativa a la prueba de t de Student para muestras intependiente (véase la sección 7.1) cuando los requisitos para un test paramétrico no se cumplen. Si los datos son pareados tenemos la prueba de los rangos con signo de Wilcoxon como alternativa a prueba t para muestras pareadas que vimos en la sección 7.4.

La lógica de la prueba de los rangos con signo de Wilcoxon es similar a la de la prueba de t pareada. Si no hay diferencia en el antes y despues, por ejemplo, las diferencias entre las observaciones deberían tender a cero.

Ejemplo 8.2 (Prueba de los rangos con signo de Wilcoxon en R)

En este ejemplo vamos a suponer que tenemos un grupo de doce pacientes con artritis y les damos dos medicaciones distintas para aliviar los síntomas. Pedimos a todos que nos indiquen cuantas horas de alivio observaron con ambas drogas.

Los datos se observan en la tabla 8.1.

Tabla 8.1: Eficiencia de dos medicamentos reportada por los pacientes.
Paciente Droga.A Droga.B
1 2,0 3,5
2 3,6 5,7
3 2,6 2,9
4 2,7 2,4
5 7,3 9,9
6 3,4 3,3
7 14,9 16,7
8 6,6 6,0
9 2,3 3,8
10 2,1 4,0
11 6,8 9,1
12 8,5 20,9

En R ponemos los datos en un data.frame:

datos = data.frame(
  Paciente = c( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12),
  Droga.A = c( 2,  3.6,  2.6,  2.7,  7.3,  3.4,  14.9,  6.6,  2.3,  2.1,  6.8,  8.5),
  Droga.B = c( 3.5,  5.7,  2.9,  2.4,  9.9,  3.3,  16.7,  6,  3.8,  4,  9.1,  20.9)
)

E iniciamos nuestros tests:

var.test(datos$Droga.A,datos$Droga.B)
## 
##  F test to compare two variances
## 
## data:  datos$Droga.A and datos$Droga.B
## F = 0.41865, num df = 11, denom df = 11, p-value = 0.1643
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
##  0.1205199 1.4542635
## sample estimates:
## ratio of variances 
##          0.4186498

¡Bien! No tenemos problemas de varianza.

shapiro.test(datos$Droga.A)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos$Droga.A
## W = 0.80692, p-value = 0.01124
shapiro.test(datos$Droga.B)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos$Droga.B
## W = 0.7883, p-value = 0.006919

¡Ups!, las variables no tienen distribución normal. Entonces no podemos usar la prueba t pareada, tenemos que probar con Wilcoxon.

Usamos la función wilcox.test con el parametro extra de paired = TRUE.

wilcox.test(datos$Droga.A, datos$Droga.B, paired = TRUE)
## 
##  Wilcoxon signed rank test with continuity correction
## 
## data:  datos$Droga.A and datos$Droga.B
## V = 8, p-value = 0.01669
## alternative hypothesis: true location shift is not equal to 0

Vemos que el valor p se encuentra debajo de nuestro nivel de significanza (\(\alpha=0,05\)), con lo cual rechazamos \(H_0\) y concluimos que hay una diferencia estadísticamente significativa entre las dos mediamentos.

¿Y si usabamos la prueba t igual?

Si nos hubéramos olvidado de verificar la conformidad de los requisitos podríamos haber caído en la prueba t paramétrica, ¿qué hubiera pasado?

Veamos:

t.test(datos$Droga.A, datos$Droga.B, paired = TRUE)
## 
##  Paired t-test
## 
## data:  datos$Droga.A and datos$Droga.B
## t = -2.1465, df = 11, p-value = 0.05498
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -4.28706458  0.05373125
## sample estimates:
## mean of the differences 
##               -2.116667

Podemos observar que la prueba de t es sensible a la falta de normalidad en nuestras variables y no logra rechazar \(H_0\).