Was ist ein guter Index für den Grad der Verletzung der Normalität und welche beschreibenden Bezeichnungen könnten diesem Index zugeordnet werden?

12

Kontext:

In einer früheren Frage fragte @Robbie in einer Studie mit etwa 600 Fällen, warum Normalitätstests auf eine signifikante Nichtnormalität hinwiesen, die Diagramme jedoch auf Normalverteilungen hinwiesen . Mehrere Personen wiesen darauf hin, dass Signifikanztests der Normalität nicht sehr nützlich sind. Bei kleinen Stichproben haben solche Tests nicht viel Leistung, um leichte Verstöße gegen die Normalität zu erkennen, und bei großen Stichproben erkennen sie Verstöße gegen die Normalität, die klein genug sind, um nicht von Belang zu sein.

Es scheint mir, dass dieses Problem der Debatte um Signifikanztests und Effektgrößen ähnelt. Wenn Sie sich nur auf Signifikanztests konzentrieren und große Stichproben haben, können Sie kleine Effekte erkennen, die für praktische Zwecke irrelevant sind, und bei kleinen Stichproben verfügen Sie nicht über ausreichende Leistung.

In einigen Fällen habe ich sogar Lehrbücher gesehen, die Leuten raten, dass Sie eine "zu große" Stichprobe haben können, da kleine Effekte statistisch signifikant sind.

Im Zusammenhang mit Signifikanztests und Effektgrößen besteht eine einfache Lösung darin, sich auf die Schätzung der Größe des interessierenden Effekts zu konzentrieren, anstatt von der binären Entscheidungsregel besessen zu sein, ob ein Effekt vorliegt oder nicht. Konfidenzintervalle für Effektgrößen sind ein solcher Ansatz, oder Sie könnten eine Form des Bayes'schen Ansatzes anwenden. Darüber hinaus bilden verschiedene Forschungsbereiche Ideen darüber, was eine bestimmte Effektgröße im praktischen Sinne zum Guten oder Schlechten bedeutet, indem heuristische Bezeichnungen wie "kleiner", "mittlerer" und "großer Effekt" angewendet werden. Dies führt auch zu der intelligenten Empfehlung, die Stichprobengröße zu maximieren, um die Genauigkeit bei der Schätzung eines bestimmten interessierenden Parameters zu maximieren.

Ich frage mich daher, warum ein ähnlicher Ansatz, der auf Konfidenzintervallen von Effektgrößen basiert, in Bezug auf Annahmetests und insbesondere Normalitätstests nicht weiter verbreitet ist.

Frage:

  • Was ist der beste Einzelindex für das Ausmaß, in dem die Daten die Normalität verletzen?
  • Oder ist es einfach besser, über mehrere Indizes für Normalitätsverletzungen zu sprechen (z. B. Schiefe, Kurtosis, Ausreißerprävalenz)?
  • Wie können Konfidenzintervalle (oder vielleicht ein Bayes'scher Ansatz) für den Index berechnet werden?
  • Welche Art von verbalen Bezeichnungen könnten Sie Punkten in diesem Index zuweisen, um den Grad der Verletzung der Normalität anzuzeigen (z. B. mild, mittel, stark, extrem usw.)? Das Ziel solcher Labels könnte darin bestehen, Analysten mit weniger Erfahrung in der Schulung ihrer Intuition zu helfen, wenn Verstöße gegen die Normalität problematisch sind.
Jeromy Anglim
quelle
5
Faszinierende Frage.
Rolando2
1
p
1
@NRH Ich stimme zu; das ist was ich mache. Ich berate jedoch häufig Forscher mit weniger Erfahrung in der statistischen Beratung, um den Grad der Nichtnormalität anhand einer Handlung zu beurteilen. Ich dachte, dass ein Index mit verschiedenen qualitativen Bezeichnungen das Training einer visuellen Intuition ergänzen könnte.
Jeromy Anglim

Antworten:

13

A) Was ist der beste Einzelindex für das Ausmaß, in dem die Daten die Normalität verletzen?

B) Oder ist es einfach besser, über mehrere Indizes für Normalitätsverletzungen zu sprechen (z. B. Schiefe, Kurtosis, Ausreißerprävalenz)?

