Ünite 4 / 11

Keşifsel Veri Analizi (EDA): Dağılımlar, İlişkiler ve İlk İçgörüler

Kazanimlar:

  • Değişkenlerin dağılımını, merkezini, yayılımını ve anomalilerini uygun grafiklerle (histogram, kutu grafiği, dağılım grafiği) keşfedebilme
  • Korelasyonu doğru yorumlayıp nedensellikle karıştırmadan, dağılım grafiğiyle birlikte okuyabilme
  • Özet istatistiğin yanıltıcı olabileceğini (Anscombe dersi) kavrayıp modelleme yönünü belirleyen hipotezler çıkarabilme

Model kurmadan önce veriyi tanımak gerekir. Bir doktorun hastayı muayene etmeden ilaç yazmaması gibi, bir veri bilimci de veriyi "muayene" etmeden model kurmaz. Bu muayeneye keşifsel veri analizi (İngilizcesiyle Exploratory Data Analysis, kısaca EDA) denir: verinin dağılımını, ilişkilerini, sürprizlerini ve tuzaklarını gözle ve grafikle keşfetme aşamasıdır. EDA'nın amacı hipotez üretmek, hataları yakalamak ve modelleme yönünü belirlemektir. Yapay zeka bu aşamada çok güçlü bir yardımcıdır: hangi grafiğin uygun olduğunu önerir, kodunu yazar, bir dağılımı yorumlar. Ama gördüğü örüntünün gerçek mi rastlantı mı olduğuna, alan bilgisiyle, insan karar verir.

EDA neyi arar

EDA dört soruya cevap arar. Dağılım: Her değişken nasıl dağılıyor — simetrik mi, çarpık mı, iki tepeli mi? Merkezî eğilim ve yayılım: Ortalama, medyan, standart sapma ne? İlişkiler: Değişkenler birbiriyle nasıl bağlantılı? Anomaliler: Beklenmedik değerler, boşluklar, gruplaşmalar var mı? Bu dört soru, hangi özelliğin işe yarayacağını ve hangi modelin uygun olduğunu belirler.

Bazı temel kavramları tanımlayalım. Histogram, bir sayısal değişkenin değerlerini aralıklara bölüp her aralıkta kaç gözlem olduğunu gösteren grafiktir; dağılımı görmenin en hızlı yoludur. Çarpıklık (İngilizcesiyle skewness), dağılımın bir yöne kayması; gelir gibi değişkenler sağa çarpıktır (çoğunluk düşük, az sayıda çok yüksek). Kutu grafiği (İngilizcesiyle box plot), medyanı, çeyrekleri ve aykırıları tek bakışta gösterir. Dağılım grafiği (İngilizcesiyle scatter plot), iki sayısal değişkenin ilişkisini nokta bulutuyla gösterir.

Korelasyon: ilişki var ama dikkat

Korelasyon (İngilizcesiyle correlation — iki değişkenin birlikte nasıl hareket ettiğinin ölçüsü; -1 ile +1 arasında bir sayı) EDA'nın en çok kullanılan ve en çok yanlış anlaşılan aracıdır. +1 mükemmel birlikte artış, -1 mükemmel ters ilişki, 0 doğrusal ilişki yokluğu demektir. İki büyük tuzak vardır. Birincisi, meşhur kuralı: korelasyon nedensellik değildir (İngilizcesiyle correlation is not causation). Dondurma satışı ile boğulma vakaları birlikte artar; biri diğerine yol açtığı için değil, ikisini de yaz mevsimi (gizli üçüncü değişken) tetiklediği için. İkincisi, korelasyon yalnızca doğrusal ilişkiyi ölçer; güçlü ama eğrisel bir ilişkiyi 0'a yakın gösterebilir. Bu yüzden korelasyona bakarken mutlaka dağılım grafiğine de bakın.

Dikkat: YZ bir korelasyon sayısı verdiğinde "A, B'yi artırıyor" gibi nedensel bir dile kayabilir. Bu tehlikelidir. Korelasyon yalnızca birlikte hareketi gösterir; nedeni ancak deney, alan bilgisi ve dikkatli çıkarım kurar.

Anscombe dörtlüsü: neden sadece sayıya bakılmaz

