GUÍA RÁPIDA: ¿QUÉ PRUEBA USAR?

Esta sección sirve para decidir qué prueba aplicar según lo que dice la pregunta. Se responden tres cosas, en este orden: qué tipo de muestra hay, qué parámetro se compara (la palabra clave de la pregunta) y qué supuestos se cumplen.

Paso 1: ¿Muestras relacionadas o independientes?

Si la pregunta dice… Tipo de muestra
“antes y después”, “luego de la información”, “mismos sujetos”, “muestra relacionada”, “dos mediciones a cada persona” Pareada (una muestra relacionada)
“hombres y mujeres”, “dos grupos”, “entre A y B”, “muestras independientes” Dos muestras independientes

Paso 2: ¿Qué parámetro se compara? (palabra clave)

Si la pregunta dice… Se evalúa Pruebas disponibles
“mediana”, “diferencia de medianas”, “supera”, “se ha incrementado”, “posición”, “tendencia central” Locación Signos, Wilcoxon (pareada); Mann-Whitney, Fligner-Policello (independientes)
“dispersión”, “variabilidad”, “varianza”, “homogeneidad”, “ha disminuido la dispersión” Escala Grambsch, McCulloch (pareada); Conover, Mood, Ansari-Bradley, Siegel-Tukey, Jackknife de Miller, Moses (independientes)
“distribución”, “forma”, “misma población”, “distribución acumulada empírica” Distribución Kolmogorov-Smirnov, Rachas de Wald-Wolfowitz
“mediana y variabilidad”, “locación y/o escala”, “difiere en posición o dispersión” Locación y escala a la vez Lepage, Cucconi
“reacción extrema”, “valores extremos”, “un grupo se aleja más del centro” Extremos Moses

Atención con la variable. Si la variable es una respuesta Sí/No medida dos veces en las mismas personas (por ejemplo, aprobó o no aprobó, antes y después), no corresponde ninguna prueba de este documento. Se usa la prueba de McNemar (mcnemar.test() en R), que compara cambios en una variable dicotómica pareada.

Paso 3: ¿Qué supuestos se cumplen? (elegir dentro del grupo)

Muestra pareada

Prueba Parámetro Úsala cuando… Supuestos clave R
Signos Locación (mediana) Comparas dos mediciones del mismo elemento y no puedes asumir simetría. Es la más simple y la menos potente. Variable al menos en escala intervalo. Los pares con valores iguales se excluyen. SIGN.test()
Wilcoxon Locación (mediana) Es el mismo caso, pero las diferencias son simétricas. Es más potente que Signos y permite estimar el intervalo de confianza para la diferencia de medianas. Diferencias simétricas (se verifica con symmetry.test()). wilcox.test(paired = TRUE)
Grambsch Escala (dispersión) Quieres comparar la dispersión de dos mediciones relacionadas. Es una versión robusta de la prueba de Pitman: se basa en el producto de las desviaciones de la suma y la diferencia de cada par. Diferencias simétricas. grambsch.Var.test()
McCulloch Escala (dispersión) Es lo mismo que Grambsch, pero con la correlación de Spearman, que se apoya en rangos y es menos sensible a valores atípicos. Diferencias simétricas. mcculloch.Var.test()

Dos muestras independientes

Prueba Parámetro Úsala cuando… Supuestos clave R
Kolmogorov-Smirnov Distribución La pregunta pide una prueba basada en la distribución acumulada empírica. Detecta cualquier diferencia (posición, escala o forma). Variable al menos en escala intervalo. ks.test()
Rachas de Wald-Wolfowitz Distribución Quieres saber si los dos grupos vienen de distribuciones diferentes. Se ordenan los datos juntos y se cuentan las rachas. Variable al menos en escala intervalo. pruns.exact(), RunsTest()
Mann-Whitney Locación (mediana) Comparas medianas y las dos muestras tienen forma similar. Permite probar un desplazamiento distinto de cero con el argumento mu. Forma similar (se verifica con KS o Rachas sobre datos centrados). wilcox.test(paired = FALSE), wilcox.exact()
Fligner-Policello Locación (mediana) Comparas medianas pero la forma no es similar. Solo exige que cada muestra sea simétrica. Cada muestra de una distribución simétrica. mod.wmw.test(method = "fp")
Conover Escala (varianza) Comparas varianzas y la hipótesis es bilateral. Centra cada grupo con su propia media. Variable al menos en escala intervalo. Solo permite bilateral. conover_test()
Mood Escala (dispersión) Comparas dispersión y las medianas son iguales. Permite los tres tipos de hipótesis. Misma mediana y forma. mood.test()
Ansari-Bradley Escala (dispersión) Es el mismo caso que Mood. Si hay empates, conviene la versión exacta. Misma mediana. Permite los tres tipos de hipótesis. ansari.test(), ansari.exact()
Siegel-Tukey Escala (dispersión) Es el mismo caso, con una variable al menos ordinal y medianas similares. Medianas similares. SiegelTukeyTest()
Jackknife de Miller Escala (dispersión) Comparas dispersión y las medianas son distintas (o no sabes si son iguales). No exige igualdad de medianas. Variable al menos en escala intervalo. Muestras aleatorias e independientes. MillerJack(), miller.jack()
Moses Escala (extremos) Quieres saber si un grupo reacciona de forma extrema (valores más alejados del centro) frente a otro grupo de referencia. Variable al menos en escala ordinal. MosesTest()
Lepage Locación y escala La pregunta pide probar mediana y variabilidad a la vez, con distribuciones de forma similar. Combina Mann-Whitney y Ansari-Bradley. Distribuciones similares. pLepage()
Cucconi Locación y escala Es el mismo caso que Lepage. Es más sencilla de calcular y, según la guía, más potente. Muestras independientes. función propia

