¿La prueba de Shapiro Wilk es insensible en las colas de distribución de la muestra? He leído tal declaración en un papel, pero no puedo entender por qué a partir de su estadística de prueba W. ¿Podría alguien ayudarme a entender esto?
¿La prueba de Shapiro Wilk es insensible en las colas de distribución de la muestra? He leído tal declaración en un papel, pero no puedo entender por qué a partir de su estadística de prueba W. ¿Podría alguien ayudarme a entender esto?
Respuestas:
La situación es complicada, pero los resultados tienden a ser lo contrario de esta afirmación: para tamaños de conjuntos de datos moderados , la prueba de Shapiro-Wilk es más sensible en las colas que en otros lugares.
Considero que "sensible" significa el grado en que los resultados varían cuando se perturban los valores del conjunto de datos. (Otra posible interpretación es que "sensibilidad" se entiende en términos del poder de la prueba para detectar desviaciones del comportamiento de la cola de una distribución Normal. Sin embargo, dado que "sensibilidad" y "poder" son términos estadísticos comunes y bien entendidos con significados distintos, esta segunda interpretación no parece apropiada).
Genéricamente, considere que los "resultados" de la prueba (que generalmente se tomarían como un valor p) son alguna función de los datos ordenados . Entonces podríamos querer definir la sensibilidad de para que el elemento de sea
Sin embargo, hay algunos problemas con esto. Primero, podría no ser diferenciable. En segundo lugar, la sensibilidad a cambios extremadamente pequeños puede ser menos relevante que la sensibilidad a cambios más grandes. Para hacer frente a estas complicaciones, podemos (1) usar diferencias finitas dirigidas para explorar los cambios en cuando aumenta y disminuye por separado y (2) obtener estas diferencias para las desviaciones que son apreciables en comparación con la difusión de los datos. Para este fin, dada una desviación let
(donde es una medida estándar de la dispersión de , como su desviación estándar) y define la sensibilidad de como el vector de cocientes de diferencia absoluta
Es decir, cada valor de datos se desplaza hacia arriba y hacia abajo en cantidades veces el diferencial general. La sensibilidad es el cambio relativo absoluto total, que refleja una desviación neta de centrada en los datos.
La sensibilidad puede variar con el conjunto de datos. ¿Deberíamos evaluarlo cuando los datos se ajustan a la hipótesis nula o cuando están lejos de ser nulos? Ambas evaluaciones pueden ser informativas. Pero para las pruebas de distribución nos enfrentamos a la complicación de que la alternativa a menudo ni siquiera es parametrizable: aunque la hipótesis nula podría ser que los datos se muestrean de una distribución Normal, la alternativa sería que se muestreen de cualquier distribución.
Un estudio exhaustivo consideraría muchas alternativas y muchos tamaños de muestra. A continuación, informo sobre los resultados de tres tamaños de muestra, , que son típicos de los conjuntos de datos donde se usa la prueba de Shapiro-Wilk, y para el nulo (una distribución Normal), una alternativa de cola corta (un Uniforme distribución), una alternativa de cola larga (una distribución exponencial) y una alternativa bimodal (una distribución Beta ). En cada caso, hago que el conjunto de datos se parezca lo más posible a su distribución principal. Esto se logra calculando los cuantiles de la distribución en puntos de trazado de probabilidad (espaciados según las fórmulas de Filliben , también conocido como "puntos de trazado de Weibull").
Como referencia, he aplicado el mismo análisis a una variante de la prueba de Kolmogorov-Smirnov. Para esta variante, primero vuelvo a centrar los datos, porque (al menos para las alternativas) la prueba KS no será una comparación realista. Con los datos registrados, ambas pruebas a menudo producen valores p comparables y esos valores p oscilan entre y , cubriendo un rango útil de posibilidades.
Las sensibilidades para se grafican en ejes logarítmicos contra los índices de datos (rangos). Los resultados de la prueba SW se muestran en rojo con círculos rellenos; los de la prueba KS están en azul con triángulos rellenos. (Las sensibilidades de cero se representan en ).
La prueba SW tiende a ser un poco más sensible a los datos en las colas ( es decir , donde los rangos están cerca de o ) que en el medio, excepto para conjuntos de datos muy pequeños. La prueba KS, por el contrario, tiende a ser extremadamente sensible a un pequeño número de datos en una o ambas colas, al menos una vez que el tamaño del conjunto de datos es suficientemente grande. Claramente, estas pruebas nos dicen cosas diferentes sobre las formas de los conjuntos de datos.
En general, la prueba SW tiene sensibilidades sustancialmente mayores que la prueba KS. Las razones para esto son complicadas, pero tenga en cuenta especialmente que no se pueden comparar dos pruebas de distribución basadas solo en la sensibilidad: también debe considerar los valores de p en los que se miden estas sensibilidades.
El R
código utilizado para producir estos resultados sigue. Está estructurado para modificarse fácilmente para extender el estudio en cualquier dirección deseada: diferentes tamaños de muestra, diferentes distribuciones de conjuntos de datos y diferentes pruebas de distribución.
filliben <- function(n) {
a <- 2^(-1/n); c(1-a, (2:(n-1) - 0.3175)/(n + 0.365), a)
}
sensitivity <- function(x, f, delta=1, ...) {
s <- delta * sd(x) / 2
e <- function(i) {u <- rep(0, length(x)); u[i] <- s; u}
f.x <- f(x)
sapply(1:length(x), function(i) f(x + e(i)) - f.x) / abs(s)
}
sensitivity.abs <- function(x, f, delta, ...) {
abs(sensitivity(x, f, delta/2, ...)) + abs(sensitivity(x, f, -delta/2, ...))
}
delta <- 1
beta <- function(q) qbeta(q, 1/2, 1/2) # A bimodal distribution
par(mfrow=c(3, 4))
for (n in c(4, 12, 36)) {
x <- filliben(n)
for (f.s in c("qnorm", "qunif", "qexp", "beta")) {
# Perform the tests.
y <- do.call(f.s, list(x))
y <- (y - mean(y))
cat(n, f.s, shapiro.test(y)$p.value, ks.test(y, "pnorm")$p.value, "\n")
# Compute sensitivities.
shapiro.s <- sensitivity.abs(y, function(x) shapiro.test(x)$p.value, delta)
ks.s <- sensitivity.abs(y, function(x) ks.test(x, "pnorm")$p.value, delta)
shapiro.s <- pmax(1e-12, shapiro.s) # Eliminate zeros for log plotting
ks.s <- pmax(1e-12, ks.s) # Eliminate zeros for log plotting
# Plot results.
plot(c(1,n), range(c(shapiro.s, ks.s)), type="n", log="y",
main=f.s, xlab="Rank", ylab=paste0("Sensitivity, n=", n))
points(shapiro.s, pch=16, col="Red")
points(ks.s, pch=24, bg="Blue")
lines(shapiro.s, col="#801010")
lines(ks.s, col="#101080", lty=3)
}
}
No creo que sea particularmente insensible; Diría que es más sensible allí que la prueba de Lilliefors, por ejemplo, y tengo problemas para pensar en otra prueba de bondad de ajuste comparable en uso amplio * que creo que será mucho más sensible a las colas.
Si observamos las comparaciones de poder de las pruebas de bondad de ajuste (en las que hay numerosos documentos), el Shapiro Wilk generalmente funciona muy bien en una amplia variedad de situaciones, incluidas algunas que considero relacionadas con la "sensibilidad a las colas".
* bueno, aparte quizás de la Anderson-Darling que podría vencerlo en la sensibilidad de la cola en algunos casos.
Editar: He pasado por una serie de estudios de comparación de potencia, incluso contra alternativas simétricas de cola pesada y alternativas con pequeñas cantidades de contaminación por valores atípicos (las dos formas más obvias de ver la 'sensibilidad a las colas') y el Shapiro-Wilk hace extremadamente bien, generalmente superando incluso al Anderson-Darling en esta tarea (una tarea en la que se espera que el AD sobresalga).
adecuadamente adaptada a la estimación de parámetros inherente a la prueba de la normalidad sin especificar los parámetros, por supuesto; vea la discusión en el libro Técnicas de bondad de ajuste de D'Agostino y Stephens
[¿Los autores dicen cómo se midió esta sensibilidad o con qué se comparó? ¿El documento da alguna justificación o contexto para el reclamo?]