Şimdiye kadar ggplot2
ile harika görseller yarattık.
Ancak atölyemizdeki en hassas ölçüm cihazları olan
geom_histogram
ve geom_density
’yi kullanmaya
başlamadan önce, bu aletlerin bize ne söylediğini anlamak için bir adım
geri çekiliyoruz.
Bu bölümde, bir grafiği nasıl “okuyacağımızı” öğreneceğiz. Verinin “şeklinin” ardında yatan temel istatistiksel kavramları hatırlayarak, birazdan çizeceğimiz dağılım grafiklerinin bize fısıldadığı o derin hikayeleri duyabilmek için kulaklarımızı eğiteceğiz.
Bir değişkenin dağılımı, o değişkenin aldığı değerlerin hangi aralıklarda ne kadar sık göründüğünü gösteren bir haritadır.
Veri görselleştirme alanında Wilke (2019), bir dağılımı anlamak için özellikle iki özelliğe odaklanılması gerektiğini vurgular: merkezi eğilim (dağılımın merkezi) ve yayılım (değerlerin ne kadar geniş bir aralığa dağıldığı). Bu iki temel soru, verinin “kalbinin” nerede attığını ve ne kadar “dağınık” olduğunu kavramaya yardımcı olur.
Bu iki soruyu cevaplamak için kullandığımız temel istatistiksel ölçüleri, basit bir görsel üzerinde hatırlayalım.
Bu ölçüler, bize dağılımın merkez noktasını, yani “tipik” bir değerin ne olduğunu söyler.
Hepimizin bildiği gibi, tüm değerlerin toplamının gözlem sayısına bölünmesiyle bulunur. Veri setinin “ağırlık merkezidir”.
En Önemli Özelliği: Wilke (2019), ortalamanın aykırı değerlere duyarlı olduğunu ve tek bir aşırı büyük ya da küçük gözlemin dağılımın ortalamasını önemli ölçüde kaydırabileceğini belirtir.
# Normal bir veri seti
notlar_normal <- c(85, 90, 75, 80, 82)
mean(notlar_normal)
## [1] 82.4
# Icine tek bir aykiri (dusuk) deger eklenmis bir veri seti
notlar_aykiri <- c(85, 90, 75, 80, 82, 5)
mean(notlar_aykiri)
## [1] 69.5
Gördüğünüz gibi, tek bir ‘5’ notu, ortalamayı ~82’den ~70’e çekti!
Veri setini küçükten büyüğe sıraladığımızda, tam ortada kalan değerdir. Veriyi %50’lik iki eşit parçaya bölen “sağlam orta direktir”.
En Önemli Özelliği: Uç değerlerin (outliers) büyüklüğünden veya küçüklüğünden fazla etkilenmemesidir; bu nedenle ortalamaya kıyasla daha sağlam (robust) bir konum ölçüsüdür (Wilke, 2019).
# Normal veri setinin medyani
median(notlar_normal)
## [1] 82
# Aykiri deger iceren veri setinin medyani
median(notlar_aykiri)
## [1] 81
Gördüğünüz gibi, ‘5’ notunun eklenmesi medyanı neredeyse hiç değiştirmedi!
Görsel Karşılaştırma: Gelin bu hassasiyet farkını,
basit bir yoğunluk grafiği (geom_density
) üzerinde
görelim.
library(ggplot2)
library(patchwork)
# Ornek veri setleri
notlar_normal_df <- data.frame(notlar = c(85, 90, 75, 80, 82))
notlar_aykiri_df <- data.frame(notlar = c(85, 90, 75, 80, 82, 5))
# Iki dagilimi cizelim
p1 <- ggplot(notlar_normal_df, aes(x = notlar)) +
geom_density(fill="skyblue", alpha=0.5) +
geom_vline(aes(xintercept = mean(notlar), color = "Ortalama"),
linetype="dashed", linewidth=1) +
geom_vline(aes(xintercept = median(notlar), color = "Medyan"),
linetype="dotted", linewidth=1) +
ggtitle("Normal Dagilim") +
theme_minimal()
p2 <- ggplot(notlar_aykiri_df, aes(x = notlar)) +
geom_density(fill="salmon", alpha=0.5) +
geom_vline(aes(xintercept = mean(notlar), color = "Ortalama"),
linetype="dashed", linewidth=1) +
geom_vline(aes(xintercept = median(notlar), color = "Medyan"),
linetype="dotted", linewidth=1) +
ggtitle("Aykiri Degerli Dagilim ('5' dahil)") +
theme_minimal()
# patchwork ile yan yana gosterelim
p1 + p2 + plot_layout(guides = 'collect') & theme(legend.position = 'bottom')
Ortalama ve Medyanin Aykiri Degerlere Karsi Hassasiyeti
Gördüğünüz gibi dostlar, soldaki normal dağılımda ortalama ve medyan neredeyse üst üste. Ancak sağdaki grafikte, eklediğimiz tek bir aykırı ‘5’ notu, Ortalama’yı (kesikli çizgi) sola doğru çekerken, Medyan (noktalı çizgi) yerini neredeyse hiç değiştirmedi. İşte bu, medyanın “sağlamlığının” görsel kanıtıdır.
Bir veri setinde en sık tekrar eden değerdir. Bir dağılımın kaç tane “tepe” noktası olduğunu bize söyler.
Merkezi bilmek önemlidir, ancak tek başına yeterli değildir. İki farklı sınıfın not ortalaması aynı olabilir, ancak bir sınıftaki notlar birbirine çok yakınken diğer sınıfta çok dağınık olabilir. Yayılım ölçüleri, bize bu “dağınıklığın” derecesini anlatır.
En yaygın kullanılan yayılım ölçüsüdür. Değerlerin, ortalamadan “ortalama olarak ne kadar saptığını” bize söyler.
geom_boxplot
’un “kutusunu” oluşturan bu ölçü, verinin
tam ortasındaki %50’lik kısmının ne kadar geniş bir aralığa yayıldığını
gösterir. Tıpkı medyan gibi, aykırı değerlere karşı sağlamdır
(robust) (Wilke, 2019).
Görsel Karşılaştırma: Gelin, farklı yayılımlara
sahip iki grubun geom_boxplot
ve geom_violin
ile nasıl göründüğüne bakalım.
# Yayilimi DUSUK bir grup (notlar birbirine yakin)
set.seed(42) # Tekrarlanabilirlik icin
grup_a <- data.frame(
grup = "Grup A",
deger = rnorm(100, mean = 80, sd = 5) # Standart sapma = 5
)
# Yayilimi YUKSEK bir grup (notlar çok daginik)
grup_b <- data.frame(
grup = "Grup B",
deger = rnorm(100, mean = 80, sd = 20) # Standart sapma = 20
)
yayilim_df <- rbind(grup_a, grup_b)
ggplot(yayilim_df, aes(x = grup, y = deger, fill = grup)) +
geom_violin(alpha = 0.5, trim = FALSE) +
geom_boxplot(width = 0.2, fill="white", alpha = 0.7) +
theme_minimal(base_size = 14) +
theme(legend.position = "none") +
labs(
title = "Ayni Ortalamaya, Farkli Yayilima Sahip Gruplar",
x = "Gruplar",
y = "Degerler"
)
Farkli Yayilimlara Sahip İki Grubun Karsilastirmasi
Grafiğin Yorumu
Bu grafikte, her iki grubun da merkezi eğiliminin, yani “tipik” değerinin aynı olduğunu net bir şekilde görebiliriz. Hem “Grup A” hem de “Grup B” için kutu içerisindeki siyah çizgi (medyan) 80 değeri etrafında hizalanmıştır.
Ancak hikayenin tamamı bu değildir. Asıl fark, verilerin ne kadar dağınık olduğunda, yani yayılımda ortaya çıkar:
Grup A
(Düşük Yayılım): Bu grubun
kemanı daha kısa ve gövdelidir. Bu görsel, verilerin büyük bir
çoğunluğunun 80 ortalamasına çok yakın bir aralıkta toplandığını ifade
eder. Benzer şekilde, içteki kutu (Çeyrekler Arası Açıklık - IQR) da
kısadır, bu da verinin merkezdeki %50’lik kısmının dar bir alanda
olduğunu teyit eder.
Grup B
(Yüksek Yayılım): Bu grubun
kemanı ise çok daha uzun ve incedir. Bu şekil, verilerin 80
ortalamasından çok daha uzaklara, hem aşağı hem de yukarı yönlü olarak
yayıldığını gösterir. Kemanın uzunluğu, veri setindeki minimum ve
maksimum değerler arasındaki mesafenin ne kadar geniş olduğunu anlatır.
Aynı şekilde, kutunun ve kutuya bağlı bıyıkların (whiskers) uzun olması,
verinin merkezdeki %50’lik kısmının ve genel dağılımın çok daha geniş
bir aralığa yayıldığını kanıtlar.
Sonuç olarak, bu grafik bize şunu öğretir: Sadece ortalamaya bakmak yeterli değildir. İki grup aynı ortalamaya sahip olabilir, ancak birindeki değerler birbirine çok yakinken (Grup A’daki gibi homojen), diğerindeki değerler çok geniş bir alana dağılmış olabilir (Grup B’deki gibi heterojen). İşte bu yüzden yayılım ölçüleri, verinin karakterini anlamak için en az merkezi eğilim ölçüleri kadar kritiktir.
Son olarak, dağılımın “karakterini” anlatan iki önemli özelliğe bakalım. Bu ölçüler, dağılımın simetrik olup olmadığını (bir yöne doğru yığılıp yığılmadığını) ve verilerde aykırı (uç) değerlerin görülme sıklığını nasıl beklememiz gerektiğini ifade eder.
Bir dağılımın simetriden ne kadar sapma gösterdiğini ölçer ve dağılımın kuyruğunun hangi yöne uzandığını ifade eder (Penn State Eberly College of Science, n.d.). Simetrik veri setlerinde çarpıklık değeri genellikle sıfıra yakındır.
Sağa Çarpık (Pozitif Çarpıklık / Positive Skewness): Veri setinde birkaç tane aykırı yüksek değer vardır. Bu değerler, ortalamayı sağa doğru çeker ve dağılımın “kuyruğu” sağa doğru uzar. Bu durumda genellikle Ortalama > Medyan ilişkisi görülür. Pozitif çarpıklık, verilerin çoğunluğunun ölçeğin sol tarafında toplandığını gösterir. Örneğin, bir ülkedeki gelir dağılımı genellikle sağa çarpıktır; çünkü çok yüksek gelire sahip az sayıda insan, genel ortalamayı yukarı çeker.
Sola Çarpık (Negatif Çarpıklık / Negative Skewness): Veri setinde birkaç tane aykırı düşük değer vardır. Bu değerler, ortalamayı sola doğru çeker ve dağılımın “kuyruğu” sola doğru uzar. Bu durumda ise genellikle Ortalama < Medyan ilişkisi görülür. Verilerin büyük bir kısmı sağ tarafta yoğunlaşmıştır. Örneğin, insanların emeklilik yaşı sola çarpık bir dağılım gösterebilir; çoğu insan belirli bir yaş aralığında (örneğin 60-65) emekli olurken, çok erken yaşta emekli olan az sayıda kişi ortalamayı aşağı çeker.
Görsel Karşılaştırma: Çarpıklık Bu dağılım şekillerinin yoğunluk grafiğinde nasıl göründüğüne bakalım.
set.seed(123)
df_sekiller_carpiklik <- data.frame(
deger = c(rnorm(1000, 50, 10), # A: Simetrik (Normal)
rbeta(1000, 10, 1.5) * 100, # B: Sola carpik
rlnorm(1000, 3, 0.8)), # C: Saga carpik
tip = factor(rep(c("A: Simetrik (Normal)", "B: Sola Carpik", "C: Saga Carpik"),
each = 1000),
levels = c("A: Simetrik (Normal)", "B: Sola Carpik", "C: Saga Carpik"))
)
ggplot(df_sekiller_carpiklik, aes(x = deger)) +
geom_density(aes(fill = tip), alpha = 0.7) +
facet_wrap(~ tip, scales = "free") +
theme_minimal(base_size = 12) +
theme(legend.position = "none") +
labs(title = "Carpiklik Sekillerine Gorsel Bir Bakis",
x = "Deger",
y = "Yogunluk")
Farkli Carpiklik Sekilleri
Basıklık (Kurtosis), bir veri dağılımında aykırı değerlerin (uç değerlerin) ne sıklıkla ortaya çıktığını normal dağılıma kıyasla ölçen bir istatistiksel değerdir (Investopedia, 2023). Yaygın bir yanılgının aksine basıklık, dağılımın tepe noktasının ne kadar “sivri” olduğuyla değil, doğrudan bu aşırı değerlerin varlığıyla ilgilidir. Basitçe ifade etmek gerekirse; yüksek basıklık daha fazla aykırı değere, düşük basıklık ise daha az aykırı değere işaret eder.
Referans noktamız her zaman Normal Dağılım (Çan Eğrisi)’dir. Normal bir dağılımın basıklık değeri 3’tür ve bu durum Mezokurtik olarak adlandırılır. Analizi kolaylaştırmak için genellikle “Fazla Basıklık” (Excess Kurtosis) kullanılır ki bu da Basıklık - 3 olarak hesaplanır (Investopedia, 2023). Böylece referans noktamız 0 olur.
Basıklığın üç ana kategorisi vardır:
Leptokurtik (Sivri / Pozitif Fazla Basıklık): Bu dağılım, normal dağılıma kıyasla daha fazla aykırı değere sahip olma eğilimindedir. Bu durum, verilerin merkezden uzak, aşırı değerlerde normal dağılıma göre daha sık bulunduğu anlamına gelir. Fazla basıklık değeri 0’dan büyüktür (yani basıklık > 3). Finansal piyasalardaki yatırım getirileri genellikle leptokurtik bir dağılım sergiler; çünkü beklenmedik büyük kazançlar veya kayıplar (aşırı olaylar) normal dağılımın öngördüğünden daha sık yaşanır (Investopedia, 2023).
Platikurtik (Basık / Negatif Fazla Basıklık): Bu dağılımda, normal dağılıma kıyasla çok daha az sayıda aykırı değer bulunur. Fazla basıklık değeri 0’dan küçüktür (yani basıklık < 3). İçinde sadece belirli ve sınırlı değerlerin olduğu bir veri seti, platikurtik bir yapıya örnektir çünkü aykırı değer üretmez (Investopedia, 2023).
Mezokurtik (Normal): Bu dağılım, aykırı değerlerin sıklığı ve dağılımı açısından normal dağılımın kendisidir. Aşırı değerler, normal bir dağılımdan beklenen sıklıkta ve yoğunlukta ortaya çıkar. Fazla basıklık değeri 0’a yakındır (basıklık ≈ 3) (Investopedia, 2023).
Görsel Karşılaştırma: Basıklık Şimdi bu üç basıklık türünü aynı grafik üzerinde karşılaştırarak aralarındaki farkı görelim.
set.seed(456)
df_kurtosis <- data.frame(
deger = c(
# Leptokurtik
rt(1000, df = 3) * 8 + 50,
# Mezokurtik
rnorm(1000, 50, 13),
# Platikurtik
runif(1000, min = 0, max = 100)
),
tip = factor(rep(c("Leptokurtik (Sivri)", "Mezokurtik (Normal)", "Platikurtik (Basik)"), each = 1000),
levels = c("Leptokurtik (Sivri)", "Mezokurtik (Normal)", "Platikurtik (Basik)"))
)
ggplot(df_kurtosis, aes(x = deger, color = tip)) +
geom_density(linewidth = 1.1) +
theme_minimal(base_size = 14) +
labs(
title = "Basiklik Turlerinin Karsilastirilmasi",
x = "Deger",
y = "Yogunluk",
color = "Dagilim Tipi"
) +
theme(legend.position = "bottom")
Farkli Basiklik (Kurtosis) Turlerinin Karsilastirilmasi
Bu grafikler, istatistiksel terimlerin görsel dünyadaki karşılıklarını net bir şekilde özetliyor. Artık bir dağılım grafiğine baktığınızda, onun sadece bir resim değil, aynı zamanda verinin merkezi, yayılımı ve şekli hakkında zengin bir hikaye anlatan bir karakter haritası olduğunu biliyorsunuz.
Bu teorik hazırlıkla, artık atölyenin en hassas ölçüm cihazları olan
geom_histogram
ve geom_density
’yi kullanmaya
ve onların bize fısıldadığı bu sırları duymaya tamamen hazırız!
Investopedia. (2023). Kurtosis: What it is and how to interpret it. https://www.investopedia.com/terms/k/kurtosis.asp
Penn State Eberly College of Science. (n.d.). Lesson 1: Introduction to statistics. In STAT 500: Applied statistics. https://online.stat.psu.edu/stat500/Lesson01
Wilke, C. O. (2019). Fundamentals of data visualization. O’Reilly Media. https://clauswilke.com/dataviz/