Uji hipotesis dan z-score

Pengujian Hipotesis dengan Python

James Chapman

Curriculum Manager, DataCamp

A/B testing

  • Pada 2013, Electronic Arts (EA) merilis SimCity 5
  • Mereka ingin meningkatkan pra-pemesanan gim
  • Mereka menggunakan A/B testing untuk menguji skenario iklan berbeda
  • Ini membagi pengguna menjadi grup kontrol dan perlakuan

Gedung Electronic Arts

1 Kredit gambar: "Electronic Arts" oleh majaX1 CC BY-NC-SA 2.0
Pengujian Hipotesis dengan Python

Uji A/B laman ritel

Kontrol:

Halaman SimCity dengan banner bertuliskan "pre-order dan dapatkan potongan $20 untuk pembelian berikutnya"

Perlakuan:

Halaman SimCity tanpa banner

Pengujian Hipotesis dengan Python

Hasil uji A/B

  • Grup perlakuan (tanpa iklan) mendapat 43,4% lebih banyak pembelian daripada grup kontrol (dengan iklan)
  • Intuisi bahwa "menampilkan iklan meningkatkan penjualan" ternyata salah
  • Apakah hasil ini signifikan secara statistik atau kebetulan?
  • Perlu data EA untuk menentukannya
  • Gunakan teknik dari Sampling in Python + kursus ini
Pengujian Hipotesis dengan Python

Survei Pengembang Stack Overflow 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]
Pengujian Hipotesis dengan Python

Menghipotesiskan tentang mean

Sebuah hipotesis:

Rata-rata kompensasi tahunan populasi data scientist adalah $110.000

Estimasi titik (statistik sampel):

mean_comp_samp = stack_overflow['converted_comp'].mean()
119574.71738168952
Pengujian Hipotesis dengan Python

Membuat distribusi bootstrap

import numpy as np

# Langkah 3. Ulangi langkah 1 & 2 berkali-kali, tambahkan ke list so_boot_distn = [] for i in range(5000): so_boot_distn.append(
# Langkah 2. Hitung estimasi titik np.mean(
# Langkah 1. Resampling stack_overflow.sample(frac=1, replace=True)['converted_comp']
)
)
1 Distribusi bootstrap dibahas di Bab 4 Sampling in Python
Pengujian Hipotesis dengan Python

Visualisasi distribusi bootstrap

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

Histogram distribusi bootstrap - berbentuk lonceng dan berkisar ~110000 hingga 140000

Pengujian Hipotesis dengan Python

Galat baku

std_error = np.std(so_boot_distn, ddof=1)
5607.997577378606
Pengujian Hipotesis dengan Python

z-score

$\text{nilai distandardisasi} = \dfrac{\text{nilai} - \text{mean}}{\text{simpangan baku}}$

$z = \dfrac{\text{statistik sampel} - \text{nilai parameter hipotesis}}{\text{galat baku}}$

Pengujian Hipotesis dengan Python

$z = \dfrac{\text{statistik sampel} - \text{nilai parameter hipotesis}}{\text{galat baku}}$

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
Pengujian Hipotesis dengan Python

Menguji hipotesis

  • Apakah 1,707 termasuk tinggi atau rendah?
  • Inilah tujuan kursus ini!
Pengujian Hipotesis dengan Python

Menguji hipotesis

  • Apakah 1,707 termasuk tinggi atau rendah?
  • Inilah tujuan kursus ini!

 

Use case uji hipotesis:

 

Menentukan apakah statistik sampel dekat atau jauh dari nilai yang diharapkan (atau "dihipotesiskan")

Pengujian Hipotesis dengan Python

Distribusi normal standar (z)

Distribusi normal standar: normal dengan mean = 0 dan simpangan baku = 1

Plot densitas PDF untuk distribusi normal standar

Pengujian Hipotesis dengan Python

Ayo berlatih!

Pengujian Hipotesis dengan Python

Preparing Video For Download...