Hipotez testi - Ortalama farkı
A ve B'den alınan ortalama bağışlarda bir fark olduğu hipotezini test etmek istiyoruz. Önceden, verilerin tek bir permütasyonunu nasıl üreteceğini öğrenmiştin. Şimdi, ortalama farkının sıfır dağılımını (null distribution) üretecek ve ardından p-değerini hesaplayacağız.
Sıfır dağılımı için önce birden çok permütasyonlu veri kümesi üretiyor ve her biri için ortalama farkını saklıyoruz. Ardından, test istatistiğini orijinal veri kümesindeki ortalama farkı olarak hesaplıyoruz. Son olarak, p-değeri'ni, farkın test istatistiğinin mutlak değerinden büyük veya ona eşit olduğu durumların payının iki katını alarak yaklaşıklıyoruz (çift yönlü hipotez). Örneğin 0,05'ten küçük bir p-değeri istatistiksel anlamlılığı gösterebilir.
Bu egzersiz
Python'da İstatistiksel Benzetim
kursunun bir parçasıdırEgzersiz talimatları
donations_Avedonations_Biçin birden çok permütasyon üret ve bunupermdeğişkenine ata.samples'ı,permuted_A_datasetsvepermuted_B_datasets'in ortalamaları arasındaki farka eşitle. Her veri kümesi için ayrı bir ortalama elde etmek içinaxis=1ayarlıyoruz, genel bir ortalama yerine.test_stat'i,donations_Avedonations_B'nin ortalamaları arasındaki farka eşitle.- p-değeri
p_val'i,samplesiçindeki değerlerden mutlaktest_statdeğerinden büyük veya ona eşit olanların payının iki katı olarak hesapla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Generate permutations equal to the number of repetitions
perm = np.array([np.random.____(len(____) + len(____)) for i in range(reps)])
permuted_A_datasets = data[perm[:, :len(donations_A)]]
permuted_B_datasets = data[perm[:, len(donations_A):]]
# Calculate the difference in means for each of the datasets
samples = np.mean(____, axis=1) - np.mean(____, axis=1)
# Calculate the test statistic and p-value
test_stat = ____
p_val = 2*np.sum(____ >= np.abs(____))/reps
print("p-value = {}".format(p_val))