Cómo elegir entre las pruebas de dispersión

Este es el caso más confuso, porque hay siete pruebas. Un camino ordenado:

  1. ¿La hipótesis es bilateral o unilateral? Si es unilateral (“mayor”, “menor”, “disminuyó”), Conover no sirve, porque solo permite bilateral.
  2. ¿Las medianas de los dos grupos son iguales? Se verifica primero con Mann-Whitney bilateral, como hace la guía en su ejemplo de Ansari-Bradley.
    • Si no se rechaza la igualdad de medianas, se puede usar Mood, Ansari-Bradley o Siegel-Tukey.
    • Si se rechaza (o hay dudas), se usa Jackknife de Miller, que no exige medianas iguales. Otra opción es centrar cada grupo restándole su media y aplicar Mood o Ansari-Bradley, como se hizo en los ejemplos de este documento. Esto no iguala exactamente las medianas, así que es una adaptación.
  3. ¿La pregunta habla de valores extremos? Entonces la prueba es Moses.

MUESTRA PAREADA

PRUEBAS DE LOCACIÓN

PRUEBA DE SIGNOS

¿Qué hace esta prueba?

Es el equivalente no paramétrico de la comparación de medias con observaciones pareadas. A cada par se le asigna un signo (+) si la primera medida es mayor que la segunda y un signo (−) en el caso contrario. Los pares con valores iguales se excluyen. Si las dos mediciones tienen el mismo nivel, el número de signos (+) debe ser aproximadamente igual al de signos (−). La prueba contrasta, con la distribución binomial, si la proporción de signos (+) es 0.50. Solo usa el signo de la diferencia, no su tamaño.

Contexto

A un grupo de 10 consumidores elegidos al azar se les pide calificar dos marcas de refresco de cola con un sistema de puntos. Se quiere saber si existe diferencia en el nivel mediano de calificaciones de las dos marcas, con \(\alpha = 0.05\).

Supuestos

  • Los valores muestrales deben estar al menos en escala intervalo, es decir, la variable debe ser cuantitativa.
  • Las mediciones de la variable de interés, hechas a los \(n\) elementos de la muestra, se realizan en dos momentos diferentes o bajo dos procedimientos distintos (muestras pareadas).
  • Si un par de medidas tiene el mismo valor, ese par se excluye del análisis y el tamaño de muestra efectivo se reduce. En este ejemplo, el par 5 (20 y 20) es un empate, por lo que \(n = 9\): 6 signos (+) y 3 signos (−).

Hipótesis

\[H_0: Me_1 = Me_2 \;\;(\pi = 0.50) \qquad H_1: Me_1 \neq Me_2 \;\;(\pi \neq 0.50)\]

Procedimiento en R

m1 <- c(20, 24, 28, 24, 20, 29, 19, 27, 20, 30)
m2 <- c(16, 26, 18, 17, 20, 21, 23, 22, 23, 20)

library(BSDA)
SIGN.test(m1, m2)        # S = 6, p-value = 0.5078
## 
##  Dependent-samples Sign-Test
## 
## data:  m1 and m2
## S = 6, p-value = 0.5078
## alternative hypothesis: true median difference is not equal to 0
## 95 percent confidence interval:
##  -2.675556  9.351111
## sample estimates:
## median of x-y 
##           4.5 
## 
## Achieved and Interpolated Confidence Intervals: 
## 
##                   Conf.Level  L.E.pt  U.E.pt
## Lower Achieved CI     0.8906 -2.0000  8.0000
## Interpolated CI       0.9500 -2.6756  9.3511
## Upper Achieved CI     0.9785 -3.0000 10.0000

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que las dos marcas de refresco de cola tengan diferente preferencia del consumidor.

PRUEBA DE WILCOXON

¿Qué hace esta prueba?

Calcula la diferencia de cada par, descarta las diferencias iguales a cero, ordena las diferencias en valor absoluto y les asigna rangos. Luego suma los rangos de las diferencias positivas (el estadístico \(V\)). Si no hay efecto, la suma de rangos positivos y la de negativos deben ser parecidas. A diferencia de Signos, usa también la magnitud de las diferencias, por eso es más potente. Exige que las diferencias provengan de una distribución simétrica.

Contexto

A un grupo de 10 pacientes de una clínica de fisioterapia se les aplicó una prueba de nivel de motivación antes de un curso experimental de remotivación, y otra al terminar. Una calificación alta indica mayor motivación. Se quiere saber si el programa fue efectivo, con \(\alpha = 0.05\).

Supuestos

La distribución de las diferencias debe ser simétrica. Se verifica con la prueba de simetría (\(H_0\): simétrica vs \(H_1\): asimétrica).

Hipótesis

\[H_0: Me_D \le Me_A \qquad H_1: Me_D > Me_A\]

Procedimiento en R

antes <- c(10, 8, 5, 14, 15, 22, 17, 10, 8, 20)
desp  <- c(15, 10, 10, 15, 25, 20, 20, 22, 16, 18)

symmetry.test(antes - desp, option = "MGG", boot = FALSE)
## 
##  Symmetry test by Miao, Gel, and Gastwirth (2006)
## 
## data:  antes - desp
## Test statistic = -0.17577, p-value = 0.8605
## alternative hypothesis: the distribution is asymmetric.
wilcox.test(desp, antes, alternative = "g", paired = TRUE)
## 
##  Wilcoxon signed rank test with continuity correction
## 
## data:  desp and antes
## V = 49, p-value = 0.01588
## alternative hypothesis: true location shift is greater than 0
# V = 49, p-value = 0.0159

