Vielleicht würden Sie von einem Erkundungsinstrument profitieren. Das Aufteilen der Daten in Dezile der x-Koordinate scheint in diesem Sinne durchgeführt worden zu sein. Mit den unten beschriebenen Modifikationen ist dies ein perfekter Ansatz.
Viele bivariate Erkundungsmethoden wurden erfunden. Ein einfacher Vorschlag von John Tukey ( EDA , Addison-Wesley 1977) ist seine "wandernde schematische Handlung". Sie schneiden die x-Koordinate in Bins, erstellen ein vertikales Boxplot der entsprechenden y-Daten am Median jedes Bins und verbinden die wichtigsten Teile der Boxplots (Mediane, Scharniere usw.) zu Kurven (optional glätten). Diese "wandernden Spuren" liefern ein Bild der bivariaten Verteilung der Daten und ermöglichen eine sofortige visuelle Beurteilung der Korrelation, der Linearität der Beziehung, der Ausreißer und der Randverteilungen sowie eine robuste Schätzung und Bewertung der Anpassungsgüte jeder nichtlinearen Regressionsfunktion .
Zu dieser Idee fügte Tukey im Einklang mit der Boxplot-Idee den Gedanken hinzu, dass eine gute Möglichkeit, die Verteilung von Daten zu untersuchen, darin besteht, in der Mitte zu beginnen und nach außen zu arbeiten und dabei die Datenmenge zu halbieren. Das heißt, die zu verwendenden Bins müssen nicht in Quantile mit gleichem Abstand geschnitten werden, sondern sollten stattdessen die Quantile an den Punkten und für widerspiegeln. . 1 - 2 - k k = 1 , 2 , 3 , …2−k1−2−kk=1,2,3,…
Um die unterschiedlichen Bin-Populationen anzuzeigen, können wir die Breite jedes Boxplots proportional zur Datenmenge machen, die es darstellt.
Die resultierende schematische Darstellung würde ungefähr so aussehen. Daten, wie sie aus der Datenzusammenfassung entwickelt wurden, werden im Hintergrund als graue Punkte angezeigt. Darüber wurde die wandernde schematische Darstellung mit den fünf Farbspuren und den Boxplots (einschließlich aller gezeigten Ausreißer) in Schwarzweiß gezeichnet.
Die Art der Korrelation nahe Null wird sofort klar: Die Daten drehen sich um. In der Nähe ihres Zentrums, von bis , weisen sie eine starke positive Korrelation auf. Bei Extremwerten weisen diese Daten krummlinige Beziehungen auf, die insgesamt eher negativ sind. Der für diese Daten zufällig beträgt) liegt nahe bei Null. Das Beharren darauf, dies als "fast keine Korrelation" oder "signifikante, aber geringe Korrelation" zu interpretieren, wäre der gleiche Fehler, der im alten Witz über die Statistikerin gefälscht wurde, die mit ihrem Kopf im Ofen und den Füßen in der Kühlbox zufrieden war, weil im Durchschnitt die Die Temperatur war angenehm. Manchmal reicht eine einzelne Zahl einfach nicht aus, um die Situation zu beschreiben.x = 4 - 0,074x=−4x=4−0.074
Alternative Erkundungswerkzeuge mit ähnlichen Zwecken umfassen robuste Glättungen von Fensterquantilen der Daten und Anpassungen von Quantilregressionen unter Verwendung einer Reihe von Quantilen. Mit der sofortigen Verfügbarkeit von Software zur Durchführung dieser Berechnungen sind sie möglicherweise einfacher auszuführen als eine wandernde schematische Spur, aber sie genießen nicht die gleiche Einfachheit der Konstruktion, einfache Interpretation und breite Anwendbarkeit.
Der folgende R
Code hat die Abbildung erstellt und kann ohne oder mit nur geringen Änderungen auf die Originaldaten angewendet werden. (Ignorieren Sie die Warnungen von bplt
(aufgerufen von bxp
): Es beschwert sich, wenn es keine Ausreißer zum Zeichnen gibt.)
#
# Data
#
set.seed(17)
n <- 1449
x <- sort(rnorm(n, 0, 4))
s <- spline(quantile(x, seq(0,1,1/10)), c(0,.03,-.6,.5,-.1,.6,1.2,.7,1.4,.1,.6),
xout=x, method="natural")
#plot(s, type="l")
e <- rnorm(length(x), sd=1)
y <- s$y + e # ($ interferes with MathJax processing on SE)
#
# Calculations
#
q <- 2^(-(2:floor(log(n/10, 2))))
q <- c(rev(q), 1/2, 1-q)
n.bins <- length(q)+1
bins <- cut(x, quantile(x, probs = c(0,q,1)))
x.binmed <- by(x, bins, median)
x.bincount <- by(x, bins, length)
x.bincount.max <- max(x.bincount)
x.delta <- diff(range(x))
cor(x,y)
#
# Plot
#
par(mfrow=c(1,1))
b <- boxplot(y ~ bins, varwidth=TRUE, plot=FALSE)
plot(x,y, pch=19, col="#00000010",
main="Wandering schematic plot", xlab="X", ylab="Y")
for (i in 1:n.bins) {
invisible(bxp(list(stats=b$stats[,i, drop=FALSE],
n=b$n[i],
conf=b$conf[,i, drop=FALSE],
out=b$out[b$group==i],
group=1,
names=b$names[i]), add=TRUE,
boxwex=2*x.delta*x.bincount[i]/x.bincount.max/n.bins,
at=x.binmed[i]))
}
colors <- hsv(seq(2/6, 1, 1/6), 3/4, 5/6)
temp <- sapply(1:5, function(i) lines(spline(x.binmed, b$stats[i,],
method="natural"), col=colors[i], lwd=2))