Close-up of a computer screen displaying programming code in a dark environment.

Python ile Tanımlayıcı (Descriptive) Veri Analizi: Kodlar ve Açıklamalarla Öğrenin

Günümüzde teknolojinin gelişimiyle birlikte, hayatımızın her alanından veri toplanabiliyor. Ancak bu verilerin ham haliyle bilgiye dönüşmesi mümkün değil. Bu noktada devreye veri bilimi ve veri analistleri giriyor. Ham verileri anlamlı hale getirerek içgörü üreten veri bilimciler, bugünün en çok ihtiyaç duyulan uzmanları arasında yer alıyor.

Veri biliminde ilk adımlardan biri, eldeki veriyi tanımak ve yapısını incelemektir. İşte bu yüzden tanımlayıcı analiz (descriptive analysis), her analizin vazgeçilmez bir parçasıdır.

Bu yazıda, Python kullanarak bir veri seti üzerinde tanımlayıcı analiz yapmak için kullanabileceğiniz kodları ve her bir adımın neden önemli olduğunu detaylarıyla öğreneceksiniz.

Tanımlayıcı Analiz Nedir ve Neden Önemlidir?

Tanımlayıcı analiz, bir veri kümesiyle ilk kez karşılaşıldığında yapılması gereken ilk analiz türüdür. Amaç:

  • Verinin dağılımını görmek

  • Aykırı değerleri tespit etmek

  • Yazım hatalarını fark etmek

  • Değişkenler arası benzerlikleri belirlemek

  • Daha ileri analizlere hazırlık yapmak

Bu analiz sayesinde, sonraki adımlarda uygulayacağınız istatistiksel ya da makine öğrenimi modellerine sağlam ve temiz bir veri sunmuş olursunuz.

 

Önce verileri Excel’den yükleyelim:


import pandas as pd
df = pd.read_excel("C:/Data_1.xlsx")
df.head(5)

Çıktı:


| Sample | Treatment | Period |  Result   |
|--------|-----------|--------|-----------|
|   1    |   Tr-1    |   6    | 0.000158  |
|   1    |   Tr-2    |   6    | 0.000218  |
|   1    |   Tr-3    |   6    | 0.009765  |
|   1    |   Tr-4    |   6    | 0.003189  |
|   1    |   Tr-1    |  12    | 0.020538  |

1️⃣ Belirli Bir Kolonu Özetle


df.Result.describe()

Çıktı:


count    160.000000
mean       0.035109
std        0.038749
min       -0.009554
25%        0.009352
50%        0.025866
75%        0.040660
max        0.197265

Bu fonksiyon, bir sayısal değişkenin temel istatistiklerini sunar:

  • Gözlem sayısı

  • Ortalama

  • Standart sapma

  • Min–Max değerler

  • 25%, 50% (medyan), 75% çeyreklikler

Ne İşe Yarar?
Verinin genel yapısını hızlıca görmenizi sağlar. Ortalamayla medyan arasındaki fark, veride simetrik mi yoksa çarpık mı bir dağılım olduğunu gösterebilir.

2️⃣ Gruplara Göre Özet İstatistikler


df.groupby("Treatment").Result.describe()

Çıktı:


Treatment  count    mean     std       min       25%       50%       75%       max
--------------------------------------------------------------------------------------
Tr-1       40.0   0.044938  0.051429  -0.009554  0.020605  0.030496  0.037779  0.197265
Tr-2       40.0   0.013218  0.016018  -0.007256  0.005024  0.008880  0.014866  0.066604
Tr-3       40.0   0.049256  0.036690  -0.008682  0.023257  0.034329  0.077918  0.121380
Tr-4       40.0   0.033024  0.032762  -0.008759  0.008753  0.026141  0.050239  0.129738

Ne İşe Yarar?
Bu fonksiyon, Treatment adlı kategorik değişkene göre Result değişkeninin tanımlayıcı istatistiklerini sunar. Her grup için ayrı ayrı min, max, ortalama, medyan gibi değerleri görebilirsiniz.

Bu tür analizler özellikle deneysel çalışmalarda, farklı uygulamaların sonuçlar üzerindeki etkilerini karşılaştırmak için kullanılır.

3️⃣ Gruplara Göre Ortalama (Mean)


df.groupby("Treatment").Result.mean()

Çıktı:


Treatment
Tr-1    0.044938
Tr-2    0.013218
Tr-3    0.049256
Tr-4    0.033024

Ne İşe Yarar?
Her bir tedavi (grup) için ortalama sonuçları verir. Ortalama, verinin merkezini temsil eden önemli bir ölçüdür. Gruplar arası farkları hızlıca görmek mümkündür.

 

Eğer gruplarınız yoksa:


mean = df.Result.mean()
print('Mean: %.3f' % mean)

Çıktı:


Mean: 0.026