Conclusión

A un nivel de significación de 0.05 existe suficiente evidencia estadística para rechazar la hipótesis nula. Se puede afirmar que el programa de remotivación fue eficaz.

PRUEBAS DE ESCALA

PRUEBA DE GRAMBSCH

¿Qué hace esta prueba?

Compara la dispersión de dos mediciones relacionadas (por ejemplo, antes y después). Se apoya en que \(\text{var}(X) - \text{var}(Y) = \text{cov}(X+Y,\, X-Y)\). Para cada par calcula la suma \(s_i\) y la diferencia \(d_i\), y forma \(u_i = (s_i - \bar{s})(d_i - \bar{d})\). Luego trata los \(u_i\) como una prueba \(t\) de una muestra (\(z \sim N(0,1)\)). Si las dos varianzas son iguales, el promedio de los \(u_i\) es cercano a cero. Es una versión robusta de la prueba de Pitman.

Contexto

Se midió el tiempo de ejecución de un procedimiento, comparado con un estándar, en dos equipos electrónicos. Un valor positivo indica que está sobre el estándar y uno negativo, debajo. Se evaluaron 10 procesos elegidos al azar. Se quiere saber, con \(\alpha = 0.05\), si existe diferencia en la dispersión del tiempo de ejecución entre los dos equipos.

Supuestos

Variable cuantitativa, medida dos veces sobre los mismos \(n\) elementos, y diferencias \(d_i\) de una distribución simétrica. La guía no verifica la simetría en este ejemplo.

Hipótesis

\[H_0: \sigma_X = \sigma_Y \qquad H_1: \sigma_X \neq \sigma_Y\]

Procedimiento en R

x <- c(6, 0.8, 3.2, 6.2, 3.8, -1.6, 1.8, 3.3, 1.3, 5.6)
y <- c(5.2, 0.2, 2.9, 6.3, 2.7, -1.4, 1.5, 2.8, 0.8, 5.3)

grambsch.Var.test(x, y, alternative = "t")
## 
##  Paired Grambsch test
## 
## data:  x and y
## z = 0.42247, p-value = 0.6727
## alternative hypothesis: true ratio of variances is not equal to 1
# z = 0.42247, p-value = 0.6727

Conclusión

A un nivel de significación del 5%, no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que exista diferencia en la dispersión del tiempo de ejecución entre los dos equipos electrónicos.

PRUEBA DE MCCULLOCH

¿Qué hace esta prueba?

Compara la dispersión de dos mediciones relacionadas, igual que Grambsch, y también parte de la idea de Pitman: \(\text{Cov}(S, D) = \theta_X^2 - \theta_Y^2\). La diferencia es que McCulloch rankea la suma \(S_i\) y la diferencia \(D_i\) de cada par y calcula la correlación de Spearman entre ellas (\(r_{DS}\)), en lugar de la de Pearson. Si las varianzas son iguales, esa correlación es cero. Fue propuesta para evitar los errores de tipo I que tiene la prueba de Pitman con distribuciones de cola pesada.

Contexto

Se midió el tiempo de ejecución de un procedimiento, comparado con un estándar, en dos equipos electrónicos (A y B). Un valor positivo indica que está sobre el estándar y uno negativo, debajo. Se evaluaron 10 procesos elegidos al azar. Se quiere saber, con \(\alpha = 0.05\), si existe diferencia en la dispersión del tiempo de ejecución entre los dos equipos.

Supuestos

Variable cuantitativa, medida dos veces sobre los mismos \(n\) elementos, y diferencias de una distribución simétrica. La prueba es una variación de la de Pitman: usa la correlación de Spearman en lugar de la de Pearson.

Hipótesis

Como \(\text{Cov}(S_i, D_i) = \theta_X^2 - \theta_Y^2\), las hipótesis son equivalentes:

\[H_0: r_{DS} = 0 \;\Leftrightarrow\; \theta_X^2 = \theta_Y^2 \qquad H_1: r_{DS} \neq 0 \;\Leftrightarrow\; \theta_X^2 \neq \theta_Y^2\]

Procedimiento en R

A <- c(6, 0.8, 3.2, 6.2, 3.8, -1.6, 1.8, 3.3, 1.3, 2.4)
B <- c(5.2, 0.2, 2.3, 6.3, 2.7, -1.4, 1.5, 2.1, 0.8, 2.2)

library(PairedData)
mcculloch.Var.test(A, B, method = "spearman")
## 
##  McCulloch paired test for scale comparison
## 
## data:  A and B
## S = 110, p-value = 0.3488
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.3333333
# S = 110, rho = 0.3333, p-value ≈ 0.35

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que exista diferencia en la dispersión del tiempo de ejecución entre los dos equipos electrónicos.

DOS MUESTRAS INDEPENDIENTES

PRUEBAS DE DISTRIBUCIÓN

PRUEBA DE KOLMOGOROV-SMIRNOV

¿Qué hace esta prueba?

Compara toda la distribución de dos muestras independientes. Calcula la función de distribución acumulada empírica de cada muestra y toma la mayor distancia vertical entre las dos curvas (\(D\)). Si \(D\) es grande, las dos muestras no provienen de la misma distribución. Detecta cualquier diferencia: de posición, de escala o de forma. Se usa también como paso previo para verificar si dos muestras tienen la misma forma antes de aplicar otras pruebas.

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales de laboratorio elegidos al azar fueron expuestos y 5 similares sirvieron de controles. La variable de interés es el nivel de hemoglobina al final del experimento. Se quiere verificar, con \(\alpha = 0.05\), si los niveles de hemoglobina de los animales expuestos y no expuestos provienen de la misma distribución teórica.

