Interpretation von QQplot - Gibt es eine Faustregel, um sich für eine Nicht-Normalität zu entscheiden?


47

Ich habe hier genügend Threads zu QQplots gelesen, um zu verstehen, dass ein QQplot aussagekräftiger sein kann als andere Normalitätstests. Ich bin jedoch unerfahren mit der Interpretation von QQplots. Ich habe viel gegoogelt; Ich habe viele Diagramme nicht normaler QQ-Diagramme gefunden, aber keine klaren Regeln für deren Interpretation, außer dem scheinbaren Vergleich mit Wissensverteilungen plus "Bauchgefühl".

Ich würde gerne wissen, ob Sie eine Faustregel haben (oder kennen), die Ihnen bei der Entscheidung für eine Nicht-Normalität hilft.

Diese Frage kam auf, als ich diese beiden Grafiken sah: Grafik 2 Grafik 1

Ich verstehe, dass die Entscheidung über die Nicht-Normalität von den Daten abhängt und was ich damit machen möchte. Meine Frage ist jedoch: Wann sind die beobachteten Abweichungen von der geraden Linie im Allgemeinen hinreichend beweiskräftig, um die Annäherung an die Normalität unzumutbar zu machen?

Was auch immer es wert ist, der Shapiro-Wilk-Test konnte die Hypothese der Nicht-Normalität in beiden Fällen nicht verwerfen.


3
Die Vertrauensbereiche rund um die QQ-Linie sind ziemlich cool. Können Sie den R-Code teilen, mit dem Sie sie erhalten haben?
User603

7
Es ist nur qqPlot () von {qualityTools} :)
greymatter0

Antworten:


43

Beachten Sie, dass der Shapiro-Wilk ein starker Test für die Normalität ist.

Der beste Ansatz ist es, eine gute Vorstellung davon zu haben, wie empfindlich ein Verfahren für verschiedene Arten von Nicht-Normalität ist (wie schlimm nicht-normal muss es sein, damit es Ihre Schlussfolgerung stärker beeinflusst als Sie) kann akzeptieren).

Ein informeller Ansatz für die Betrachtung der Diagramme besteht darin, eine Reihe von Datensätzen zu generieren, die tatsächlich normal sind und dieselbe Stichprobengröße haben wie die von Ihnen (z. B. 24). Zeichnen Sie Ihre realen Daten in einem Raster aus solchen Diagrammen (5x5 bei 24 zufälligen Sätzen). Wenn es nicht besonders ungewöhnlich aussieht (zum Beispiel das schlechteste), stimmt es einigermaßen mit der Normalität überein.

Bildbeschreibung hier eingeben

Meines Erachtens entspricht der Datensatz "Z" in der Mitte in etwa "o" und "v" und möglicherweise sogar "h", während "d" und "f" etwas schlechter aussehen. "Z" sind die realen Daten. Ich glaube zwar nicht, dass es tatsächlich normal ist, aber es sieht nicht besonders ungewöhnlich aus, wenn man es mit normalen Daten vergleicht.

[Bearbeiten: Ich habe gerade eine zufällige Umfrage durchgeführt - nun, ich habe meine Tochter gefragt, aber zu einem ziemlich zufälligen Zeitpunkt - und ihre Wahl für die am wenigsten wie eine gerade Linie war "d". 100% der Befragten dachten also, "d" sei das seltsamste.]

Formaler Ansatz wäre ein Shapiro-Francia-Test (der effektiv auf der Korrelation im QQ-Plot basiert), aber (a) nicht einmal so leistungsfähig wie der Shapiro-Wilk-Test und (b) formale Testantworten a Frage (manchmal), auf die Sie die Antwort ohnehin schon wissen sollten (die Verteilung, aus der Ihre Daten stammen, ist nicht ganz normal), anstelle der Frage, die Sie beantworten müssen (wie wichtig ist das?).


Code für die obige Anzeige eingeben. Nichts Besonderes:

z = lm(dist~speed,cars)$residual
n = length(z)
xz = cbind(matrix(rnorm(12*n),nr=n),z,matrix(rnorm(12*n),nr=n))
colnames(xz) = c(letters[1:12],"Z",letters[13:24])

opar = par()
par(mfrow=c(5,5));
par(mar=c(0.5,0.5,0.5,0.5))
par(oma=c(1,1,1,1));

ytpos = (apply(xz,2,min)+3*apply(xz,2,max))/4
cn = colnames(xz)

for(i in 1:25) {
  qqnorm(xz[,i],axes=FALSE,ylab= colnames(xz)[i],xlab="",main="")
  qqline(xz[,i],col=2,lty=2)
  box("figure", col="darkgreen")
  text(-1.5,ytpos[i],cn[i])
}

par(opar)

