Normal veri

Python ile Deney Tasarımı

James Chapman

Curriculum Manager, DataCamp

Normal dağılım

 

  • Alışıldık 'çan eğrisi' şekli
  • z-skoru ile ilişkilidir

$$ {z} = \frac{x-\mu}{\sigma}$$

  • Ortalama = 0, std = 1
    • 'Bu nokta ortalamadan kaç std uzakta?'
    • 'Bu skoru elde etme olasılığı nedir?'

 

Tipik bir çan eğrisi: beyaz arka plan üzerinde mavi eğri.

Python ile Deney Tasarımı

Normal veri ve istatistiksel testler

 

  • Parametrik testler için gereklidir
  • Parametrik olmayan testler: normal dağılım varsaymaz

 

Tipik bir çan eğrisi: beyaz arka plan üzerinde mavi eğri.

Python ile Deney Tasarımı

Normal, Z ve alfa

 

  • Anlamlılık düzeyi ($\alpha$) ile kritik bağ
  • p-değerini $\alpha$ ile karşılaştırın
  • Tip I hata olasılığı

 

Kuyruklarında küçük siyah alanlar boyalı normal dağılım

Python ile Deney Tasarımı

Normal veriyi görselleştirme

 

sns.displot(data=salaries,
            x='salary',
            kind="kde")
plt.show()

 

Gelenekselden daha dar ve yüksek, ancak hâlâ tipik çan eğrisi şeklinde bir dağılım

Python ile Deney Tasarımı

QQ grafikleri

QQ grafiği: veriyi belirli bir dağılımla karşılaştırır

from statsmodels.graphics.gofplots import qqplot
from scipy.stats.distributions import norm
qqplot(salaries['salary'], 
       line='s', 
       dist=norm)
plt.show()
  • İdeal: noktalar çizgiyi sarar
  • Kötü: uçlarda dışa kıvrılır

 

Noktaların çoğunun orta 45 derece çizgisine yakın hizalandığı bir QQ grafiği

Ortada noktalar 45 derece çizgisine yakın, ancak uçlarda içe kıvrılarak eğri oluşturan bir QQ grafiği

Python ile Deney Tasarımı

Normallik testleri

 

  • Shapiro–Wilk (küçük veri kümeleri için iyi)
  • D'Agostino $K^2$ (basıklık ve çarpıklık kullanır)
  • Anderson–Darling (değer listesi döndürür)

 

$H_0$ = "Veri Normal Dağılımdan gelir"

Python ile Deney Tasarımı

Shapiro–Wilk testi

 

from scipy.stats import shapiro
alpha = 0.05

stat, p = shapiro(salaries['salary']) print(f"p: {round(p,4)} test stat: {round(stat,4)}")
p: 0.8293 test stat: 0.9956
  • p > alpha
    • $H_0$ reddedilemez → muhtemelen normal
Python ile Deney Tasarımı

Anderson–Darling testi

from scipy.stats import anderson
result = anderson(x=salaries['salary'], dist="norm")
print(round(result.statistic,4))
print(result.significance_level)
print(result.critical_values)
0.2748
[15.  10.   5.   2.5  1. ]
[0.572 0.651 0.781 0.911 1.084]
  • 0.2748 < [0.572 0.651 0.781 0.911 1.084]
    • $H_0$ reddedilemez → muhtemelen normal
Python ile Deney Tasarımı

Hadi pratik yapalım!

Python ile Deney Tasarımı

Preparing Video For Download...