İstatistikte ünlü bir örnek vardır: Anscombe dörtlüsü. Dört farklı veri kümesi, neredeyse aynı ortalama, aynı varyans ve aynı korelasyona (0,82) sahiptir; ama grafiğe döküldüklerinde tamamen farklı görünürler — biri düz çizgi, biri eğri, biri tek bir aykırının çektiği bir bulut. Ders nettir: özet istatistik yanıltır, grafiğe bakmak şarttır. YZ size ortalama ve korelasyon verebilir, ama grafiği görmeden bu sayılara güvenmek Anscombe tuzağına düşmektir.

Aşağıdaki tablo, hangi soruya hangi grafiğin uyduğunu özetler:

Soru

Uygun grafik

Ne gösterir

Tek değişkenin dağılımı

Histogram / KDE

Şekil, çarpıklık, tepe sayısı

Merkez ve aykırılar

Kutu grafiği

Medyan, çeyrekler, uç değerler

İki sayısalın ilişkisi

Dağılım grafiği

Yön, güç, eğrisellik

Kategori karşılaştırma

Çubuk grafiği

Gruplar arası fark

Zamana göre değişim

Çizgi grafiği

Trend, mevsimsellik

Çok değişken ilişkisi

Korelasyon ısı haritası

Genel ilişki matrisi

Simpson paradoksu: birleşik veri yalan söyleyebilir

EDA'da bilinmesi gereken sinsi bir tuzak Simpson paradoksudur: bir örüntü, tüm veri birlikte incelendiğinde bir yön gösterirken, veri anlamlı alt gruplara ayrıldığında tam tersine dönebilir. Klasik örnek: bir üniversitede kadın adayların genel kabul oranı erkeklerden düşük görünür; ama bölüm bölüm bakıldığında kadınların kabul oranı çoğu bölümde erkeklerden yüksektir. Neden? Kadınlar daha rekabetçi (düşük kabul oranlı) bölümlere başvurmuştur; birleşik sayı bu gizli değişkeni saklar. Ders nettir: bir toplam ya da ortalamaya bakarken, o sayının anlamlı alt gruplara (segment, dönem, kanal) ayrıldığında aynı hikâyeyi anlatıp anlatmadığını mutlaka kontrol edin. YZ size birleşik bir oran verdiğinde, "bunu segmentlere ayırınca da geçerli mi" diye sormak, çoğu yanıltıcı sonucu erkenden yakalar.

Üç mini vaka

Vaka 1 — Gizli iki tepe. Bir analist, müşteri yaşının ortalamasını 41 buldu ve "orta yaşlı kitle" diye raporladı. Ama histogram iki tepe gösteriyordu: 22-28 ve 55-62 yaş öbekleri. Ortalama 41, aslında hiç kimseyi temsil etmiyordu. Ders: ortalamaya güvenmeden önce dağılımı çizin.

Vaka 2 — Sahte korelasyon. Bir ekip, "reklam harcaması" ile "satış" arasında 0,78 korelasyon bulup bütçeyi ikiye katladı. Oysa ikisini de tetikleyen şey sezon kampanyalarıydı; kampanya dışı dönemde ilişki 0,10'a düşüyordu. 340 bin TL ek reklam beklenen getiriyi vermedi. Ders: korelasyonu nedensellik sanmak pahalıya patlar.

Vaka 3 — Tek aykırının çektiği çizgi. Bir gayrimenkul analizi, metrekare ile fiyat arasında güçlü ilişki gösteriyordu (r=0,80). Dağılım grafiği çizilince ilişkinin neredeyse tamamını tek bir 12 milyon TL'lik lüks villa yaratıyordu; o nokta çıkınca korelasyon 0,31'e düştü. Ders: korelasyonu her zaman dağılım grafiğiyle birlikte okuyun.

Dört kopyalanabilir şablon

1) Otomatik EDA özeti:

pandas df'im var. Şunları üreten kod yaz: (1) df.info() ve df.describe(),(2) her sayısal sütun için histogram, (3) her kategorik sütun için değersayımı. Yorum yapma, sadece keşif kodunu üret; örüntüleri ben yorumlarım.

2) Korelasyon + görsel (nedensellik uyarısıyla):

Sayısal sütunlar için korelasyon matrisi ve ısı haritası çizen kod yaz.Ayrıca en yüksek 3 korelasyonlu çiftin dağılım grafiğini de çiz.Çıktıya, korelasyonun nedensellik anlamına gelmediğini hatırlatan biryorum satırı ekle. Nedensel iddiada bulunma.

