Permutation sampling का विज़ुअलाइज़ेशन
Permutation sampling कैसे काम करता है, यह देखने के लिए इस अभ्यास में आप permutation samples जनरेट करेंगे और उन्हें ग्राफ़िकली देखेंगे.
हम फिर से Sheffield Weather Station का डेटा इस्तेमाल करेंगे. इस बार जून (सूखा महीना) और नवंबर (गीला महीना) की मासिक वर्षा पर विचार करेंगे. हमें उम्मीद है कि इनका वितरण अलग होगा, इसलिए हम permutation samples लेंगे ताकि देख सकें कि अगर ये समान रूप से वितरित होते तो उनकी ECDFs कैसी दिखतीं.
डेटा NumPy arrays rain_june और rain_november में स्टोर है.
याद दिलाने के लिए, permutation_sample() का फंक्शन सिग्नेचर permutation_sample(data_1, data_2) है और यह permuted_data[:len(data_1)], permuted_data[len(data_1):] रिटर्न करता है, जहाँ permuted_data = np.random.permutation(np.concatenate((data_1, data_2))).
यह अभ्यास पाठ्यक्रम का हिस्सा है
Statistical Thinking in Python (Part 2)
अभ्यास निर्देश
- 50 permutation samples जनरेट करने, उनकी ECDFs निकालने, और उन्हें प्लॉट करने के लिए एक
forलूप लिखें.- अपनी
permutation_sample()फंक्शन का उपयोग करकेrain_juneऔरrain_novemberसे एक permutation sample pair जनरेट करें. - अपनी
ecdf()फंक्शन का उपयोग करके दोनों permutation samples के लिए ECDF केxऔरyवैल्यूज़ जनरेट करें. - पहले permutation sample (
x_1औरy_1) की ECDF को dots के रूप में प्लॉट करें. दूसरे permutation sample (x_2औरy_2) के लिए भी यही करें.
- अपनी
rain_juneऔरrain_novemberडेटा के लिए ECDFs केxऔरyवैल्यूज़ जनरेट करें और ECDFs को क्रमशःcolor='red'औरcolor='blue'keyword arguments के साथ प्लॉट करें.- अपने axes को label करें, 2% margin सेट करें, और प्लॉट दिखाएँ. यह आपके लिए कर दिया गया है, तो बस सबमिट करें और प्लॉट देखें!
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
for _ in ____:
# Generate permutation samples
perm_sample_1, perm_sample_2 = ____
# Compute ECDFs
x_1, y_1 = ____
x_2, y_2 = ____
# Plot ECDFs of permutation sample
_ = plt.plot(____, ____, marker='.', linestyle='none',
color='red', alpha=0.02)
_ = plt.plot(____, ____, marker='.', linestyle='none',
color='blue', alpha=0.02)
# Create and plot ECDFs from original data
x_1, y_1 = ____
x_2, y_2 = ____
_ = plt.plot(x_1, y_1, marker='.', linestyle='none', color='red')
_ = plt.plot(x_2, y_2, marker='.', linestyle='none', color='blue')
# Label axes, set margin, and show plot
plt.margins(0.02)
_ = plt.xlabel('monthly rainfall (mm)')
_ = plt.ylabel('ECDF')
plt.show()