Hipotez testleri ve z-skorları

Python'da Hipotez Testi

James Chapman

Curriculum Manager, DataCamp

A/B testi

  • 2013’te Electronic Arts (EA) SimCity 5’i çıkardı
  • Oyunun ön siparişlerini artırmak istediler
  • Farklı reklam senaryolarını A/B testiyle denediler
  • Kullanıcıları kontrol ve tedavi gruplarına ayırmayı içerir

Electronic Arts binası

1 Görsel kredisi: "Electronic Arts" majaX1 CC BY-NC-SA 2.0
Python'da Hipotez Testi

Perakende web sayfası A/B testi

Kontrol:

“ön sipariş verin ve bir sonraki alışverişinizde 20 $ indirim” yazılı banner içeren SimCity web sayfası

Tedavi:

Banner olmayan SimCity web sayfası

Python'da Hipotez Testi

A/B test sonuçları

  • Tedavi grubu (reklam yok), kontrol grubuna (reklamlı) göre %43,4 daha fazla satın alma yaptı
  • “Reklam göstermek satışları artırır” sezgisi yanlıştı
  • Bu sonuç istatistiksel olarak anlamlı mıydı yoksa şans eseri mi?
  • Bunu belirlemek için EA’nın verileri gerekir
  • Sampling in Python + bu dersteki teknikler ile yapılır
Python'da Hipotez Testi

Stack Overflow Geliştirici Anketi 2020

import pandas as pd
print(stack_overflow)
      respondent  age_1st_code  ...   age  hobbyist
0           36.0          30.0  ...  34.0       Yes
1           47.0          10.0  ...  53.0       Yes
2           69.0          12.0  ...  25.0       Yes
3          125.0          30.0  ...  41.0       Yes
4          147.0          15.0  ...  28.0        No
...          ...           ...  ...   ...       ...
2259     62867.0          13.0  ...  33.0       Yes
2260     62882.0          13.0  ...  28.0       Yes

[2261 rows x 8 columns]
Python'da Hipotez Testi

Ortalama için hipotez kurma

Bir hipotez:

Veri bilimcilerinin yıllık ortalama ücreti (evren) 110.000 $’dır

Nokta tahmini (örnek istatistiği):

mean_comp_samp = stack_overflow['converted_comp'].mean()
119574.71738168952
Python'da Hipotez Testi

Bootstrap dağılımı üretme

import numpy as np

# Adım 3. Adım 1 ve 2’yi çok kez tekrarlayıp listeye ekleyin so_boot_distn = [] for i in range(5000): so_boot_distn.append(
# Adım 2. Nokta tahminini hesapla np.mean(
# Adım 1. Yeniden örnekle stack_overflow.sample(frac=1, replace=True)['converted_comp']
)
)
1 Bootstrap dağılımları, Sampling in Python kitabının 4. bölümünde anlatılır
Python'da Hipotez Testi

Bootstrap dağılımını görselleştirme

import matplotlib.pyplot as plt
plt.hist(so_boot_distn, bins=50)
plt.show()

Bootstrap dağılımının histogramı - çan şeklinde, yaklaşık 110000 ile 140000 arasında

Python'da Hipotez Testi

Standart hata

std_error = np.std(so_boot_distn, ddof=1)
5607.997577378606
Python'da Hipotez Testi

z-skorları

$\text{standartlaştırılmış değer} = \dfrac{\text{değer} - \text{ortalama}}{\text{standart sapma}}$

$z = \dfrac{\text{örnek istatistiği} - \text{hip. parametre değeri}}{\text{standart hata}}$

Python'da Hipotez Testi

$z = \dfrac{\text{örnek istatistiği} - \text{hip. parametre değeri}}{\text{standart hata}}$

stack_overflow['converted_comp'].mean()
119574.71738168952
mean_comp_hyp = 110000
std_error
5607.997577378606
z_score = (mean_comp_samp - mean_comp_hyp) / std_error
1.7073326529796957
Python'da Hipotez Testi

Hipotezi test etme

  • 1,707 büyük mü küçük mü?
  • Bu dersin amacı budur!
Python'da Hipotez Testi

Hipotezi test etme

  • 1,707 büyük mü küçük mü?
  • Bu dersin amacı budur!

 

Hipotez testi kullanım durumu:

 

Örnek istatistiklerinin beklenen (veya “hipotezlenen”) değerlere yakın mı uzak mı olduğunu belirlemek

Python'da Hipotez Testi

Standart normal (z) dağılımı

Standart normal dağılım: ortalama = 0 ve standart sapma = 1 olan normal dağılım

Standart normal dağılımın PDF yoğunluk grafiği

Python'da Hipotez Testi

Hadi pratik yapalım!

Python'da Hipotez Testi

Preparing Video For Download...