Beachten Sie, dass dies nur zur Veranschaulichung diente; Ich wollte einen kleinen Datensatz, der nicht ganz normal aussah, weshalb ich die Residuen einer linearen Regression auf die Fahrzeugdaten verwendete (das Modell ist nicht ganz angemessen). Wenn ich jedoch eine solche Anzeige für einen Satz von Residuen für eine Regression generieren würde, würde ich alle 25 Datensätze auf die gleichen -Werte wie im Modell zurückführen und QQ-Diagramme ihrer Residuen anzeigen, da Residuen einige haben Struktur in normalen Zufallszahlen nicht vorhanden.x

(Ich mache seit mindestens Mitte der 80er Jahre eine Reihe solcher Diagramme. Wie können Sie Diagramme interpretieren, wenn Sie nicht wissen, wie sie sich verhalten, wenn die Annahmen zutreffen - und wenn nicht?)

Mehr sehen:

Buja, A., Cook, D. Hofmann, H., Lawrence, M. Lee, E.-K., Swayne, DF und Wickham, H. (2009) Statistical Inference für die explorative Datenanalyse und Modelldiagnose Phil. Dr. Trans. R. Soc. A 2009 367, 4361-4383 doi: 10.1098 / rsta.2009.0120


8
+1. Mir gefällt die Idee sehr, die QQ-Diagramme Ihrer Stichprobe mit zufällig generierten zu vergleichen!
COOLSerdash

Vielen Dank, dass Sie @ Glen_b. Darf ich Sie fragen, wie Sie das Diagrammraster erstellt haben?
greymatter0

3
Ich habe gerade festgestellt, dass ich nie auf Ihre Anfrage geantwortet habe, greymatter0. Es gibt nicht wirklich Platz, um mein gesamtes Drehbuch zu schreiben, aber ich werde das Wesentliche skizzieren. Ich habe mit Handlungsoptionen gespielt - opar=par(); par(mfrow=c(5,5)); par(mar=c(0.5,0.5,0.5,0.5)); par(oma=c(1,1,1,1))dann habe iich qqnorm(xz[,i],axes=FALSE,ylab= colnames(xz)[i],xlab="",main=""); qqline(xz[,i],col=2,lty=2); box("figure", col="darkgreen")am Ende in einer Schleife par(opar)die Optionen auf das zurückgesetzt, was sie vorher waren. Das lässt einige Details aus, aber Sie sollten in der Lage sein, von dort aus zu verwalten.
Glen_b

@ greymatter0 ... und jetzt stelle ich fest, dass ich dich vorher nicht richtig gepingt habe, als ich endlich geantwortet habe. Entschuldigen Sie.
Glen_b

Mach dir keine Sorgen, Glen_b, vielen Dank, dass du dich daran erinnerst!
greymatter0

22

Ohne einer der hervorragenden Antworten hier zu widersprechen, habe ich eine Faustregel, die oft (aber nicht immer) entscheidend ist. (Ein vorübergehender Kommentar in der Antwort von @Dante scheint ebenfalls relevant zu sein.)

Es scheint manchmal zu offensichtlich zu sein, aber hier sind Sie.

Gerne nenne ich eine Distribution nicht normal, wenn ich denke, dass ich eine andere Beschreibung anbieten kann, die eindeutig angemessener ist.

Wenn es also eine geringfügige Krümmung und / oder Unregelmäßigkeit in den Endpunkten eines normalen Quantil-Quantil-Diagramms gibt, aber eine ungefähre Geradheit in einem Gamma-Quantil-Diagramm, kann ich sagen: "Das ist nicht gut als normal charakterisiert, es ist eher wie ein Gamma ".

Es ist kein Zufall, dass dies ein Standardargument in der Geschichte und Philosophie der Wissenschaft widerspiegelt, ganz zu schweigen von der allgemeinen wissenschaftlichen Praxis, dass eine Hypothese am klarsten und effektivsten widerlegt wird, wenn Sie eine bessere an ihre Stelle setzen können. (Stichwort: Anspielungen auf Karl Popper, Thomas S. Kuhn usw.)

Es ist wahr, dass für Anfänger und in der Tat für jeden eine sanfte Abstufung zwischen "Das ist normal, außer für geringfügige Unregelmäßigkeiten, die wir immer erwarten" und "Das ist sehr anders als normal, außer für grobe Ähnlichkeiten, die wir oft bekommen ".

Vertrauensvolle Umschläge und mehrere simulierte Muster können sehr hilfreich sein, und ich empfehle beide, aber dies kann auch hilfreich sein. (Im Übrigen ist der Vergleich mit einer Reihe von Simulationen eine wiederholte Neuerfindung, die jedoch mindestens bis nach Shewhart im Jahr 1931 zurückreicht.)

