le test de Shapiro Wilk est-il insensible aux queues?

8

Le test de Shapiro Wilk est-il insensible aux queues de distribution des échantillons? J'ai lu une telle déclaration sur un papier mais je ne peux pas comprendre pourquoi à partir de sa statistique de test W. Quelqu'un pourrait-il m'aider à comprendre cela?

Joie
la source
1
Dans quel article avez-vous lu cela?
Glen_b -Reinstate Monica
2
Voir ma réponse ici à une question similaire. Il contient également des références à des articles contenant des recherches empiriques, des comparaisons avec différentes alternatives, y compris des distributions à longue queue.
Aksakal

Réponses:

5

La situation est compliquée, mais les résultats tendent à l'opposé de cette affirmation: pour des tailles de jeu de données modérées , le test de Shapiro-Wilk est plus sensible dans les queues qu'ailleurs.n


Quantifier la sensibilité

Je considère que «sensible» signifie la mesure dans laquelle les résultats varient lorsque les valeurs de l'ensemble de données sont perturbées. (Une autre interprétation possible est que la "sensibilité" signifie en termes de puissance du test pour détecter les écarts par rapport au comportement de queue d'une distribution normale. Cependant, puisque "sensibilité" et "puissance" sont des termes statistiques courants et bien compris avec significations distinctes, cette deuxième interprétation ne semble pas appropriée.)

De manière générique, considérons que les "résultats" du test (qui sont généralement considérés comme une valeur de p) sont une fonction des données ordonnées . Ensuite, nous pourrions vouloir définir la sensibilité de à l' élément de pour êtrefxfithx

ddxif(x1,x2,,xn).

Il y a cependant quelques problèmes avec cela. Premièrement, peut ne pas être différenciable. Deuxièmement, la sensibilité à des changements extrêmement faibles pourrait être moins pertinente que la sensibilité à des changements plus importants. Pour faire face à ces complications, nous pouvons (1) utiliser des différences finies dirigées pour explorer les changements de lorsque est augmenté et diminué séparément et (2) obtenir ces différences pour des écarts qui sont appréciables par rapport à la diffusion des données. À cette fin, étant donné un écart letffxiδ0

sδ±if=f(x1,,xi1,xi±δσ,xi+1,,xn)f(x1,x2,,xn)δσ

(où est une mesure standard de la propagation de , comme son écart-type) et définir la sensibilité de comme vecteur de quotients de différence absolueσxf

(|sδ/2i|+|sδ/2i|,i=1,2,,n).

C'est-à-dire que chaque valeur de données est déplacée vers le haut et vers le bas par des quantités fois l'écart global. La sensibilité est le changement relatif absolu total, reflétant une déviation nette de centrée sur les données.δ/2δσ

Évaluation de la sensibilité des tests de distribution

La sensibilité peut varier avec l'ensemble de données. Doit-on l'évaluer lorsque les données sont conformes à l'hypothèse nulle ou lorsqu'elles sont loin d'être nulles? Les deux évaluations peuvent être informatives. Mais pour les tests de distribution, nous sommes confrontés à la complication que souvent l'alternative n'est même pas paramétrable: bien que l'hypothèse nulle puisse être que les données sont échantillonnées à partir d'une distribution normale, l'alternative serait qu'elles soient échantillonnées à partir de n'importe quelle distribution.

Une étude approfondie examinerait de nombreuses alternatives et de nombreux échantillons. Ci-dessous, je présente les résultats pour trois tailles d'échantillon, , qui sont typiques des ensembles de données où le test de Shapiro-Wilk est utilisé, et pour le nul (une distribution normale), une alternative à courte queue (un uniforme distribution), une alternative à longue queue (une distribution exponentielle) et une alternative bimodale (une distribution bêta ). Dans chaque cas, je fais en sorte que l'ensemble de données ressemble autant que possible à sa distribution parente. Ceci est accompli en calculant les quantiles de la distribution à points de tracé de probabilité (espacés selon les formules de Filliben , alias "points de tracé de Weibull").n=4,12,36(2,2)n

Pour référence, j'ai appliqué la même analyse à une variante du test de Kolmogorov-Smirnov. Pour cette variante, je recentre d'abord les données, car (au moins pour les alternatives) le test KS ne sera pas une comparaison réaliste. Avec les données récentes, les deux tests produisent souvent des valeurs de p comparables et ces valeurs de p vont de à , couvrant une gamme utile de possibilités.10.0003

Résultats

Les sensibilités pour sont tracées sur des axes logarithmiques en fonction des indices de données (rangs). Les résultats du test SW sont affichés en rouge avec des cercles pleins; ceux du test KS sont en bleu avec des triangles pleins. (Les sensibilités de zéro sont représentées à .)δ=11012

Figure

Le test SW a tendance à être légèrement plus sensible aux données dans les queues ( c'est-à - dire lorsque les rangs sont proches de ou de ) que dans le milieu, sauf pour les très petits ensembles de données. Le test KS, en revanche, a tendance à être extrêmement sensible à un petit nombre de données dans une ou les deux queues, au moins une fois que la taille de l'ensemble de données est suffisamment grande. De toute évidence, ces tests nous disent différentes choses sur les formes des ensembles de données.1n

Dans l'ensemble, le test SW a des sensibilités beaucoup plus importantes que le test KS. Les raisons en sont compliquées, mais notez surtout que deux tests de distribution ne peuvent pas être comparés sur la seule base de la sensibilité: vous devez également considérer les valeurs de p auxquelles ces sensibilités sont mesurées.

Code

Le Rcode utilisé pour produire ces résultats suit. Il est structuré pour être facilement modifié pour étendre l'étude dans n'importe quelle direction: différentes tailles d'échantillon, différentes distributions de jeux de données et différents tests de distribution.

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)
  }
}
whuber
la source
3

Je ne pense pas que ce soit particulièrement insensible; Je dirais qu'il y est plus sensible que le test de Lilliefors, par exemple, et j'ai du mal à penser à un autre test de qualité d'ajustement comparable largement utilisé * qui, je pense, sera beaucoup plus sensible aux queues.

Si nous regardons les comparaisons de puissance des tests de qualité de l'ajustement (sur lesquels il existe des papiers numeorus), le Shapiro Wilk fonctionne généralement très bien dans une grande variété de situations, y compris certaines que je considérerais comme liées à la "sensibilité aux queues".

* bien, à part peut-être le Anderson-Darling qui pourrait le battre sur la sensibilité de la queue dans certains cas.

Edit: J'ai effectué un certain nombre d'études de comparaison de puissance, y compris contre des alternatives symétriques à queue lourde et des alternatives avec de petites quantités de contamination par des valeurs aberrantes (les deux façons les plus évidentes de considérer la `` sensibilité aux queues '') et le Shapiro-Wilk le fait extrêmement bien, surpassant généralement même l'Anderson-Darling dans cette tâche (une tâche à laquelle l'AD devrait s'attendre à exceller).

convenablement adaptée à l'estimation des paramètres inhérente au test de normalité sans spécifier les paramètres, bien sûr - voir la discussion dans le livre Goodness of fit techniques de D'Agostino et Stephens

[Les auteurs disent-ils comment cette sensibilité a été mesurée ou à quoi elle a été comparée? Le document donne-t-il une justification ou un contexte à la réclamation?]

Glen_b -Reinstate Monica
la source