Supuestos

Variable medida al menos en escala intervalo. Las dos muestras son independientes.

Hipótesis

\[H_0: F_X(x) = G_Y(x) \qquad H_1: F_X(x) \neq G_Y(x)\]

Procedimiento en R

ex <- c(14.4, 14.2, 13.8, 16.5, 14.1)
ne <- c(17.4, 16.2, 17.1, 17.5, 15.0)

ks.test(ex, ne)
## 
##  Exact two-sample Kolmogorov-Smirnov test
## 
## data:  ex and ne
## D = 0.8, p-value = 0.07937
## alternative hypothesis: two-sided
# D = 0.8, p-value = 0.07937

# Datos centrados (se compara solo la forma)
ks.test(scale(ex, center = TRUE, scale = FALSE),
        scale(ne, center = TRUE, scale = FALSE))
## 
##  Exact two-sample Kolmogorov-Smirnov test
## 
## data:  scale(ex, center = TRUE, scale = FALSE) and scale(ne, center = TRUE, scale = FALSE)
## D = 0.4, p-value = 0.873
## alternative hypothesis: two-sided
# D = 0.4, p-value = 0.873

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que las distribuciones del nivel de hemoglobina de los animales expuestos y no expuestos sean diferentes.

PRUEBA DE RACHAS DE WALD-WOLFOWITZ

¿Qué hace esta prueba?

Tiene la misma finalidad que Kolmogorov-Smirnov: verificar si dos muestras independientes provienen de la misma distribución. Combina los datos en una sola serie ordenada de menor a mayor, marca cada dato según su grupo (X o Y) y cuenta las rachas, es decir, las secuencias seguidas de datos del mismo grupo. Con pocas rachas (por ejemplo XXXXYYYYY) los grupos están separados y se rechaza que vengan de la misma distribución. Con muchas rachas los datos están bien mezclados.

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales expuestos y 5 no expuestos, elegidos al azar, fueron evaluados en su nivel de hemoglobina. Se quiere verificar, con \(\alpha = 0.05\), si los datos presentan distinta forma, es decir, si provienen de distribuciones diferentes.

Supuestos

Variable medida al menos en escala intervalo. Las dos muestras son independientes.

Hipótesis

\[H_0: F_X(x) = G_Y(x) \qquad H_1: F_X(x) \neq G_Y(x)\]

Procedimiento en R

x <- c(14.4, 14.2, 13.8, 16.5, 14.1)
y <- c(17.4, 16.2, 17.1, 17.5, 15.0)

pruns.exact(4, 5, 5)          # se debe ingresar el número de rachas
## [1] 0.3333333
library(DescTools)
RunsTest(x, y)
## 
##  Wald-Wolfowitz Runs Test
## 
## data:  x and y
## runs = 4, m = 5, n = 5, p-value = 0.3333
## alternative hypothesis: true number of runs is not equal the expected number
# Datos centrados (p = 0.6429)
RunsTest(scale(x, center = TRUE, scale = FALSE),
         scale(y, center = TRUE, scale = FALSE))
## 
##  Wald-Wolfowitz Runs Test
## 
## data:  scale(x, center = TRUE, scale = FALSE) and scale(y, center = TRUE, scale = FALSE)
## runs = 6, m = 5, n = 5, p-value = 1
## alternative hypothesis: true number of runs is not equal the expected number

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que las distribuciones del nivel de hemoglobina de los animales expuestos y no expuestos sean diferentes.

PRUEBAS DE LOCACIÓN

PRUEBA DE MANN-WHITNEY

¿Qué hace esta prueba?

Compara la locación (mediana) de dos muestras independientes. Combina los datos, los ordena y les asigna rangos. Luego compara la suma de rangos de cada grupo con la que se esperaría si ambos fueran iguales. Si un grupo tiene rangos sistemáticamente más bajos o más altos, su mediana es menor o mayor. Exige que las dos muestras tengan forma similar. Con el argumento mu se puede probar una diferencia de medianas distinta de cero.

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales de laboratorio fueron expuestos y 5 similares sirvieron de controles. La variable de interés es el nivel de hemoglobina al final del experimento. Se quiere saber, con \(\alpha = 0.05\), si puede concluirse que la inhalación prolongada de óxido de cadmio disminuye el nivel de hemoglobina.

Supuestos

Variable medida al menos en escala intervalo, y muestras de distribuciones de forma similar. Eso ya se verificó con estos mismos datos centrados en las dos pruebas anteriores: Kolmogorov-Smirnov (\(p = 0.873\)) y Wald-Wolfowitz (\(p = 0.6429\)) no rechazaron. Por eso se puede aplicar Mann-Whitney.

Hipótesis

\[H_0: Me_1 \ge Me_2 \qquad H_1: Me_1 < Me_2\]

Procedimiento en R

ex <- c(14.4, 14.2, 13.8, 16.5, 14.1)
ne <- c(17.4, 16.2, 17.1, 17.5, 15.0)

wilcox.test(ex, ne, alternative = "l", paired = FALSE)
## 
##  Wilcoxon rank sum exact test
## 
## data:  ex and ne
## W = 2, p-value = 0.01587
## alternative hypothesis: true location shift is less than 0
# W = 2, p-value = 0.01587

