शुरू करेंमुफ़्त में शुरू करें

Power Analysis - भाग II

पिछले चरण में, हमने प्रयोग का एक सिमुलेटेड इंस्टेंस चलाकर एक p-value जनरेट की थी. अब हम इसी फ्रेमवर्क का उपयोग करके सांख्यिकीय शक्ति (power) निकालेंगे. किसी प्रयोग की power वह क्षमता है जिसके जरिए, यदि ट्रिटमेंट और कंट्रोल के बीच सच में अंतर मौजूद हो, तो प्रयोग उस अंतर का पता लगा सके. अच्छी सांख्यिकीय प्रैक्टिस के लिए 80% power का लक्ष्य रखना उपयुक्त माना जाता है.

हमारी वेबसाइट के लिए मान लें कि हम यह जानना चाहते हैं कि प्रत्येक वेरिएंट पर कितने लोगों का विज़िट होना चाहिए ताकि हम 80% power के साथ time spent में 10% की वृद्धि को डिटेक्ट कर सकें. इसके लिए, हम छोटे सैंपल (50) से शुरुआत करेंगे, इस प्रयोग के कई सिमुलेशन चलाएँगे और power जाँचेंगे. यदि 80% power हासिल हो जाती है, तो हम रुक जाएँगे. अगर नहीं, तो हम sample size बढ़ाएँगे और फिर से कोशिश करेंगे.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Statistical Simulation

पाठ्यक्रम देखें

अभ्यास निर्देश

  • time_spent रैंडम वैरिएबल्स के लिए, size को ऐसे ट्यूपल के रूप में सेट करें कि shape sample_size \(\times\) sims हो.
  • power को उन p-values के अनुपात के रूप में निकालें जो 0.05 से कम हैं (statistically significant).
  • यदि power 80% से अधिक या बराबर हो, तो while लूप से break कर दें. अन्यथा, sample_size को 10-10 बढ़ाते रहें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

sample_size = 50

# Keep incrementing sample size by 10 till we reach required power
while 1:
    control_time_spent = np.random.normal(loc=control_mean, scale=control_sd, size=(____,____)))
    treatment_time_spent = np.random.normal(loc=control_mean*(1+effect_size), scale=control_sd, size=(____,____))
    t, p = st.ttest_ind(treatment_time_spent, control_time_spent)
    
    # Power is the fraction of times in the simulation when the p-value was less than 0.05
    power = (p < 0.05).sum()/____
    if ____: 
        ____
    else: 
        ____ += ____
print("For 80% power, sample size required = {}".format(sample_size))
कोड संपादित करें और चलाएँ