¿Cómo interpreto la U de Mann-Whitney cuando uso la interfaz de fórmula de R?

9

Digamos que tenemos los siguientes datos:

set.seed(123)
data <- data.frame(x = c(rnorm(50, 1, 1), rnorm(50, 5, 2)),
                   y = c(rep('A', 50),    rep('B', 50)))

Lo que produce el siguiente diagrama de caja ( boxplot(data$x ~ data$y)):

diagrama de caja

Ahora digamos que quiero probar si las dos muestras tienen los mismos parámetros de ubicación (mediana y / o media). En mi caso real, los datos claramente no son normales , así que decidí ejecutar la prueba de Wilcoxon-Mann-Whitney, así:

wilcox.test(data$x ~ data$y)

Sin embargo, me gustaría que la hipótesis alternativa sea que B, data$yel "segundo" factor, proviene de una distribución con parámetros de posición más altos. Intenté establecer el alternativeparámetro en "mayor" y "menor", pero aparentemente las hipótesis alternativas no son lo que estoy buscando. Por ejemplo, alternative = "greater"me dice "hipótesis alternativa: el cambio de ubicación verdadero es mayor que 0"; alternative = "less"me dice "hipótesis alternativa: el cambio de ubicación verdadero es menor que 0".

¿Cómo puedo ajustar la wilcox.test()función para tener la hipótesis alternativa que quiero (B proviene de una distribución con parámetros de posición más altos que A)? ¿O debería usar otra prueba en su lugar?

Waldir Leoncio
fuente
3
Piensa en lo que significa "cambio de ubicación".
Roland
1
¿En qué sentido sus datos no son normales? Según los diagramas de caja (posiblemente no sea la mejor manera de decidir, pero qué hay allí), ciertamente parecen lo suficientemente normales. Además, generó sus datos con rnorm(), por lo que tienen que ser normales . Me pregunto si estás confundido acerca de la naturaleza del supuesto de normalidad; puede ayudarlo a leer este hilo: ¿Qué pasa si los residuos se distribuyen normalmente pero y no ?
gung - Restablece a Monica
1
Solo estoy ampliando el punto de @ Roland, pero ¿por qué crees que hay un problema? Parece darte exactamente lo que quieres.
Gala
3
La prueba de Wilcoxon-Mann-Whitney es sensible a tipos de diferencia más generales que un cambio de ubicación directo; por ejemplo, con valores positivos, es igualmente sensible a un cambio de escala (tomar registros convierte el cambio de escala a un cambio de ubicación, pero la estadística WMW es la misma). Incluso puede tratar una alternativa unilateral como general, como por ejemplo (por ejemplo, consulte Estadísticas prácticas no paramétricas de Conover ). PAGS(X>Y)>12
Glen_b -Reinstate Monica
2
(ctd) ... Por otro lado, dijo en un momento "* Quiero probar si las dos muestras provienen de la misma distribución *"; dado que hay más formas de que eso sea falso que una tendencia a que una variable sea más alta (por ejemplo, un cambio en la variabilidad con ubicaciones similares o un cambio en la asimetría o en el pico), si realmente solo desea probar la igualdad de distribuciones vs desigualdad de ellos probablemente debería considerar una muestra de dos Kolmogorov-Smirnov. Si está interesado en una alternativa 'tiende a ser mayor', entonces WMW debería estar bien.
Glen_b -Reinstate Monica

Respuestas:

9

Técnicamente, la categoría de referencia y la dirección de la prueba dependen de la forma en que se codifica la variable factor. Con los datos de tu juguete:

> wilcox.test(x ~ y, data=data, alternative="greater")

    Wilcoxon rank sum test with continuity correction

data:  x by y 
W = 52, p-value = 1
alternative hypothesis: true location shift is greater than 0 

> wilcox.test(x ~ y, data=data, alternative="less")

    Wilcoxon rank sum test with continuity correction

data:  x by y 
W = 52, p-value < 2.2e-16
alternative hypothesis: true location shift is less than 0 

Observe que la estadística W es la misma en ambos casos, pero la prueba usa colas opuestas de su distribución de muestreo. Ahora veamos la variable factor:

> levels(data$y)
[1] "A" "B"

Podemos recodificarlo para hacer que "B" sea el primer nivel:

> data$y <- factor(data$y, levels=c("B", "A"))

Ahora tenemos:

> levels(data$y)
[1] "B" "A"

Tenga en cuenta que no cambiamos los datos ellos mismos , solo la forma en que la variable categórica se codifica "bajo el capó":

> head(data)
          x y
1 0.4395244 A
2 0.7698225 A
3 2.5587083 A
4 1.0705084 A
5 1.1292877 A
6 2.7150650 A

> aggregate(data$x, by=list(data$y), mean)
  Group.1        x
1       B 5.292817
2       A 1.034404

Pero las direcciones de la prueba ahora están invertidas:

> wilcox.test(x ~ y, data=data, alternative="greater")

    Wilcoxon rank sum test with continuity correction

data:  x by y 
W = 2448, p-value < 2.2e-16
alternative hypothesis: true location shift is greater than 0 

La estadística W es diferente, pero el valor p es el mismo que para la alternative="less"prueba con las categorías en el orden original. Con los datos originales, podría interpretarse como "el cambio de ubicación de B a A es menor que 0" y con los datos recodificados se convierte en "el cambio de ubicación de A a B es mayor que 0", pero esta es realmente la misma hipótesis (pero vea los comentarios de Glen_b a la pregunta para la interpretación correcta).

En su caso, parece que la prueba que desea es alternative="less"(o, de manera equivalente, alternative="greater"con los datos recodificados). ¿Eso ayuda?

Gala
fuente
Mm, parece que tienes algo allí, Gaël. Estudiaré tu respuesta y volveré, ¡gracias por la ayuda!
Waldir Leoncio
Ok, entonces supongo que "mayor" en este caso siempre es en referencia al "primer" nivel, ¿verdad? Ok, eso ayuda y creo que resuelve el caso. ¡Gracias de nuevo!
Waldir Leoncio
Acabo de encontrarme con este problema preciso. Gracias por la excelente explicación!
Davy Kavanagh