Ist der Shapiro Wilk-Test unempfindlich gegenüber den Schwänzen der Probenverteilung? Ich habe eine solche Aussage auf einem Papier gelesen, kann aber anhand der Teststatistik W nicht herausfinden, warum. Könnte mir jemand helfen, dies zu verstehen?
Ist der Shapiro Wilk-Test unempfindlich gegenüber den Schwänzen der Probenverteilung? Ich habe eine solche Aussage auf einem Papier gelesen, kann aber anhand der Teststatistik W nicht herausfinden, warum. Könnte mir jemand helfen, dies zu verstehen?
Antworten:
Die Situation ist kompliziert, aber die Ergebnisse tendieren zum Gegenteil dieser Behauptung: Für moderate Datensatzgrößen ist der Shapiro-Wilk-Test im Schwanz empfindlicher als anderswo.
Unter "empfindlich" verstehe ich das Ausmaß, in dem die Ergebnisse variieren, wenn Werte im Datensatz gestört werden. (Eine andere mögliche Interpretation ist, dass "Empfindlichkeit" in Bezug auf die Leistung des Tests gemeint ist , um Abweichungen vom Schwanzverhalten einer Normalverteilung zu erkennen. Da jedoch "Empfindlichkeit" und "Leistung" übliche, gut verstandene statistische Begriffe mit sind unterschiedliche Bedeutungen, diese zweite Interpretation scheint nicht angemessen.)
Generell betrachten wir die Testergebnisse (die normalerweise als p-Wert angenommen werden) als eine Funktion der geordneten Daten . Dann könnten wir die Empfindlichkeit definieren auf den Element von zu seinx f i th x
Es gibt jedoch einige Probleme damit. Erstens ist möglicherweise nicht differenzierbar. Zweitens ist die Empfindlichkeit gegenüber extrem kleinen Änderungen möglicherweise weniger relevant als die Empfindlichkeit gegenüber größeren Änderungen. Um mit diesen Komplikationen fertig zu werden, können wir (1) gerichtete endliche Differenzen verwenden, um Änderungen in wenn getrennt erhöht und verringert wird, und (2) diese Unterschiede für Abweichungen erhalten, die im Vergleich zur Streuung der Daten spürbar sind. Zu diesem Zweck wird bei gegebener Abweichung letf x i δ ≥ 0
(wobei ein Standardmaß für die Streuung von , wie z. B. seine Standardabweichung) und definieren Sie die Empfindlichkeit von als den Vektor der absoluten Differenzquotientenx f
Das heißt, jeder Datenwert wird um Beträge fache der Gesamtstreuung nach oben und unten verschoben . Die Empfindlichkeit ist die gesamte absolute relative Änderung, die eine Nettoabweichung von widerspiegelt, die auf die Daten zentriert ist.δ σ
Die Empfindlichkeit kann je nach Datensatz variieren. Sollten wir es bewerten, wenn die Daten der Nullhypothese entsprechen oder wenn sie weit von der Null entfernt sind? Beide Bewertungen können informativ sein. Bei Verteilungstests treten jedoch die Komplikationen auf, dass die Alternative häufig nicht einmal parametrierbar ist: Obwohl die Nullhypothese lautet, dass die Daten aus einer Normalverteilung abgetastet werden, besteht die Alternative darin, dass sie aus einer beliebigen Verteilung abgetastet werden .
Eine gründliche Studie würde viele Alternativen und viele Stichprobengrößen untersuchen. Im Folgenden berichte ich über Ergebnisse für drei Stichprobengrößen, , die typisch für Datensätze sind, in denen der Shapiro-Wilk-Test verwendet wird, und für die Null (eine Normalverteilung) eine kurzschwänzige Alternative (eine Uniform) Verteilung), eine langschwänzige Alternative (eine Exponentialverteilung) und eine bimodale Alternative (eine Beta -Verteilung). In jedem Fall lasse ich den Datensatz so weit wie möglich der übergeordneten Verteilung ähneln. Dies wird erreicht, indem die Quantile der Verteilung an Wahrscheinlichkeitsplotpunkten berechnet werden (beabstandet nach Fillibens Formeln , auch bekannt als "Weibull- Plotpunkte ").( 2 , 2 ) n
Als Referenz habe ich dieselbe Analyse auf eine Variante des Kolmogorov-Smirnov-Tests angewendet. Für diese Variante zentriere ich zuerst die Daten neu, da (zumindest für die Alternativen) der KS-Test kein realistischer Vergleich ist. Mit den neu zentrierten Daten ergeben beide Tests häufig vergleichbare p-Werte, und diese p-Werte reichen von bis und decken einen nützlichen Bereich von Möglichkeiten ab.0,0003
Die Empfindlichkeiten für sind auf logarithmischen Achsen gegen die Datenindizes (Ränge) aufgetragen. Die Ergebnisse für den SW-Test sind rot mit ausgefüllten Kreisen dargestellt. Die für den KS-Test sind blau mit ausgefüllten Dreiecken. (Empfindlichkeiten von Null sind bei aufgetragen .)10 - 12
Der SW - Test leicht zu tendenziell mehr empfindlich auf Daten in den Schwänzen ( dh , wo die Reihen sind in der Nähe oder ) als in der Mitte, mit Ausnahme von sehr kleinen Datenmengen. Im Gegensatz dazu ist der KS-Test in der Regel äußerst empfindlich gegenüber einer kleinen Anzahl von Daten in einem oder beiden Endstücken, zumindest wenn die Datensatzgröße ausreichend groß ist. Diese Tests sagen uns eindeutig verschiedene Dinge über die Formen der Datensätze.n
Im Großen und Ganzen weist der SW-Test wesentlich größere Empfindlichkeiten auf als der KS-Test. Die Gründe hierfür sind kompliziert. Beachten Sie jedoch insbesondere, dass zwei Verteilungstests nicht allein anhand der Empfindlichkeit verglichen werden können: Sie sollten auch die p-Werte berücksichtigen, bei denen diese Empfindlichkeiten gemessen werden.
Der R
zur Erstellung dieser Ergebnisse verwendete Code folgt. Es ist so strukturiert, dass es leicht modifiziert werden kann, um die Studie in jede gewünschte Richtung zu erweitern: unterschiedliche Stichprobengrößen, unterschiedliche Datensatzverteilungen und unterschiedliche Verteilungstests.
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)
}
}
Ich denke nicht, dass es besonders unempfindlich ist; Ich würde sagen, dass es dort empfindlicher ist als zum Beispiel der Lilliefors-Test, und ich habe Probleme, mir einen anderen vergleichbaren Test der Anpassungsgüte vorzustellen, der meiner Meinung nach viel empfindlicher für die Schwänze ist.
Wenn wir uns Leistungsvergleiche von Fit-Tests (auf denen es numeorus-Papiere gibt) ansehen, ist der Shapiro Wilk im Allgemeinen in einer Vielzahl von Situationen sehr gut, einschließlich einiger, die ich als "Empfindlichkeit gegenüber Schwänzen" betrachten würde.
* Nun, vielleicht abgesehen von dem Anderson-Darling- der ihn in einigen Fällen bei der Schwanzempfindlichkeit schlagen könnte.
Bearbeiten: Ich habe eine Reihe von Leistungsvergleichsstudien durchlaufen, unter anderem gegen symmetrische Alternativen mit schwerem Schwanz und Alternativen mit geringen Mengen an Kontamination durch Ausreißer (die beiden offensichtlichsten Methoden, um die Empfindlichkeit gegenüber Schwänzen zu betrachten), und Shapiro-Wilk Sehr gut und übertrifft im Allgemeinen sogar den Anderson-Darling bei dieser Aufgabe (eine Aufgabe, bei der die AD voraussichtlich hervorragende Leistungen erbringen wird).
, der natürlich an die Parameterschätzung angepasst ist, die dem Testen der Normalität innewohnt, ohne die Parameter anzugeben - siehe die Diskussion im Buch Goodness of Fit-Techniken von D'Agostino und Stephens
[Sagen die Autoren, wie diese Empfindlichkeit gemessen wurde oder womit sie verglichen wurde? Gibt das Papier überhaupt eine Rechtfertigung oder einen Kontext für die Behauptung?]