Pairs bootstrap के लिए एक फंक्शन
वीडियो में चर्चा के अनुसार, pairs bootstrap में डेटा की जोड़ी (pairs) का पुनः-सैंपलिंग किया जाता है। हर जोड़ी के संग्रह पर एक रेखा fit की जाती है, यहाँ np.polyfit() का उपयोग करके। हम यह बार-बार करते हैं और पैरामीटर वैल्यूज़ के bootstrap replicates प्राप्त करते हैं। Pairs bootstrap करने के लिए एक उपयोगी टूल बनाने के उद्देश्य से, आप x,y डेटा के एक सेट पर pairs bootstrap करने वाला एक फंक्शन लिखेंगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Statistical Thinking in Python (Part 2)
अभ्यास निर्देश
- एक फंक्शन परिभाषित करें जिसका कॉल सिग्नेचर
draw_bs_pairs_linreg(x, y, size=1)हो, जो linear regression पैरामीटर्स पर pairs bootstrap estimates निकाले.np.arange()का उपयोग करके0सेlen(x)तक जाने वाले इंडेक्स का एक array सेट करें। इन्हीं को आप पुनः-सैंपल करेंगे औरxतथाyarrays से वैल्यू चुनने में उपयोग करेंगे.- slope और intercept के replicate arrays को
np.empty()से initialize करें ताकि उनका आकारsizeहो. - एक
forलूप लिखें जो:- इंडेक्स
indsको पुनः-सैंपल करे। इसके लिएnp.random.choice()का उपयोग करें. - नए \(x\) और \(y\) arrays
bs_xऔरbs_yबनाए, resampled इंडेक्सbs_indsका उपयोग करके। इसके लिएxऔरyकोbs_indsसे slice करें. - नए \(x\) और \(y\) arrays पर
np.polyfit()का उपयोग करे और निकली हुई slope तथा intercept को स्टोर करे.
- इंडेक्स
- अंत में slope और intercept के pair bootstrap replicates रिटर्न करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
def draw_bs_pairs_linreg(x, y, size=1):
"""Perform pairs bootstrap for linear regression."""
# Set up array of indices to sample from: inds
inds = ____
# Initialize replicates: bs_slope_reps, bs_intercept_reps
bs_slope_reps = ____
bs_intercept_reps = ____
# Generate replicates
for i in range(size):
bs_inds = np.random.choice(____, size=____)
bs_x, bs_y = x[____], y[____]
bs_slope_reps[i], bs_intercept_reps[i] = ____
return bs_slope_reps, bs_intercept_reps