Power Analysis - भाग I
अब हम power analysis पर आते हैं. आम तौर पर, आप यह सुनिश्चित करना चाहते हैं कि जो भी प्रयोग या A/B टेस्ट आप चलाएँ, उसकी power कम-से-कम 80% हो. इसे सुनिश्चित करने का एक तरीका है कि 80% power पाने के लिए आवश्यक sample size निकाला जाए.
मान लीजिए कि आप एक न्यूज़ मीडिया वेबसाइट संभाल रहे हैं और आप यह बढ़ाना चाहते हैं कि उपयोगकर्ता आपकी वेबसाइट पर कितना समय बिताते हैं. फिलहाल, उपयोगकर्ताओं का समय सामान्य वितरण (normally distributed) का अनुसरण करता है, जिसका औसत 1 मिनट और मानक विचलन 0.5 मिनट है. मान लीजिए आप एक ऐसी फीचर ला रहे हैं जो पेज तेज़ी से लोड करता है और आप यह जानना चाहते हैं कि वेबसाइट पर बिताए गए समय में 5% बढ़ोतरी को मापने के लिए कितना sample size चाहिए.
इस अभ्यास में, हम एक सिमुलेशन चलाने का ढांचा तैयार करेंगे, एक t-test चलाएँगे और p-value की गणना करेंगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Statistical Simulation
अभ्यास निर्देश
effect_sizeको 5% पर,control_meanको 1 पर औरcontrol_sdको 0.5 पर initialize करें.np.random.normal()का उपयोग करके, आपने जो मान initialize किए हैं उनसेcontrol_time_spentऔरtreatment_time_spentका एक-एक ड्रॉ simulate करें.st.ttest_ind()का उपयोग करकेtreatment_time_spentऔरcontrol_time_spentपर t-test चलाएँ, जहाँstscipy.statsहै जो पहले से इम्पोर्ट किया गया है.- यदि
p_value0.05 से कम है, तो सांख्यिकीय महत्वstat_sigTrueहोना चाहिए; अन्यथाFalseहोना चाहिए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Initialize effect_size, control_mean, control_sd
effect_size, sample_size, control_mean, control_sd = ____, 50, ____, ____
# Simulate control_time_spent and treatment_time_spent, assuming equal variance
control_time_spent = np.random.normal(loc=control_mean, scale=____, size=sample_size)
treatment_time_spent = np.random.normal(loc=____*(1+effect_size), scale=control_sd, size=____)
# Run the t-test and get the p_value
t_stat, p_value = st.ttest_ind(____, ____)
stat_sig = p_value < ____
print("P-value: {}, Statistically Significant? {}".format(p_value, stat_sig))