Hypothesis testing - औसतों का अंतर
हम यह परिकल्पना जाँचना चाहते हैं कि A और B से प्राप्त औसत डोनेशन्स में अंतर है। पहले, आपने डेटा का एक permutation कैसे जनरेट करना है, यह सीखा था। अब, हम means के अंतर का एक null distribution बनाएँगे और फिर p-value निकालेंगे.
Null distribution के लिए, हम पहले कई permuted datasets जनरेट करते हैं और हर केस के लिए means का अंतर सहेजते हैं। फिर हम मूल डेटासेट के साथ means के अंतर को टेस्ट स्टैटिस्टिक के रूप में निकालते हैं। अंत में, हम p-value का अनुमान इस तरह लगाते हैं: उन केसेज़ के अनुपात का दोगुना जहाँ अंतर, टेस्ट स्टैटिस्टिक के परिमाण (absolute value) से बड़ा या बराबर है (2-sided hypothesis)। लगभग 0.05 से कम p-value होने पर हम सांख्यिकीय महत्व (statistical significance) मान सकते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Statistical Simulation
अभ्यास निर्देश
donations_Aऔरdonations_Bके कई permutations जनरेट करें और उसेpermमें असाइन करें.samplesकोpermuted_A_datasetsऔरpermuted_B_datasetsके means के अंतर के बराबर सेट करें। हमaxis=1इसलिए रखते हैं ताकि हर डेटासेट का अलग mean निकले, न कि कुल मिलाकर एक mean.test_statकोdonations_Aऔरdonations_Bके means के अंतर के बराबर सेट करें.- p-value
p_valकी गणना इस तरह करें:samplesका वह अंश जोtest_statके परिमाण (absolute value) से बड़ा या बराबर है, उसका दोगुना.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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))