Ich werde meine Top-Line wiedergeben. Manchmal scheint überhaupt keine Markenverteilung zu passen, und Sie müssen so gut wie möglich vorankommen.


12

Wie @Glen_b sagte, können Sie Ihre Daten mit den Daten vergleichen, von denen Sie sicher sind, dass sie normal sind - die Daten, die Sie selbst generiert haben, und sich dann auf Ihr Bauchgefühl verlassen :)

Das Folgende ist ein Beispiel aus dem OpenIntro Statistics- Lehrbuch

Werfen wir einen Blick auf diesen QQ-Plot:

qq1

Es ist normal? Vergleichen wir es mit normal verteilten Daten:

qq2

Dieser sieht besser aus als unsere Daten, daher scheinen unsere Daten nicht normal zu sein. Stellen Sie dies sicher, indem Sie es mehrmals simulieren und nebeneinander zeichnen

qq3

Unser Bauchgefühl sagt uns also, dass es unwahrscheinlich ist, dass die Probe normal verteilt wird.

Hier ist der R-Code, um dies zu tun

load(url("http://www.openintro.org/stat/data/bdims.RData"))
fdims = subset(bdims, bdims$sex == 0)

qqnorm(fdims$wgt, col=adjustcolor("orange", 0.4), pch=19)
qqline(fdims$wgt)

qqnormsim = function(dat, dim=c(2,2)) {
  par(mfrow=dim)
  qqnorm(dat, col=adjustcolor("orange", 0.4), 
         pch=19, cex=0.7, main="Normal QQ Plot (Data)")
  qqline(dat)
  for (i in 1:(prod(dim) - 1)) {
    simnorm = rnorm(n=length(dat), mean=mean(dat), sd=sd(dat))
    qqnorm(simnorm, col=adjustcolor("orange", 0.4), 
           pch=19, cex=0.7,
           main="Normal QQ Plot (Sim)")
    qqline(simnorm)
  }
  par(mfrow=c(1, 1))
}
qqnormsim(fdims$wgt)

9

Normalitätstests gibt es viele. Man konzentriert sich normalerweise auf die Nullhypothese , nämlich " ". Der Alternativhypothese "gegen was" wird jedoch wenig Beachtung geschenkt .H0:F=Normal

Typischerweise haben Tests, die eine andere Verteilung als Alternativhypothese betrachten, im Vergleich zu Tests mit der richtigen Alternativhypothese eine geringe Aussagekraft (siehe z. B. 1 und 2 ).

Es gibt ein interessantes R-Paket mit der Implementierung mehrerer nichtparametrischer Normalitätstests ('Nortest', http://cran.r-project.org/web/packages/nortest/index.html). Wie in den obigen Abhandlungen erwähnt, ist der Likelihood-Ratio-Test mit einer geeigneten alternativen Hypothese leistungsfähiger als diese Tests.

Die von @Glen_b erwähnte Idee, Ihre Stichprobe mit zufälligen Stichproben aus Ihrem (angepassten) Modell zu vergleichen, wird in meiner zweiten Referenz erwähnt. Sie heißen "QQ-Envelopes" oder "QQ-Fans". Dies erfordert implizit ein Modell zur Generierung der Daten und folglich eine alternative Hypothese.


4

Wenn ich meinen Kurs über Regressionsmodellierungsstrategien unterrichte, stört dieses Thema meine Schüler und mich immer. Ich sage ihnen, dass unsere grafischen Beurteilungen immer subjektiv sind, und ich mache mir eher früh am Tag Sorgen über die Grafiken als später, wenn ich müde bin. Das Hinzufügen von formalen statistischen Tests hilft nicht genug: Tests können triviale Nichtnormalitäten für sehr große Stichprobengrößen erkennen und wichtige Nichtnormalitäten für kleine übersehen . Ich ziehe mit Methoden , die nicht Normalität übernehmen kann , die effizient sind, zB ordinale Regression für die kontinuierliche .YnY


1
+1. Wenn Sie fünf Minuten @Franck haben, können Sie sich diesen Thread ansehen : stats.meta.stackexchange.com/questions/4743 und dort wiegen? Es geht um unsere Tags für ordinales / geordnetes Logit / Probit - es gibt eine ganze Reihe von oder verwandte Tags und einige Inkonsistenzen in der Verwendung des [ordinalen] Tags, daher schlage ich vor, diese Tags aufzuräumen. Es wäre großartig, wenn Sie Ihre Meinung dazu wissen würden, wie Sie sie am besten organisieren können.
Amöbe sagt Reinstate Monica

1
Beginnen Sie mit der Post über den rms orm Funktion mit einem Beispiel für einen kontinuierlichen . Kann es im Moment nicht finden ...Y
Frank Harrell
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.