Uji nonparametrik

Pengujian Hipotesis dengan Python

James Chapman

Curriculum Manager, DataCamp

Uji parametrik

  • z-test, t-test, dan ANOVA semuanya adalah uji parametrik
  • Mengasumsikan distribusi normal
  • Membutuhkan ukuran sampel yang cukup besar
Pengujian Hipotesis dengan Python

Data suara Partai Republik yang lebih kecil

print(repub_votes_small)
            state      county  repub_percent_08  repub_percent_12
80          Texas   Red River         68.507522         69.944817
84          Texas      Walker         60.707197         64.971903
33       Kentucky      Powell         57.059533         61.727293
81          Texas  Schleicher         74.386503         77.384464
93  West Virginia      Morgan         60.857614         64.068711
Pengujian Hipotesis dengan Python

Hasil dengan pingouin.ttest()

  • 5 pasangan tidak cukup untuk memenuhi syarat ukuran sampel uji t berpasangan:
  • Minimal 30 pasangan observasi di seluruh sampel.
alpha = 0.01

import pingouin pingouin.ttest(x=repub_votes_potus_08_12_small['repub_percent_08'], y=repub_votes_potus_08_12_small['repub_percent_12'], paired=True, alternative="less")
               T  dof alternative     p-val          CI95%   cohen-d    BF10     power
T-test -5.875753    4        less  0.002096  [-inf, -2.11]  0.500068  26.468  0.239034
Pengujian Hipotesis dengan Python

Uji nonparametrik

  • Uji nonparametrik menghindari asumsi dan kondisi parametrik
  • Banyak uji nonparametrik memakai peringkat (rank) data
x = [1, 15, 3, 10, 6]
from scipy.stats import rankdata
rankdata(x)
array([1., 5., 2., 4., 3.])
Pengujian Hipotesis dengan Python

Uji nonparametrik

  • Uji nonparametrik lebih andal daripada uji parametrik untuk ukuran sampel kecil dan saat data tidak berdistribusi normal
Pengujian Hipotesis dengan Python

Uji nonparametrik

  • Uji nonparametrik lebih andal daripada uji parametrik untuk ukuran sampel kecil dan saat data tidak berdistribusi normal

 

Uji Wilcoxon signed-rank
  • Dikembangkan oleh Frank Wilcoxon pada 1945
  • Salah satu prosedur nonparametrik pertama
Pengujian Hipotesis dengan Python

Uji Wilcoxon signed-rank (Langkah 1)

  • Bekerja pada selisih absolut berpasangan yang diurutkan (rank)
repub_votes_small['diff'] = repub_votes_small['repub_percent_08'] -
                            repub_votes_small['repub_percent_12']
print(repub_votes_small)
            state      county  repub_percent_08  repub_percent_12      diff
80          Texas   Red River         68.507522         69.944817 -1.437295
84          Texas      Walker         60.707197         64.971903 -4.264705
33       Kentucky      Powell         57.059533         61.727293 -4.667760
81          Texas  Schleicher         74.386503         77.384464 -2.997961
93  West Virginia      Morgan         60.857614         64.068711 -3.211097
Pengujian Hipotesis dengan Python

Uji Wilcoxon signed-rank (Langkah 2)

  • Bekerja pada selisih absolut berpasangan yang diurutkan (rank)
repub_votes_small['abs_diff'] = repub_votes_small['diff'].abs()
print(repub_votes_small)
            state      county  repub_percent_08  repub_percent_12      diff  abs_diff
80          Texas   Red River         68.507522         69.944817 -1.437295  1.437295
84          Texas      Walker         60.707197         64.971903 -4.264705  4.264705
33       Kentucky      Powell         57.059533         61.727293 -4.667760  4.667760
81          Texas  Schleicher         74.386503         77.384464 -2.997961  2.997961
93  West Virginia      Morgan         60.857614         64.068711 -3.211097  3.211097
Pengujian Hipotesis dengan Python

Uji Wilcoxon signed-rank (Langkah 3)

  • Bekerja pada selisih absolut berpasangan yang diurutkan (rank)
from scipy.stats import rankdata
repub_votes_small['rank_abs_diff'] = rankdata(repub_votes_small['abs_diff'])
print(repub_votes_small)
            state      county  repub_percent_08  repub_percent_12      diff  abs_diff  rank_abs_diff
80          Texas   Red River         68.507522         69.944817 -1.437295  1.437295            1.0
84          Texas      Walker         60.707197         64.971903 -4.264705  4.264705            4.0
33       Kentucky      Powell         57.059533         61.727293 -4.667760  4.667760            5.0
81          Texas  Schleicher         74.386503         77.384464 -2.997961  2.997961            2.0
93  West Virginia      Morgan         60.857614         64.068711 -3.211097  3.211097            3.0
Pengujian Hipotesis dengan Python

Uji Wilcoxon signed-rank (Langkah 4)

            state      county  repub_percent_08  repub_percent_12      diff  abs_diff  rank_abs_diff
80          Texas   Red River         68.507522         69.944817 -1.437295  1.437295            1.0
84          Texas      Walker         60.707197         64.971903 -4.264705  4.264705            4.0
33       Kentucky      Powell         57.059533         61.727293 -4.667760  4.667760            5.0
81          Texas  Schleicher         74.386503         77.384464 -2.997961  2.997961            2.0
93  West Virginia      Morgan         60.857614         64.068711 -3.211097  3.211097            3.0
  • Jumlahkan rank untuk selisih negatif dan positif
T_minus = 1 + 4 + 5 + 2 + 3

T_plus = 0
W = np.min([T_minus, T_plus])
0
Pengujian Hipotesis dengan Python

Implementasi dengan pingouin.wilcoxon()

alpha = 0.01
pingouin.wilcoxon(x=repub_votes_potus_08_12_small['repub_percent_08'],
                  y=repub_votes_potus_08_12_small['repub_percent_12'],
                  alternative="less")
          W-val alternative    p-val  RBC  CLES
Wilcoxon    0.0        less  0.03125 -1.0  0.72

Gagal menolak H0, karena 0.03125 > 0.01

Pengujian Hipotesis dengan Python

Ayo berlatih!

Pengujian Hipotesis dengan Python

Preparing Video For Download...