4️⃣ Gruplara Göre Medyan


df.groupby("Treatment").Result.median()

Çıktı:


Treatment
Tr-1    0.030496
Tr-2    0.008880
Tr-3    0.034329
Tr-4    0.026141

Ne İşe Yarar?
Ortalamaya kıyasla medyan, uç değerlerden etkilenmeyen bir merkezi eğilim ölçüsüdür.

  • Eğer ortalama ≈ medyan: veri normal dağılıma yakın olabilir.

  • Eğer büyük fark varsa: veri çarpık dağılıma sahip olabilir.

Bu yorumlar, parametrik mi yoksa parametrik olmayan testler mi uygulanacağı konusunda yol gösterir.

5️⃣ Gruplara Göre Varyans


df.groupby("Treatment").Result.var()

Çıktı:


Treatment
Tr-1    0.002645
Tr-2    0.000257
Tr-3    0.001346
Tr-4    0.001073

Ne İşe Yarar?
Varyans, verilerin ortalamadan ne kadar saptığını gösterir.

  • Düşük varyans: değerler ortalamaya yakın (homojen)

  • Yüksek varyans: değerler ortalamadan uzak (heterojen)

Bu bilgi, örneklem büyüklüğü, güven aralıkları ve modelleme seçeneklerini belirlemek açısından önemlidir.

6️⃣ Gruplara Göre Standart Sapma


df.groupby("Treatment").Result.std()

Çıktı:


Treatment
Tr-1    0.051429
Tr-2    0.016018
Tr-3    0.036690
Tr-4    0.032762

Ne İşe Yarar?
Standart sapma, varyansın kareköküdür. Yani birimlerle ifade edilir, bu nedenle yorumlanması daha kolaydır.
Örnek: Eğer Tr-1 grubunun ortalaması 0.05 ve std değeri 0.01 ise, verilerin çoğu 0.04–0.06 aralığındadır.

Standart sapma, Gaussian dağılımın tanımlanması için ortalama ile birlikte kullanılan iki temel parametreden biridir.

7️⃣ Beşli Özet (Five-Number Summary)


from numpy import percentile
quarters = percentile(df["Result"], [25, 50, 75])
min_data, max_data = df["Result"].min(), df["Result"].max()

print('- Min: %.5f' % min_data)
print('- Q1: %.5f' % quarters[0])
print('- Median: %.5f' % quarters[1])
print('- Q3: %.5f' % quarters[2])
print('- Max: %.5f' % max_data)

Çıktı:


- Min: -0.00955
- Q1: 0.00935
- Median: 0.02587
- Q3: 0.04066
- Max: 0.19727

Beşli Özet Nedir?

  1. Minimum (en küçük değer)

    1. Çeyrek (Q1 – %25)

  2. Medyan (Q2 – %50)

    1. Çeyrek (Q3 – %75)

  3. Maksimum (en büyük değer)

Ne İşe Yarar?
Aykırı değer tespiti, kutu grafiği çizimi, dağılım yapısının gözlenmesi gibi pek çok analizde kullanılır.

8️⃣ Araç Olarak Researchpy ile Tanımlayıcı İstatistikler


import researchpy as rp
rp.summary_cont(df["Result"])

Çıktı:


Variable    N     Mean     SD     SE     95% Conf. Interval
-------------------------------------------------------------
Result     160   0.0351   0.0387  0.0031   0.0291   0.0412

Ne İşe Yarar?
Bu fonksiyon aşağıdaki istatistikleri sunar:

  • Ortalama

  • Standart sapma

  • Standart hata

  • Güven aralığı

  • Gözlem sayısı (n)

Avantajı nedir?
Daha derinlemesine bir tablo sunar. Özellikle makale yazımı, raporlama ya da akademik analizlerde oldukça kullanışlıdır.

Neden Bu Analizleri Yapmalıyız?

Tanımlayıcı analiz, veri analizinin en temel ve en hayati aşamasıdır.
Veriye hakim olmadan:

  • Doğru istatistiksel test seçemezsiniz

  • Modellerden anlamlı sonuç çıkaramazsınız

  • Hataları tespit edemezsiniz

Bu nedenle, ister regresyon analizi yapacak olun, ister makine öğrenmesi modeli kuracak olun, mutlaka bu adımı atlamamalısınız.

 

Sonuç ve Öneriler

  • Verinize ilk bakışınızda describe() ve groupby() fonksiyonları hayat kurtarır.

  • Standart sapma, varyans ve medyan gibi ölçülerle verinin merkezi eğilim ve dağılım yapısını öğrenirsiniz.

  • Researchpy gibi ek kütüphaneler, istatistiksel raporlamada işinizi kolaylaştırır.

  • Bu analizler, sadece sayılarla oynamak değil; veriyi tanımak, anlamak ve saygı göstermek anlamına gelir.

Kategoriler

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir