p-değerleri

Python'da Hipotez Testi

James Chapman

Curriculum Manager, DataCamp

Ceza davaları

  • İki olası gerçek durum:
    1. Sanık suçu işledi
    2. Sanık suçu işlemedi
  • İki olası hüküm:
    1. Suçlu
    2. Suçsuz
  • Başlangıçta sanık suçsuz varsayılır
  • Mahkûmiyet için savcılık "makul şüphenin ötesinde" kanıt sunmalıdır
Python'da Hipotez Testi

İlk programlama yaşı

  • age_first_code_cut, Stack Overflow kullanıcısının ilk ne zaman programlamaya başladığını sınıflandırır
    • "adult" 14 veya daha büyük yaşta başladığı anlamına gelir
    • "child" 14’ten önce başladığı anlamına gelir
  • Önceki araştırma: geliştiricilerin %35’i çocukken başlamıştır
  • Veri bilimcilerde çocukken başlayanların oranının daha büyük olduğuna dair kanıt var mı?
Python'da Hipotez Testi

Tanımlar

Bir hipotez, bilinmeyen bir anakütle parametresi hakkında bir ifadedir

Bir hipotez testi, iki rakip hipotezin testidir

  • Sıfır hipotezi ($H_{0}$) mevcut görüştür

  • Alternatif hipotez ($H_{A}$) araştırmacının yeni "meydan okuyucu" görüşüdür

Bizim problemimiz için:

  • $H_{0}$: Çocukken programlamaya başlayan veri bilimcilerin oranı %35’tir
  • $H_{A}$: Çocukken programlamaya başlayan veri bilimcilerin oranı %35’ten büyüktür
1 "Naught", Britanya İngilizcesinde "sıfır" demektir. Tarihsel nedenlerle, boş hipotez için "H-naught" telaffuzu uluslararası bir konvansiyondur.
Python'da Hipotez Testi

Ceza davaları vs. hipotez testi

  • Ya $H_{A}$ ya da $H_{0}$ doğrudur (ikisi birden değil)
  • Başlangıçta $H_{0}$ doğru varsayılır
  • Testin sonucu: "$H_{0}$ reddedildi" veya "$H_{0}$ reddedilemedi"
  • Örnekten gelen kanıt $H_{A}$ lehine "anlamlı" ise $H_{0}$ reddedilir, değilse $H_{0}$ seçilir

Anlamlılık düzeyi, hipotez testinde "makul şüphenin ötesi" eşiğidir

Python'da Hipotez Testi

Tek kuyruklu ve çift kuyruklu testler

Hipotez testleri, örnek istatistiğinin sıfır dağılımının kuyruklarında olup olmadığını kontrol eder

Test Kuyruklar
alternatif sıfırdan farklı iki kuyruklu
alternatif sıfırdan büyük sağ kuyruklu
alternatif sıfırdan küçük sol kuyruklu

 

$H_{A}$: Çocukken programlamaya başlayan veri bilimcilerin oranı %35’ten büyüktür

Bu sağ kuyruklu bir testtir

Python'da Hipotez Testi

p-değerleri

p-değerleri: sıfır hipotezi doğru kabul edilirse bir sonucun elde edilme olasılığı

  • Büyük p-değeri, $H_{0}$ için güçlü destek
    • İstatistik muhtemelen sıfır dağılımının kuyruğunda değil
  • Küçük p-değeri, $H_{0}$’a karşı güçlü kanıt
    • İstatistik muhtemelen sıfır dağılımının kuyruğunda
  • p-değerindeki "p" → olasılık
  • "küçük", "sıfıra yakın" demektir
Python'da Hipotez Testi

z-skorunun hesaplanması

prop_child_samp = (stack_overflow['age_first_code_cut'] == "child").mean()
0.39141972578505085
prop_child_hyp = 0.35
std_error = np.std(first_code_boot_distn, ddof=1)
0.010351057228878566
z_score = (prop_child_samp - prop_child_hyp) / std_error
4.001497129152506
Python'da Hipotez Testi

p-değerinin hesaplanması

  • norm.cdf(), scipy.stats içindeki normal KDF’dir.
  • Sol kuyruklu test → norm.cdf() kullanın.
  • Sağ kuyruklu test → 1 - norm.cdf() kullanın.

 

from scipy.stats import norm
1 - norm.cdf(z_score, loc=0, scale=1)
3.1471479512323874e-05
Python'da Hipotez Testi

Hadi pratik yapalım!

Python'da Hipotez Testi

Preparing Video For Download...