3) Dağılım tanısı:

"gelir_tl" sütunu için: histogram, kutu grafiği, çarpıklık (skewness)değeri ve medyan/ortalama karşılaştırmasını üreten kod yaz. Dağılımınçarpık olup olmadığını ben yorumlayacağım; sadece kodu ver.

4) Segment karşılaştırması:

Müşterileri "kanal" (web/mobil) kırılımında karşılaştır: her kanal içinortalama tutar, medyan tutar, sipariş sayısı ve tutar dağılımının kutugrafiğini üreten kod yaz. İki kanal arasındaki farkın istatistikselanlamlılığı için hangi testin uygun olduğunu öner ama karar bende.

Zayıf prompt / Güçlü prompt

Zayıf prompt:

Bu veride ilginç bir şey bul.

"İlginç" tanımsızdır; YZ veriyi görmüyor, dolayısıyla ya uydurur ya genel geçer laf eder. Yön, değişken, amaç yok.

Güçlü prompt:

Rolün: EDA asistanı. df sütunları: yas (int), gelir_tl (float),sehir (kategori), kanal (web/mobil), tutar (float).Amaç: "tutar"ı etkileyen faktörleri keşfetmek.Görev: (1) tutar'ın dağılımını çizen kod, (2) tutar ile yas ve gelir_tlarasındaki dağılım grafikleri, (3) kanal kırılımında tutar kutu grafiği.Nedensel iddia kurma; sadece keşif kodunu üret, örüntüyü ben yorumlarım.

Burada amaç, değişkenler ve "nedensellik iddia etme" sınırı açıktır.

Sık yapılan hatalar

  • Sadece özet istatistiğe güvenmek. Anscombe dörtlüsünün gösterdiği gibi, aynı ortalama çok farklı dağılımları gizler; grafiğe bakın.
  • Korelasyonu nedensellik sanmak. Birlikte hareket, birinin diğerine yol açtığını göstermez; gizli değişkenlere dikkat.
  • Korelasyona dağılım grafiği olmadan bakmak. Tek aykırı ya da eğrisellik sayıyı yanıltır.
  • İki tepeli/çarpık dağılımı ortalamayla özetlemek. Ortalama hiç kimseyi temsil etmeyebilir.
  • EDA'yı atlayıp doğrudan modele geçmek. Tanınmayan veri, kör model demektir.
İpucu: Her yeni veri kümesinde ilk 30 dakikayı yalnızca grafik çizmeye ayırın: her sayısalın histogramı, önemli çiftlerin dağılım grafiği, kategorilerin çubuk grafiği. Bu 30 dakika, sonraki günlerce sürecek modelleme hatalarını önler.

Özetle

EDA, model kurmadan önce veriyi tanıma aşamasıdır ve dört soruya cevap arar: dağılım, merkez-yayılım, ilişkiler ve anomaliler. Özet istatistik yanıltıcı olabilir; grafiğe bakmak şarttır (Anscombe dersi). Korelasyon güçlü bir araçtır ama nedensellik değildir ve mutlaka dağılım grafiğiyle birlikte okunmalıdır. YZ grafik önerme ve kod yazmada harika bir hızlandırıcıdır; ama gördüğü örüntünün gerçek mi rastlantı mı olduğunu, alan bilgisiyle insan yorumlar.

Uygulama görevi

Bir veri kümesi seçin ve yalnızca EDA yapın: en az üç sayısal değişkenin histogramını, iki değişken çiftinin dağılım grafiğini ve bir korelasyon ısı haritasını çıkarın. En az bir "sürpriz" bulun (iki tepeli dağılım, sahte korelasyon adayı, tek aykırının çektiği ilişki gibi) ve bunu bir cümleyle açıklayın. Hiçbir nedensel iddia kurmadan yazın.

Kontrol listesi

  • [ ] Her sayısal değişkenin dağılımını grafikle gördüm mü?
  • [ ] Korelasyonlara dağılım grafiğiyle birlikte mi baktım?
  • [ ] Nedensellik ile korelasyonu ayrı tuttum mu?
  • [ ] Çarpık veya iki tepeli dağılımları fark edip ortalamaya körü körüne güvenmedim mi?
  • [ ] EDA bulgularımdan en az bir modelleme yönü/hipotez çıkardım mı?