Parametrik olmayan testler

Python'da Hipotez Testi

James Chapman

Curriculum Manager, DataCamp

Parametrik testler

  • z-testi, t-testi ve ANOVA parametrik testlerdir
  • Normal dağılım varsayar
  • Yeterince büyük örneklem gerektirir
Python'da Hipotez Testi

Daha küçük Cumhuriyetçi oy verisi

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
Python'da Hipotez Testi

pingouin.ttest() sonuçları

  • 5 çift, eşleştirilmiş t-testi için örneklem koşulunu sağlamaz:
  • Örneklemler arasında en az 30 gözlem çifti.
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
Python'da Hipotez Testi

Parametrik olmayan testler

  • Parametrik olmayan testler, parametrik varsayımlar ve koşullardan kaçınır
  • Birçok parametrik olmayan test, verinin sıralarını kullanır
x = [1, 15, 3, 10, 6]
from scipy.stats import rankdata
rankdata(x)
array([1., 5., 2., 4., 3.])
Python'da Hipotez Testi

Parametrik olmayan testler

  • Parametrik olmayan testler, küçük örneklemler ve veri normal dağılmadığında parametrik testlerden daha güvenilirdir
Python'da Hipotez Testi

Parametrik olmayan testler

  • Parametrik olmayan testler, küçük örneklemler ve veri normal dağılmadığında parametrik testlerden daha güvenilirdir

 

Wilcoxon işaretli sıra testi
  • 1945'te Frank Wilcoxon tarafından geliştirildi
  • İlk parametrik olmayan yöntemlerden biri
Python'da Hipotez Testi

Wilcoxon işaretli sıra testi (Adım 1)

  • Veri çiftleri arasındaki mutlak farkların sıraları üzerinde çalışır
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
Python'da Hipotez Testi

Wilcoxon işaretli sıra testi (Adım 2)

  • Veri çiftleri arasındaki mutlak farkların sıraları üzerinde çalışır
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
Python'da Hipotez Testi

Wilcoxon işaretli sıra testi (Adım 3)

  • Veri çiftleri arasındaki mutlak farkların sıraları üzerinde çalışır
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
Python'da Hipotez Testi

Wilcoxon işaretli sıra testi (Adım 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
  • Negatif ve pozitif farklar için sıra toplamlarını hesaplayın
T_minus = 1 + 4 + 5 + 2 + 3

T_plus = 0
W = np.min([T_minus, T_plus])
0
Python'da Hipotez Testi

pingouin.wilcoxon() ile uygulama

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

0.03125 > 0.01 olduğundan $H_0$ reddedilemez

Python'da Hipotez Testi

Vamos praticar!

Python'da Hipotez Testi

Preparing Video For Download...