Pengujian hipotesis - Selisih rata-rata
Kita ingin menguji hipotesis bahwa ada perbedaan pada rata-rata donasi yang diterima dari A dan B. Sebelumnya, Anda telah mempelajari cara menghasilkan satu permutasi dari data. Sekarang, kita akan membangkitkan sebaran nol dari selisih rata-rata, lalu menghitung nilai p.
Untuk sebaran nol, pertama-tama kita membangkitkan beberapa himpunan data terpermusi dan menyimpan selisih rata-rata untuk setiap kasus. Kemudian, kita menghitung statistik uji sebagai selisih rata-rata pada himpunan data asli. Terakhir, kita menghampiri p-value dengan menghitung dua kali fraksi kasus ketika selisih tersebut lebih besar atau sama dengan nilai absolut dari statistik uji (hipotesis 2-arah). Nilai p kurang dari misalnya 0,05 kemudian dapat menentukan signifikansi statistik.
Latihan ini adalah bagian dari kursus
Simulasi Statistik di Python
Petunjuk latihan
- Bangkitkan beberapa permutasi dari
donations_A&donations_Bdan simpan padaperm. - Tetapkan
samplessama dengan selisih rata-rata daripermuted_A_datasets&permuted_B_datasets. Kita setaxis=1agar didapatkan rata-rata untuk setiap himpunan data alih-alih rata-rata keseluruhan. - Tetapkan
test_statsama dengan selisih rata-rata daridonations_A&donations_B. - Hitung nilai p
p_valsebagai dua kali fraksi elemensamplesyang lebih besar atau sama dengan nilai absolut daritest_stat.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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))