औसत स्प्लिट समय का लीनियर रिग्रेशन
हम मान लेते हैं कि 800 m इवेंट के दौरान स्विमर लाइनियर तरीके से धीमे होते जाते हैं. तब प्रति स्प्लिट slowdown, mean split time बनाम split number प्लॉट की ढलान (slope) होगा. प्रति स्प्लिट slowdown का अनुमान लगाने के लिए एक लीनियर रिग्रेशन करें और slowdown पर pairs bootstrap 95% confidence interval निकालें. इसके साथ best fit line का प्लॉट भी दिखाएँ.
नोट: हम mean split times के लिए error bars निकाल सकते हैं और उन्हें रिग्रेशन विश्लेषण में उपयोग कर सकते हैं, लेकिन इस कोर्स के दायरे से बाहर होने के कारण हम यहाँ उन्हें शामिल नहीं करेंगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Statistical Thinking के केस स्टडीज़
अभ्यास निर्देश
np.polyfit()का उपयोग करके लीनियर रिग्रेशन करें ताकि प्रति स्प्लिट slowdown मिले. वैरिएबलsplit_numberऔरmean_splitsपहले से आपकी namespace में हैं. ढलान (slope) और इंटरसेप्ट को क्रमशःslowdownऔरsplit_3में सहेजें.- प्रति स्प्लिट slowdown के 10,000 pairs bootstrap replicates निकालने के लिए
dcst.draw_bs_pairs_linreg()का उपयोग करें. नतीजे कोbs_repsमें सहेजें. इंटरसेप्ट के bootstrap replicates इस विश्लेषण के लिए प्रासंगिक नहीं हैं, इसलिए उन्हें throwaway वैरिएबल_में सहेजा जा सकता है. - प्रति स्प्लिट slowdown का 95% confidence interval गणना करें.
- mean split time (
mean_splits) बनाम split number (split_number) को डॉट्स के रूप में प्लॉट करें, और उसके साथ best-fit line भी दिखाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Perform regression
____, ____ = ____
# Compute pairs bootstrap
bs_reps, _ = ____
# Compute confidence interval
conf_int = ____
# Plot the data with regressions line
_ = ____(____, ____, marker='.', linestyle='none')
_ = ____(____, ____ * ____ + ____, '-')
# Label axes and show plot
_ = plt.xlabel('split number')
_ = plt.ylabel('split time (s)')
plt.show()
# Print the slowdown per split
print("""
mean slowdown: {0:.3f} sec./split
95% conf int of mean slowdown: [{1:.3f}, {2:.3f}] sec./split""".format(
slowdown, *conf_int))