library(exactRankTests)
wilcox.exact(ex, ne, alternative = "l", paired = FALSE)
## 
##  Exact Wilcoxon rank sum test
## 
## data:  ex and ne
## W = 2, p-value = 0.01587
## alternative hypothesis: true mu is less than 0

Conclusión

Existe suficiente evidencia estadística para rechazar la hipótesis nula a un nivel de significación de 0.05. Se puede afirmar que la inhalación prolongada de óxido de cadmio disminuye el nivel de hemoglobina.

PRUEBA DE FLIGNER-POLICELLO

¿Qué hace esta prueba?

Compara la locación (mediana) de dos muestras independientes cuando no se puede asumir que tienen la misma forma. Para cada dato cuenta cuántos datos del otro grupo son menores (las colocaciones \(P_i\) y \(Q_j\)) y compara los promedios de esas colocaciones, estandarizados con su propia variabilidad (\(U^{*}\)). Solo exige que cada muestra provenga de una distribución simétrica. Es la alternativa a Mann-Whitney cuando la forma difiere.

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales fueron expuestos y 5 sirvieron de controles. La variable de interés es el nivel de hemoglobina. Se quiere saber, con \(\alpha = 0.05\), si puede concluirse que la inhalación prolongada de óxido de cadmio disminuye el nivel de hemoglobina.

Cuándo se usa

Mann-Whitney exige que las dos muestras tengan forma similar. Cuando esa condición no se cumple, se recurre a Fligner-Policello, que solo exige que cada muestra provenga de una distribución simétrica.

Supuestos

Variable medida al menos en escala intervalo, y cada muestra de una distribución simétrica. La simetría de cada grupo se verifica con symmetry.test(..., option = "MGG"). En el ejemplo de la guía, con sus datos completos, se obtiene \(p = 0.2929\) y \(p = 0.5465\) (no hay evidencia de asimetría). Con los grupos de 5 observaciones de este ejemplo no se calcularon esos p-valores.

Hipótesis

\[H_0: Me_1 \ge Me_2 \qquad H_1: Me_1 < Me_2\]

Procedimiento en R

ex <- c(14.4, 14.2, 13.8, 16.5, 14.1)
ne <- c(17.4, 16.2, 17.1, 17.5, 15.0)

library(robustrank)
mod.wmw.test(ex, ne, alternative = "l", method = "fp")   # unilateral
## [1] 0.01587302
library(NSM3)
pFligPoli(ex, ne, method = "Exact")     # solo bilateral
## Number of X values: 5 Number of Y values: 5
## Fligner-Policello U Statistic: 4.2034
## Exact upper-tail probability: 0.0159
## Exact two-sided p-value: 0.0317
## 
library(RVAideMemoire)
fp.test(ex, ne, delta = 0, alternative = "less")
## 
##  Fligner-Policello test
## 
## data:  ex and ne
## = 4.2034, p-value = 1
## alternative hypothesis: true difference in location is less than 0
# U* = 4.203; p-valor exacto = 0.0198 (verificado fuera de R)

Conclusión

Existe suficiente evidencia estadística para rechazar la hipótesis nula a un nivel de significación de 0.05. Se puede afirmar que la inhalación prolongada de óxido de cadmio disminuye el nivel de hemoglobina.

PRUEBAS DE ESCALA

PRUEBA DE CONOVER

¿Qué hace esta prueba?

Compara la varianza de dos muestras independientes. Calcula la distancia de cada dato a la media de su grupo (\(|x_i - \bar{x}|\)), rankea esas distancias de las dos muestras juntas y eleva los rangos al cuadrado (scores). Si un grupo es más disperso, sus distancias y sus scores son mayores. Es una alternativa no paramétrica a la prueba \(F\) de razón de varianzas y solo permite el caso bilateral.

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales fueron expuestos y 5 sirvieron de controles. La variable de interés es el nivel de hemoglobina. Se quiere verificar, con \(\alpha = 0.05\), si los datos presentan varianza distinta entre los dos grupos.

Supuestos

Variable medida al menos en escala intervalo. La prueba es una alternativa no paramétrica a la prueba \(F\) de razón de varianzas y solo permite el caso bilateral.

Hipótesis

\[H_0: \theta_1 = \theta_2 \qquad H_1: \theta_1 \neq \theta_2\]

Procedimiento en R

library(coin)
ex <- c(14.4, 14.2, 13.8, 16.5, 14.1)
ne <- c(17.4, 16.2, 17.1, 17.5, 15.0)
dat <- c(ex, ne)
g <- as.factor(c(rep(1, 5), rep(2, 5)))

conover_test(dat ~ g)
## 
##  Asymptotic Two-Sample Conover-Iman Test
## 
## data:  dat by g (1, 2)
## Z = -0.24985, p-value = 0.8027
## alternative hypothesis: true ratio of scales is not equal to 1
# Z = -0.2498, p-value ≈ 0.8027 (asintótico)

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que las varianzas del nivel de hemoglobina de los animales expuestos y no expuestos sean diferentes.

PRUEBA DE MOSES

¿Qué hace esta prueba?

Evalúa si un grupo (el experimental) reacciona de forma extrema en comparación con otro (el control). Ordena todos los datos juntos y mide el span del grupo control: cuántas posiciones ocupa entre su dato menor y su dato mayor. Si el grupo experimental tiene valores muy extremos, los datos del control quedan agrupados en pocas posiciones y el span es pequeño. El p-valor es la probabilidad de obtener un span así de pequeño por azar.

Contexto