Ich würde für B stimmen. Unterschiedliche Verstöße haben unterschiedliche Konsequenzen. Zum Beispiel machen unimodale, symmetrische Verteilungen mit schweren Schwänzen Ihre CIs sehr breit und verringern vermutlich die Fähigkeit, Effekte zu erkennen. Der Mittelwert trifft jedoch immer noch den "typischen" Wert. Bei sehr verzerrten Verteilungen ist der Mittelwert beispielsweise möglicherweise kein sehr vernünftiger Index für den "typischen Wert".

C) Wie können Konfidenzintervalle (oder vielleicht ein Bayes'scher Ansatz) für den Index berechnet werden?

Ich weiß nichts über Bayes'sche Statistik, aber in Bezug auf den klassischen Normalitätstest möchte ich Erceg-Hurn et al. (2008) [2]:

Ein weiteres Problem besteht darin, dass Annahmetests ihre eigenen Annahmen haben. Normalitätstests gehen normalerweise davon aus, dass die Daten homoskedastisch sind. Tests der Homoskedastizität setzen voraus, dass die Daten normal verteilt sind. Wenn die Normalitäts- und Homoskedastizitätsannahmen verletzt werden, kann die Gültigkeit der Annahmeprüfungen ernsthaft beeinträchtigt werden. Prominente Statistiker haben die in Software wie SPSS integrierten Annahmetests (z. B. Levene-Test, Kolmogorov-Smirnov-Test) als tödlich fehlerhaft beschrieben und empfohlen, diese Tests niemals zu verwenden (D'Agostino, 1986; Glass & Hopkins, 1996).

D) Welche Art von verbalen Bezeichnungen könnten Sie Punkten in diesem Index zuweisen, um den Grad der Verletzung der Normalität anzuzeigen (z. B. mild, mittel, stark, extrem usw.)?

Micceri (1989) [1] analysierte 440 große Datensätze in der Psychologie. Er bewertete die Symmetrie und das Schwanzgewicht und definierte Kriterien und Bezeichnungen. Die Bezeichnungen für Asymmetrie reichen von "relativ symmetrisch" bis "mittel -> extrem -> exponentielle Asymmetrie". Die Etiketten für das Schwanzgewicht reichen von "Uniform -> weniger als Gauß -> Über Gauß -> Mittel -> Extrem -> Doppelte exponentielle Kontamination". Jede Klassifizierung basiert auf mehreren robusten Kriterien.

Er fand heraus, dass von diesen 440 Datensätzen nur 28% relativ symmetrisch waren und nur 15% in Bezug auf die Schwanzgewichte etwa Gaußsch waren. Daher der schöne Titel des Papiers:

Das Einhorn, die normale Kurve und andere unwahrscheinliche Kreaturen

Ich habe eine RFunktion geschrieben, die automatisch die Kriterien von Micceri bewertet und auch die Etiketten ausdruckt:

# This function prints out the Micceri-criteria for tail weight and symmetry of a distribution
micceri <- function(x, plot=FALSE) {
    library(fBasics)
    QS <- (quantile(x, prob=c(.975, .95, .90)) - median(x)) / (quantile(x, prob=c(.75)) - median(x))

    n <- length(x)
    x.s <- sort(x)
    U05 <- mean(x.s[(.95*n ):n])
    L05 <- mean(x.s[1:(.05*n)])
    U20 <- mean(x.s[(.80*n):n])
    L20 <- mean(x.s[1:(.20*n)])
    U50 <- mean(x.s[(.50*n):n])
    L50 <- mean(x.s[1:(.50*n)])
    M25 <- mean(x.s[(.375*n):(.625*n)])
    Q <- (U05 - L05)/(U50 - L50)
    Q1 <- (U20 - L20)/(U50 - L50)
    Q2 <- (U05 - M25)/(M25 - L05)

    # mean/median interval
    QR <- quantile(x, prob=c(.25, .75)) # Interquartile range
    MM <- abs(mean(x) - median(x)) / (1.4807*(abs(QR[2] - QR[1])/2))

    SKEW <- skewness(x)
    if (plot==TRUE) plot(density(x))

    tail_weight <- round(c(QS, Q=Q, Q1=Q1), 2)
    symmetry <- round(c(Skewness=SKEW, MM=MM, Q2=Q2), 2)

    cat.tail <- matrix(c(1.9, 2.75, 3.05, 3.9, 4.3,
                         1.8, 2.3, 2.5, 2.8, 3.3,
                        1.6, 1.85, 1.93, 2, 2.3,
                        1.9, 2.5, 2.65, 2.73, 3.3,
                        1.6, 1.7, 1.8, 1.85, 1.93), ncol=5, nrow=5)

    cat.sym <- matrix(c(0.31, 0.71, 2,
                        0.05, 0.18, 0.37,
                        1.25, 1.75, 4.70), ncol=3, nrow=3)


    ts <- c()
    for (i in 1:5) {ts <- c(ts, sum(abs(tail_weight[i]) > cat.tail[,i]) + 1)}

    ss <- c()
    for (i in 1:3) {ss <- c(ss, sum(abs(symmetry[i]) > cat.sym[,i]) + 1)}

    tlabels <- c("Uniform", "Less than Gaussian", "About Gaussian", "Moderate contamination", "Extreme contamination", "Double exponential contamination")

    slabels <- c("Relatively symmetric", "Moderate asymmetry", "Extreme asymmetry", "Exponential asymmetry")

    cat("Tail weight indexes:\n")
    print(tail_weight)
    cat(paste("\nMicceri category:", tlabels[max(ts)],"\n"))
    cat("\n\nAsymmetry indexes:\n")
    print(symmetry)
    cat(paste("\nMicceri category:", slabels[max(ss)]))

    tail.cat <- factor(max(ts), levels=1:length(tlabels), labels=tlabels, ordered=TRUE)
    sym.cat  <- factor(max(ss), levels=1:length(slabels), labels=slabels, ordered=TRUE)

    invisible(list(tail_weight=tail_weight, symmetry=symmetry, tail.cat=tail.cat, sym.cat=sym.cat))
}

t

> micceri(rnorm(10000))
Tail weight indexes:
97.5%   95%   90%     Q    Q1 
 2.86  2.42  1.88  2.59  1.76 

Micceri category: About Gaussian 


Asymmetry indexes:
Skewness   MM.75%       Q2 
    0.01     0.00     1.00 

Micceri category: Relatively symmetric



> micceri(rt(10000, 8))
Tail weight indexes:
97.5%   95%   90%     Q    Q1 
 3.19  2.57  1.94  2.81  1.79 

Micceri category: Extreme contamination 


Asymmetry indexes:
Skewness   MM.75%       Q2 
   -0.03     0.00     0.98 

Micceri category: Relatively symmetric



> micceri(rlnorm(10000))
Tail weight indexes:
97.5%   95%   90%     Q    Q1 
 6.24  4.30  2.67  3.72  1.93 

Micceri category: Double exponential contamination 


Asymmetry indexes:
Skewness   MM.75%       Q2 
    5.28     0.59     8.37 

Micceri category: Exponential asymmetry

[1] Micceri, T. (1989). Das Einhorn, die normale Kurve und andere unwahrscheinliche Kreaturen. Psychological Bulletin, 105 , 156 & ndash; 166. doi: 10.1037 / 0033-2909.105.1.156

[2] Erceg-Hurn, DM & Mirosevich, VM (2008). Moderne robuste statistische Methoden: Eine einfache Möglichkeit, die Genauigkeit und Leistungsfähigkeit Ihrer Forschung zu maximieren. American Psychologist, 63 , 591 & ndash; 601.

Felix S.
quelle
3
+1, das ist wirklich eine gute Antwort. Ich möchte jedoch mit 1 Punkt streiten. Sie geben an, "unimodale, symmetrische Verteilungen mit schweren Schwänzen machen Ihre CIs sehr breit und verringern vermutlich die Fähigkeit, Effekte zu erkennen". Wenn sie nicht gebootet sind, basieren CIs in der Regel auf Asymptotik (normale Annahmen), sodass die Tatsache, dass Ihr Dist Fettschwänze hat, keinen Einfluss auf die Breite des CI oder die Leistung hat. Dies bedeutet vielmehr, dass die empirische Abdeckungswahrscheinlichkeit nicht mit der angenommenen Abdeckungswahrscheinlichkeit übereinstimmt.
Gung - Reinstate Monica