आर में महालनोबिस दूरी की गणना कैसे करें
महालनोबिस दूरी एक बहुभिन्नरूपी स्थान में दो बिंदुओं के बीच की दूरी है।
इसका उपयोग अक्सर कई चर वाले सांख्यिकीय विश्लेषणों में आउटलेर्स का पता लगाने के लिए किया जाता है।
यह ट्यूटोरियल बताता है कि आर में महालनोबिस दूरी की गणना कैसे करें।
उदाहरण: आर में महालनोबिस दूरी
आर में डेटासेट में प्रत्येक अवलोकन के लिए महालनोबिस दूरी की गणना करने के लिए निम्नलिखित चरणों का उपयोग करें।
चरण 1: डेटासेट बनाएं।
सबसे पहले, हम एक डेटासेट बनाएंगे जो 20 छात्रों के परीक्षा स्कोर को प्रदर्शित करेगा, साथ ही उनके अध्ययन में बिताए गए घंटों की संख्या, उनके द्वारा दी गई अभ्यास परीक्षाओं की संख्या और पाठ्यक्रम में उनके वर्तमान ग्रेड को प्रदर्शित करेगा:
#create data df = data.frame(score = c(91, 93, 72, 87, 86, 73, 68, 87, 78, 99, 95, 76, 84, 96, 76, 80, 83, 84, 73, 74) , hours = c(16, 6, 3, 1, 2, 3, 2, 5, 2, 5, 2, 3, 4, 3, 3, 3, 4, 3, 4, 4), prep = c(3, 4, 0, 3, 4, 0, 1, 2, 1, 2, 3, 3, 3, 2, 2, 2, 3, 3, 2, 2), grade = c(70, 88, 80, 83, 88, 84, 78, 94, 90, 93, 89, 82, 95, 94, 81, 93, 93, 90, 89, 89)) #view first six rows of data head(df) score hours prep grade 1 91 16 3 70 2 93 6 4 88 3 72 3 0 80 4 87 1 3 83 5 86 2 4 88 6 73 3 0 84
चरण 2: प्रत्येक अवलोकन के लिए महालनोबिस दूरी की गणना करें।
इसके बाद, हम प्रत्येक अवलोकन के लिए महालनोबिस दूरी की गणना करने के लिए आर में निर्मित महालनोबिस () फ़ंक्शन का उपयोग करेंगे, जो निम्नलिखित सिंटैक्स का उपयोग करता है:
महालनोबिस (एक्स, केंद्र, सीओवी)
सोना:
- एक्स: डेटा मैट्रिक्स
- केंद्र: वितरण का औसत वेक्टर
- सीओवी: वितरण सहप्रसरण मैट्रिक्स
निम्नलिखित कोड दिखाता है कि हमारे डेटासेट के लिए इस फ़ंक्शन को कैसे कार्यान्वित किया जाए:
#calculate Mahalanobis distance for each observation
mahalanobis(df, colMeans(df), cov(df))
[1] 16.5019630 2.6392864 4.8507973 5.2012612 3.8287341 4.0905633
[7] 4.2836303 2.4198736 1.6519576 5.6578253 3.9658770 2.9350178
[13] 2.8102109 4.3682945 1.5610165 1.4595069 2.0245748 0.7502536
[19] 2.7351292 2.2642268
चरण 3: प्रत्येक महालनोबिस दूरी के लिए पी-मान की गणना करें।