Se midió el tiempo de reacción a un medicamento (en minutos) en dos grupos de individuos. El grupo control (4 sujetos) recibió un placebo y el grupo experimental (5 sujetos) recibió el medicamento. Los valores son:

  • Control: 10, 12, 15, 18
  • Experimental: 2, 8, 20, 25, 30

Se quiere saber, con \(\alpha = 0.05\), si hay evidencia de que el grupo experimental reaccionó de forma extrema, es decir, con mayor dispersión que el control.

Supuestos

Variable medida al menos en escala ordinal.

Hipótesis

\[H_0: \theta_C = \theta_E \qquad H_1: \theta_C \neq \theta_E\]

La guía la presenta como bilateral, pero el p-valor que calcula es la probabilidad de un span pequeño, que detecta específicamente un grupo experimental con valores más extremos que el control.

Procedimiento en R

control      <- c(10, 12, 15, 18)
experimental <- c(2, 8, 20, 25, 30)

library(DescTools)
MosesTest(control, experimental, extreme = 0)
## 
##  Moses Test of Extreme Reactions
## 
## data:  control and experimental
## S = 4, p-value = 0.04762
## alternative hypothesis: extreme values are more likely in x than in y
# S = 4, p-value = 0.04762

Conclusión

A un nivel de significación de 0.05 existe suficiente evidencia estadística para afirmar que el grupo experimental reaccionó de forma extrema. Que el grupo control quedara concentrado en solo 4 posiciones no parece casualidad: el tratamiento empujó a los sujetos experimentales hacia los bordes (el valor más bajo, 2, y los más altos, 20, 25 y 30).

El p-valor está muy cerca de 0.05, así que la decisión es sensible al nivel elegido.

PRUEBA DE MOOD

¿Qué hace esta prueba?

Compara la dispersión de dos muestras independientes. Combina las dos muestras, las rankea y suma las desviaciones al cuadrado de los rangos del primer grupo respecto al rango medio \((n+1)/2\) (\(M\)). Los rangos muy bajos o muy altos pesan más. Si un grupo es más disperso, sus rangos están más lejos del centro y \(M\) es grande. Exige poblaciones con la misma mediana (o datos centrados).

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales fueron expuestos y 5 sirvieron de controles. La variable de interés es el nivel de hemoglobina. Se quiere verificar, con \(\alpha = 0.05\), si los datos presentan distinta dispersión entre los dos grupos.

Supuestos

Variable medida al menos en escala intervalo. Las muestras deben provenir de poblaciones que no difieren en forma ni en mediana. Si las medianas son muy distintas, la prueba puede detectar un simple desplazamiento de posición como si fuera diferencia de escala. Por eso se centra cada grupo restándole su media, igual que en Kolmogorov-Smirnov y Rachas, donde ya vimos que la forma no difiere (\(p = 0.873\) y \(p = 0.6429\)). Centrar por la media no iguala exactamente las medianas, así que esta es una adaptación al ejemplo.

Hipótesis

Esta prueba permite los tres tipos de hipótesis (bilateral, unilateral derecha e izquierda). Se usa la bilateral:

\[H_0: \theta_1 = \theta_2 \qquad H_1: \theta_1 \neq \theta_2\]

Procedimiento en R

ex <- c(14.4, 14.2, 13.8, 16.5, 14.1)
ne <- c(17.4, 16.2, 17.1, 17.5, 15.0)
exc <- as.numeric(scale(ex, center = TRUE, scale = FALSE))
nec <- as.numeric(scale(ne, center = TRUE, scale = FALSE))

mood.test(exc, nec)                          # bilateral
## 
##  Mood two-sample test of scale
## 
## data:  exc and nec
## Z = -0.16514, p-value = 0.8688
## alternative hypothesis: two.sided
mood.test(exc, nec, alternative = "greater") # unilateral derecha
## 
##  Mood two-sample test of scale
## 
## data:  exc and nec
## Z = -0.16514, p-value = 0.5656
## alternative hypothesis: greater
# Z = -0.16514, p-value = 0.8688 (bilateral)

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que la dispersión del nivel de hemoglobina sea diferente entre los animales expuestos y no expuestos.

PRUEBA DE ANSARI-BRADLEY

¿Qué hace esta prueba?

Compara la dispersión de dos muestras independientes. Combina y ordena los datos, y asigna coeficientes desde los dos extremos hacia el centro: 1 al primero y al último, 2 al segundo y al penúltimo, y así sucesivamente. Luego suma los coeficientes de un grupo (\(W\)). Si ese grupo es más disperso, sus datos están en los extremos, recibe coeficientes bajos y su suma es pequeña. Exige que las poblaciones tengan la misma mediana.

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales fueron expuestos y 5 sirvieron de controles. La variable de interés es el nivel de hemoglobina. Se quiere verificar, con \(\alpha = 0.05\), si los datos presentan distinta dispersión entre los dos grupos.

Supuestos

Variable medida al menos en escala intervalo. Las poblaciones deben tener la misma mediana. Por eso se centra cada grupo restándole su media, igual que en Mood. Centrar por la media no iguala exactamente las medianas, así que esta es una adaptación al ejemplo.

Hipótesis

La prueba permite los tres tipos de hipótesis. Se usa la bilateral:

\[H_0: \theta_1 = \theta_2 \qquad H_1: \theta_1 \neq \theta_2\]

Procedimiento en R

ex <- c(14.4, 14.2, 13.8, 16.5, 14.1)
ne <- c(17.4, 16.2, 17.1, 17.5, 15.0)
exc <- as.numeric(scale(ex, center = TRUE, scale = FALSE))
nec <- as.numeric(scale(ne, center = TRUE, scale = FALSE))

