Melakukan uji t

Pengujian Hipotesis dengan Python

James Chapman

Curriculum Manager, DataCamp

Masalah dua sampel

  • Bandingkan statistik sampel antar kelompok suatu variabel
  • converted_comp adalah variabel numerik
  • age_first_code_cut adalah variabel kategorik dengan level ("child" dan "adult")
  • Apakah pengguna yang mulai ngoding saat kecil mendapat kompensasi lebih tinggi daripada yang mulai saat dewasa?
Pengujian Hipotesis dengan Python

Hipotesis

$H_{0}$: Rata-rata kompensasi (USD) sama untuk yang pertama kali ngoding saat kecil dan saat dewasa.

$H_{0}$: $\mu_{child} = \mu_{adult}$

$H_{0}$: $\mu_{child} - \mu_{adult} = 0$

$H_{A}$: Rata-rata kompensasi (USD) lebih besar untuk yang pertama kali ngoding saat kecil dibanding yang saat dewasa.

$H_{A}$: $\mu_{child} > \mu_{adult}$

$H_{A}$: $\mu_{child} - \mu_{adult} > 0$

Pengujian Hipotesis dengan Python

Menghitung ringkasan statistik per grup

stack_overflow.groupby('age_first_code_cut')['converted_comp'].mean()
age_first_code_cut
adult    111313.311047
child    132419.570621
Name: converted_comp, dtype: float64
Pengujian Hipotesis dengan Python

Statistik uji

  • Mean sampel mengestimasi mean populasi
  • $\bar{x}$ - mean sampel
  • $\bar{x}_{child}$ - mean kompensasi untuk yang mulai ngoding saat kecil
  • $\bar{x}_{adult}$ - mean kompensasi untuk yang mulai ngoding saat dewasa
  • $\bar{x}_{child} - \bar{x}_{adult}$ - sebuah statistik uji
  • z-score - statistik uji (distandardisasi)
Pengujian Hipotesis dengan Python

Menstandarkan statistik uji

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

$t = \dfrac{\text{selisih statistik sampel} - \text{selisih parameter populasi}}{\text{galat baku}}$

$t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) - (\mu_{\text{child}} - \mu_{\text{adult}})}{SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}$

Pengujian Hipotesis dengan Python

Galat baku

$SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) \approx \sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}$

$s$ adalah simpangan baku variabel

$n$ adalah ukuran sampel (jumlah observasi/baris dalam sampel)

Pengujian Hipotesis dengan Python

Dengan asumsi hipotesis nol benar

$t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) - (\mu_{\text{child}} - \mu_{\text{adult}})}{SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}$

$H_{0}$: $\mu_{\text{child}} - \mu_{\text{adult}} = 0$    $\rightarrow$     $t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) }{SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}$

$t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}{\sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}}$

Pengujian Hipotesis dengan Python

Perhitungan dengan asumsi hipotesis nol benar

xbar = stack_overflow.groupby('age_first_code_cut')['converted_comp'].mean()
adult    111313.311047
child    132419.570621
Name: converted_comp, dtype: float64 age_first_code_cut
s = stack_overflow.groupby('age_first_code_cut')['converted_comp'].std()
adult    271546.521729
child    255585.240115
Name: converted_comp, dtype: float64 age_first_code_cut
n = stack_overflow.groupby('age_first_code_cut')['converted_comp'].count()
adult    1376
child     885
Name: converted_comp, dtype: int64
Pengujian Hipotesis dengan Python

Menghitung statistik uji

$t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}{\sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}}$

import numpy as np
numerator = xbar_child - xbar_adult
denominator = np.sqrt(s_child ** 2 / n_child + s_adult ** 2 / n_adult)
t_stat = numerator / denominator
1.8699313316221844
Pengujian Hipotesis dengan Python

Ayo berlatih!

Pengujian Hipotesis dengan Python

Preparing Video For Download...