K-S स्टैटिस्टिक की गणना
दो डेटासेट data1 और data2 से Kolmogorov–Smirnov स्टैटिस्टिक निकालने के लिए एक फंक्शन लिखिए, जहाँ data2 उस सैद्धांतिक डिस्ट्रीब्यूशन से लिए गए सैंपल्स हैं जिससे आप अपने डेटा की तुलना कर रहे हैं. ध्यान दें, इसका मतलब है कि हम हैकर स्टैट्स का इस्तेमाल करके किसी डेटासेट और एक सैद्धांतिक डिस्ट्रीब्यूशन के लिए K-S स्टैटिस्टिक निकाल रहे हैं, न कि दो एम्पिरिकल डेटासेट्स के बीच K-S स्टैटिस्टिक. सुविधा के लिए, औपचारिक ECDF के मान निकालने वाला फंक्शन dcst.ecdf_formal() दिया गया है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Statistical Thinking के केस स्टडीज़
अभ्यास निर्देश
dcst.ecdf()का उपयोग करकेdata1के लिए औपचारिक ECDF के convex कॉर्नर्स के मान निकालें. परिणाम को वैरिएबल्सxऔरyमें रखें.dcst.ecdf_formal()का उपयोग करके सैद्धांतिक CDF के मान निकालें, जोdata2से निर्धारित है, और इन्हें convex कॉर्नर्सxपर compute करें. परिणाम कोcdfवैरिएबल में रखें.- औपचारिक ECDF के concave कॉर्नर्स और सैद्धांतिक CDF के बीच की दूरी निकालें. परिणाम को
D_topके रूप में रखें. - औपचारिक ECDF के convex कॉर्नर्स और सैद्धांतिक CDF के बीच की दूरी निकालें. ध्यान दें कि convex कॉर्नर पर
y-मान पाने के लिए आपकोyमें से1/len(data1)घटाना होगा. परिणाम कोD_bottomमें रखें. - K-S स्टैटिस्टिक को
D_topऔरD_bottomके सभी एंट्रीज़ के अधिकतम मान के रूप में रिटर्न करें. ऐसा करने के लिए आपD_topऔरD_bottomको एक टपल के रूप मेंnp.max()में पास कर सकते हैं.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
def ks_stat(data1, data2):
# Compute ECDF from data: x, y
# Compute corresponding values of the target CDF
cdf = ____
# Compute distances between concave corners and CDF
D_top = ____ - ____
# Compute distance between convex corners and CDF
D_bottom = ____ - ____ + ____/____
return np.max((D_top, D_bottom))