ansari.test(exc, nec)                          # bilateral (exacto, no hay empates)
## 
##  Ansari-Bradley test
## 
## data:  exc and nec
## AB = 16, p-value = 0.8254
## alternative hypothesis: true ratio of scales is not equal to 1
ansari.test(exc, nec, alternative = "greater") # H1: dispersión 1 > dispersión 2
## 
##  Ansari-Bradley test
## 
## data:  exc and nec
## AB = 16, p-value = 0.7302
## alternative hypothesis: true ratio of scales is greater than 1
library(coin)
g <- as.factor(c(rep(1, 5), rep(2, 5)))
ansari_test(c(exc, nec) ~ g)                   # versión asintótica
## 
##  Asymptotic Two-Sample Ansari-Bradley Test
## 
## data:  c(exc, nec) by g (1, 2)
## Z = 0.42426, p-value = 0.6714
## alternative hypothesis: true ratio of scales is not equal to 1
library(exactRankTests)
ansari.exact(exc, nec)                         # recomendada si hay empates
## 
##  Ansari-Bradley test
## 
## data:  exc and nec
## AB = 16, p-value = 0.8254
## alternative hypothesis: true ratio of scales is not equal to 1
# AB = 16, p-value = 0.8254 (bilateral)

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que la dispersión del nivel de hemoglobina sea diferente entre los animales expuestos y no expuestos.

PRUEBA DE SIEGEL-TUKEY

¿Qué hace esta prueba?

Compara la dispersión de dos muestras independientes. Ordena los datos combinados y asigna rangos alternando los extremos: 1 al menor valor, 2 y 3 a los dos mayores, 4 y 5 a los dos siguientes menores, y así hasta el centro. El grupo más disperso recibe los rangos bajos y el menos disperso los altos. Después se compara la suma de rangos con la distribución de Wilcoxon-Mann-Whitney. Solo tiene sentido si las medianas son similares.

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales fueron expuestos y 5 sirvieron de controles. La variable de interés es el nivel de hemoglobina. Se quiere verificar, con \(\alpha = 0.05\), si los datos presentan distinta dispersión entre los dos grupos.

Supuestos

Variable medida al menos en escala ordinal. Las poblaciones deben tener medianas similares. Por eso se centra cada grupo restándole su media. Es la misma adaptación que se usó en Mood y Ansari-Bradley, y no iguala exactamente las medianas.

Hipótesis

Se usa la bilateral:

\[H_0: \theta_1 = \theta_2 \qquad H_1: \theta_1 \neq \theta_2\]

Procedimiento en R

ex <- c(14.4, 14.2, 13.8, 16.5, 14.1)
ne <- c(17.4, 16.2, 17.1, 17.5, 15.0)
exc <- as.numeric(scale(ex, center = TRUE, scale = FALSE))
nec <- as.numeric(scale(ne, center = TRUE, scale = FALSE))

library(DescTools)
SiegelTukeyTest(exc, nec, alternative = "t")
## 
##  Siegel-Tukey-test for equal variability
## 
## data:  exc and nec
## ST = 5, p-value = 1
## alternative hypothesis: true ratio of scales is not equal to 1
library(jmuOutlier)
siegel.test(exc, nec, alternative = "t")   # p-value = 0.6905
## [[1]]
## [1] "   Siegel-Tukey test"
## 
## $alternative
## [1] "two.sided"
## 
## $rank.x
## [1] 10  9  4  2  5
## 
## $rank.y
## [1] 6 8 7 3 1
## 
## $p.value
## [1] 0.6904762

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que la dispersión del nivel de hemoglobina sea diferente entre los animales expuestos y no expuestos.

PRUEBA DE JACKKNIFE DE MILLER

¿Qué hace esta prueba?

Compara la dispersión de dos muestras independientes sin exigir medianas iguales. Aplica el método jackknife: elimina una observación a la vez, calcula la varianza de las restantes y obtiene pseudovalores del logaritmo de la varianza de cada grupo. Con el promedio y la variabilidad de esos pseudovalores forma el estadístico \(Q \sim N(0,1)\), que compara las dos dispersiones.

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales fueron expuestos y 5 sirvieron de controles. La variable de interés es el nivel de hemoglobina. Se quiere verificar, con \(\alpha = 0.05\), si los datos presentan distinta dispersión entre los dos grupos.

Supuestos

Variable medida al menos en escala intervalo. Las muestras son aleatorias e independientes. No se supone igualdad de medianas.

Hipótesis

La guía plantea el caso unilateral (\(H_1: \theta_1 > \theta_2\)) y rechaza si \(Q \ge z_\alpha\). Aquí se usa la bilateral, para ser consistente con las otras pruebas de escala:

\[H_0: \theta_1 = \theta_2 \qquad H_1: \theta_1 \neq \theta_2\]

Procedimiento en R

ex <- c(14.4, 14.2, 13.8, 16.5, 14.1)
ne <- c(17.4, 16.2, 17.1, 17.5, 15.0)

library(NSM3)
MillerJack(ex, ne)        # solo da Q = 0.4816, sin p-valor
## [1] 0.4815693
library(nonpar)
miller.jack(ex, ne, alternative = "two.sided")
## 
##  Miller's Jackknife Procedure 
##  
##  H0: The population variances are equal. 
##  HA: The population variances are not equal. 
##  
##  J = 0.481569324978092 
##  
##  Significance Level = 0.05 
##  The p-value is  0.643008934489742 
##  There is not enough evidence to conclude that the population variances are different at a significance level of  0.05 . 
## 

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que la dispersión del nivel de hemoglobina sea diferente entre los animales expuestos y no expuestos.

