Belki bir keşif aracından faydalanırsınız. Verilerin x koordinatının ondalık sayılarına bölünmesi, bu ruhla gerçekleştirilmiş gibi görünmektedir. Aşağıda açıklanan değişikliklerle mükemmel bir yaklaşımdır.
Birçok iki değişkenli keşif yöntemi icat edilmiştir. John Tukey ( EDA , Addison-Wesley 1977) tarafından önerilen basit bir örnek onun "gezici şematik çizimidir". X-koordinatını bölmelere ayırırsınız, her bir bölmenin medyanında karşılık gelen y verisinin dikey bir kutu grafiğini dikersiniz ve kutu grafiklerinin anahtar parçalarını (medyanlar, menteşeler vb.) Eğrilere (isteğe bağlı olarak düzleştirme) bağlarsınız. Bu "gezici izler", verilerin iki değişkenli dağılımının bir resmini sunar ve korelasyonun, ilişkinin doğrusallığının, aykırı değerlerin ve marjinal dağılımların görsel olarak değerlendirilmesine ve ayrıca doğrusal olmayan herhangi bir regresyon fonksiyonunun sağlam tahminine ve uygunluk değerlendirmesine olanak tanır .
Bu fikre, Tukey, boxplot fikriyle tutarlı olarak, veri dağılımını araştırmanın iyi bir yolunun, ortadan başlamak ve dışarı doğru çalışmak, gittikçe veri miktarını yarıya indirmek olduğu düşüncesini ekledi. Yani, kullanılacak kutuların eşit aralıklı miktarlarda kesilmesi gerekmez, bunun yerine noktalardaki miktarları yansıtmalıdır.2−k ve 1−2−k için k=1,2,3,….
Değişken çöp kutusu popülasyonlarını görüntülemek için her kutu grafiğinin genişliğini temsil ettiği veri miktarıyla orantılı hale getirebiliriz.
Ortaya çıkan gezici şematik çizim böyle bir şeye benzeyecekti. Veri özetinden geliştirilen veriler, arka planda gri noktalar olarak gösterilir. Bunun üzerine gezici şematik çizim, beş iz renkli ve kutu grafikler (gösterilen herhangi bir aykırı değerler dahil) siyah beyaz olarak çizilmiştir.
Sıfıra yakın korelasyonun doğası hemen netleşir: veriler etrafta dolanır. Merkezlerine yakın,x=−4 için x=4, güçlü bir pozitif korelasyonları var. Aşırı değerlerde, bu veriler bütünü negatif olma eğilimi gösteren eğrisel ilişkiler sergiler. Net korelasyon katsayısı (−0.074bu veriler için) sıfıra yakın. Bununla birlikte, "neredeyse hiç korelasyon yok" veya "önemli ama düşük korelasyon" olarak, eski fırında kafasında ve buzdolabında ayaklarıyla mutlu olan istatistikçi hakkında eski şakada aynı hatayı sahtekârlık olarak yorumlamakta ısrar etmek, çünkü ortalama sıcaklık rahattı. Bazen tek bir sayı durumu tanımlamak için yeterli olmaz.
Benzer amaçlara sahip alternatif keşif araçları arasında, pencerelenmiş verilerin sağlam pürüzsüzleştirilmesi ve bir dizi kantil kullanarak kantil regresyonlara uyması sayılabilir. Bu hesaplamaları gerçekleştirmek için yazılımın hazır bulunmasıyla, yürütülmesi belki de gezici bir şematik izden daha kolay hale gelmiştir, ancak aynı basitlikten, yorumlama kolaylığından ve geniş uygulanabilirliğe sahip değildirler.
Aşağıdaki R
kod şekli üretti ve orijinal verilere çok az değişiklik yaparak veya hiç değişiklik yapılmadan uygulanabilir. (Tarafından yapılan bplt
(çağrılan bxp
) uyarıları dikkate almayın: çizilecek aykırı olmadığında şikayet eder.)
#
# 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))