Normal Dağılım Nedir?
Normal dağılım, istatistikte en yaygın kullanılan dağılımlardan biridir ve birçok gerçek dünya olayının dağılımını temsil eder. Çan şeklindeki grafiği ile tanınan bu dağılım, veri setinin ortalamasının etrafında yoğunlaştığını gösterir. Normal dağılım, özellikle büyük veri kümeleri üzerinde çalışırken, güvenilir tahminler yapma ve sonuçların genelleştirilmesi için kritik öneme sahiptir.
Normal dağılımın en önemli özelliklerinden biri, verilerin ortalama, medyan ve modunun eşit olmasıdır. Bunun yanı sıra, verilerin %68’i bir standart sapma içinde, %95’i iki standart sapma içinde dan ve %99.7’si üç standart sapma içinde yer alır. Bu özellikler, normal dağılımı verilerle çalışırken kullanmamızı kolaylaştırır.
Python programlama dili, normal dağılım fonksiyonu gibi istatistiksel hesaplamaları gerçekleştirirken sunduğu kütüphaneler sayesinde bize büyük kolaylık sağlar. Şimdi, Python’da normal dağılım fonksiyonunu nasıl kullanacağımızı ve istatistiksel analizler yaparken bu fonksiyonu nasıl faydalı hale getirebileceğimizi daha detaylı bir şekilde inceleyeceğiz.
Python’da Normal Dağılım Fonksiyonu Kullanma
Python’da normal dağılım ile çalışmak için genellikle scipy
kütüphanesi tercih edilir. Bu kütüphane, bilimsel ve mühendislik hesaplamaları için çok sayıda araç sunar. scipy.stats
modülü, normal dağılım ve diğer istatistiksel dağılımlar üzerinde çalışma yapmamızı sağlayan fonksiyonlar içerir. Öncelikle, bu kütüphaneyi kurmamız gerekiyor. Aşağıdaki komut ile scipy
kütüphanesini Python ortamınıza ekleyebilirsiniz:
pip install scipy
Scipy kurulumunun ardından, normal dağılımı temsil eden bir nesne oluşturmak için norm
fonksiyonunu kullanabiliriz. Örnek bir kod parçası ile başlayalım:
from scipy.stats import norm
# Ortalaması 0 ve standart sapması 1 olan normal dağılım
sec = norm(loc=0, scale=1)
Burada loc
parametresi normal dağılımın ortalamasını, scale
parametresi ise standart sapmasını belirtir. Örneğimizde, standart normal dağılımı temsil eden bir nesne oluşturmuş olduk.
Normal Dağılımın Değerlerini Hesaplama
Normal dağılım fonksiyonu ile bir değer için olasılığı, z-skorunu hesaplayabiliriz. Z-skoru, bir değerin normal dağılımın ortalamasından ne kadar uzakta olduğunu ölçer. Aşağıdaki kod ile belirli bir değerin z-skorunu hesaplayarak olasılığı bulabiliriz:
value = 1.5
z_score = (value - sec.mean()) / sec.std()
probability = sec.cdf(value)
Yukarıdaki kodda cdf
metodu, verilen bir değer için kümülatif dağılım fonksiyonunu (CDF) hesaplar. Bu, belirli bir değerin altında kalan alanın olasılığını temsil eder. Yani, 1.5 değerinin altında kalan olasılığı bulmuş olduk.
Ayrıca, normal dağılımın aralığındaki olasılıkları bulmak için ppf
fonksiyonunu kullanabiliriz. Aşağıdaki kod ile belirli bir olasılık değeri için z-skorunu hesaplayabilirsiniz:
alpha = 0.95
z_value = sec.ppf(alpha)
Burada, ppf
fonksiyonu, belirli bir olasılığı (örn. %95) vererek karşılık gelen z-skorunu bulmamızı sağlar.
Normal Dağılım ile Veri Analizi
Peki, normal dağılım fonksiyonunu kullanarak veri analizi yaparken nasıl ilerlemeliyiz? Öncelikle, veri setimizi oluşturmalıyız. Gerçek dünya verileri genellikle normal dağılım göstermez, ancak birçok durum için normalleştirilmiş verilerle çalışmak faydalıdır. İşte basit bir normal dağılım verisi oluşturma kodu:
import numpy as np
import matplotlib.pyplot as plt
# Normal dağılım verisi oluşturma
mu, sigma = 0, 1 # ortalama ve standart sapma
sample_size = 1000
samples = np.random.normal(mu, sigma, sample_size)
# Dağılımı görselleştirme
plt.hist(samples, bins=30, density=True)
plt.title('Normal Dağılım Histogramı')
plt.xlabel('Değerler')
plt.ylabel('Frekans')
plt.show()
Bu kod parçacığı, ortalaması 0 ve standart sapması 1 olan 1000 örnek veri üretir. Üretilen verilerin histogramını oluşturmak için matplotlib
kütüphanesini kullanıyoruz. Bu grafik, normal dağılımın çan şeklindeki yapısını görsel olarak gözler önüne serer.
Veri analizinde önemli olan bir diğer konu, verinin normal dağılıma uyumunu kontrol etmektir. Bunu sağlamak için Shapiro-Wilk testi gibi istatistiksel testler kullanabiliriz. scipy.stats.shapiro
fonksiyonu ile verimizin normal dağılıma uygun olup olmadığını test edebiliriz:
from scipy.stats import shapiro
stat, p_value = shapiro(samples)
print('Test İstatistiği:', stat)
print('P-değeri:', p_value)
Elde edilen p-değerine göre, eğer p-değeri 0.05’ten küçükse, verimizin normal dağılıma uymadığını söyleyebiliriz. Bu tür testler, veri analizi yaparken normal dağılıma olan bağımlılıkları kontrol etmek için kritik öneme sahiptir.
Sonuç Olarak
Python ile normal dağılım fonksiyonunu kullanmak, veri analizi ve istatistiksel modeller geliştirmek için oldukça faydalıdır. scipy
kütüphanesi sayesinde normal dağılım ve diğer dağılımlar üzerinde temel analizler yapabiliriz. Verilerimizin ortalama, standart sapma, z-skorları gibi hesaplamalarını kolayca gerçekleştirebiliriz.
Buna ek olarak, normal dağılımın veri setinin genel yapısını anlama ve çıkarım yapma konusundaki gücünü keşfetmek, daha sağlam analizler yapmamıza olanak tanır. İstatistiksel yöntemlerin anlaşılması, bu yöntemlerin uygulandığı alanlarda yenilikler ve ilerlemeler için bir temel oluşturur.
Sonuç olarak, Python’da normal dağılım fonksiyonunu kullanarak hem temel istatistiksel hesaplamalar yapabiliriz hem de veri setlerinin normal dağılıma uyup uymadığını belirleyerek durumu daha doğru analiz edebiliriz. Yaratıcı projelerinizde bu bilgileri kullanarak normal dağılım fonksiyonunu etkin bir şekilde uygulayabilir ve geniş veri setleri üzerinde çalışmanın avantajlarını görebilirsiniz.