PRUEBAS DE LOCACIÓN Y ESCALA

PRUEBA DE LEPAGE

¿Qué hace esta prueba?

Evalúa locación y escala a la vez. Su estadístico es la suma estandarizada y elevada al cuadrado de los estadísticos de Mann-Whitney (locación) y Ansari-Bradley (escala): \(L = Z_W^2 + Z_{AB}^2\), que sigue aproximadamente una \(\chi^2\) con 2 grados de libertad. Un valor grande de \(L\) indica diferencia en la mediana, en la dispersión, o en ambas. Exige distribuciones de forma similar.

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales fueron expuestos y 5 sirvieron de controles. La variable de interés es el nivel de hemoglobina. Se quiere verificar, con \(\alpha = 0.05\), si los dos grupos difieren en locación y/o en escala.

Supuestos

Las muestras provienen de poblaciones con distribuciones similares, y la variable está medida al menos en escala intervalo. La similitud de forma ya la vimos en Kolmogorov-Smirnov (\(p = 0.873\)) y en Rachas (\(p = 0.6429\)).

Hipótesis

\[H_0: \Delta = 0 \;\text{ y }\; \tau^2 = 1 \qquad H_1: \Delta \neq 0 \;\text{ y/o }\; \tau^2 \neq 1\]

donde \(\Delta = Me_1 - Me_2\) y \(\tau^2 = \theta_1/\theta_2\) es el cociente de escalas.

Procedimiento en R

ex <- c(14.4, 14.2, 13.8, 16.5, 14.1)
ne <- c(17.4, 16.2, 17.1, 17.5, 15.0)

library(NSM3)
pLepage(ex, ne, method = "Exact")        # p exacto = 0.0794
## Number of X values: 5 Number of Y values: 5
## Lepage D Statistic: 4.9909
## Exact upper-tail probability: 0.0794
pLepage(ex, ne, method = "Asymptotic")   # L = 4.991, p asintótico = 0.0825
## Number of X values: 5 Number of Y values: 5
## Lepage D Statistic: 4.9909
## Asymptotic upper-tail probability: 0.0825

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que la locación y/o la escala del nivel de hemoglobina sean diferentes entre los animales expuestos y no expuestos.

Es un resultado limítrofe. En el Fligner-Policello, con la hipótesis unilateral de locación, sí se había rechazado. Aquí la prueba bilateral tiene que “pagar” también por la dimensión de escala, y con 5 datos por grupo el p-valor exacto queda en 0.0794.

PRUEBA DE CUCCONI

¿Qué hace esta prueba?

Evalúa locación y escala a la vez, pero no combina dos pruebas distintas. Rankea los datos combinados y calcula \(U\) con los cuadrados de los rangos y \(V\) con los cuadrados de los rangos invertidos (\(n+1-R\)). Luego los combina junto con su correlación \(\rho\) en el estadístico \(CUC\). Un valor grande indica diferencia en la locación y/o en la escala. Bajo \(H_0\), \(P(CUC \ge c) \approx e^{-c}\).

Contexto

En un experimento sobre los efectos de la inhalación prolongada de óxido de cadmio, 5 animales fueron expuestos y 5 sirvieron de controles. La variable de interés es el nivel de hemoglobina. Se quiere verificar, con \(\alpha = 0.05\), si los dos grupos difieren en locación y/o en escala.

Supuestos

Las muestras son independientes y la variable está medida al menos en escala intervalo.

Hipótesis

\[H_0: \delta = 0 \;\text{ y }\; \gamma^2 = 1 \qquad H_1: \delta \neq 0 \;\text{ y/o }\; \gamma^2 \neq 1\]

Procedimiento en R

La guía no usa un paquete: define su propia función. Esta es la versión de un solo grupo (sin empates, \(U_2 = -U_1\) y \(V_2 = -V_1\)).

ex <- c(14.4, 14.2, 13.8, 16.5, 14.1)
ne <- c(17.4, 16.2, 17.1, 17.5, 15.0)

cucconi <- function(x, y) {
  n1 <- length(x); n2 <- length(y); n <- n1 + n2
  R  <- rank(c(x, y)); R1 <- R[1:n1]
  den <- sqrt(n1*n2*(n+1)*(2*n+1)*(8*n+11)/5)
  num <- n1*(n+1)*(2*n+1)
  rho <- 2*(n^2-4)/((2*n+1)*(8*n+11)) - 1
  U <- (6*sum(R1^2) - num)/den
  V <- (6*sum((n+1-R1)^2) - num)/den
  C <- (U^2 + V^2 - 2*rho*U*V)/(2*(1-rho^2))
  c(U = U, V = V, rho = rho, CUC = C, p.asint = exp(-C))
}

cucconi(ex, ne)   # CUC = 2.419, p = 0.0890
##           U           V         rho         CUC     p.asint 
## -2.10056161  2.17459021 -0.89952904  2.41909091  0.08900249

Conclusión

A un nivel de significación de 0.05 no existe suficiente evidencia estadística para rechazar la hipótesis nula. No se puede afirmar que la locación y/o la escala del nivel de hemoglobina sean diferentes entre los animales expuestos y no expuestos.

Es un resultado limítrofe, parecido al de Lepage (\(p = 0.0794\)). Aquí el p-valor exacto (\(0.0635\)) es algo menor, lo que coincide con lo que dice la guía de que Cucconi es más potente que Lepage.