आर में ग्रब्स टेस्टर कैसे चलाएं
ग्रब्स परीक्षण एक सांख्यिकीय परीक्षण है जिसका उपयोग डेटा सेट में आउटलेर्स की उपस्थिति की पहचान करने के लिए किया जा सकता है।
इस परीक्षण का उपयोग करने के लिए, डेटा सेट में लगभग सामान्य वितरण होना चाहिए और इसमें कम से कम 7 अवलोकन शामिल होने चाहिए।
यह ट्यूटोरियल बताता है कि डेटासेट में आउटलेर्स का पता लगाने के लिए आर में ग्रब्स परीक्षण कैसे करें।
उदाहरण: आर में ग्रब्स परीक्षण
आर में ग्रब्स परीक्षण करने के लिए, हम आउटलेर्स पैकेज से ग्रब्स.टेस्ट() फ़ंक्शन का उपयोग कर सकते हैं, जो निम्नलिखित सिंटैक्स का उपयोग करता है:
grubbs.test(x, प्रकार = 10, विपरीत = गलत, दो तरफा = गलत)
सोना:
- x: डेटा मानों का एक संख्यात्मक वेक्टर
- प्रकार: 10 = परीक्षण करें कि क्या अधिकतम मान आउटलायर है, 11 = परीक्षण करें कि क्या न्यूनतम और अधिकतम मान आउटलेर हैं, 20 = परीक्षण करें कि क्या एक पूंछ पर दो आउटलेयर हैं
- विपरीत: तर्क यह दर्शाता है कि क्या आप औसत से सबसे बड़े अंतर वाले मूल्य की जांच नहीं करना चाहते हैं, बल्कि इसके विपरीत (सबसे कम, यदि सबसे संदिग्ध उच्चतम है, आदि)
- द्विपक्षीय: तार्किक मान यह दर्शाता है कि आपको परीक्षण को द्विपक्षीय मानना चाहिए या नहीं
यह परीक्षण निम्नलिखित दो परिकल्पनाओं का उपयोग करता है:
एच 0 (शून्य परिकल्पना): डेटा में कोई आउटलेर नहीं हैं।
एच ए (वैकल्पिक परिकल्पना): डेटा में एक बाहरी बात है।
निम्नलिखित उदाहरण दिखाता है कि डेटा सेट में अधिकतम मान बाहरी है या नहीं यह निर्धारित करने के लिए ग्रब्स परीक्षण कैसे करें:
#load Outliers package library(Outliers) #createdata data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40) #perform Grubbs' Test to see if '40' is an outlier grubbs.test(data) # Grubbs test for one outlier # #data:data #G = 2.65990, U = 0.55935, p-value = 0.02398 #alternative hypothesis: highest value 40 is an outlier
परीक्षण का परीक्षण आँकड़ा G = 2.65990 है और संबंधित p-मान p = 0.02398 है। चूँकि यह मान 0.05 से कम है, हम शून्य परिकल्पना को अस्वीकार कर देंगे और निष्कर्ष निकालेंगे कि 40 का अधिकतम मान एक बाह्य है।
यदि हम इसके बजाय यह परीक्षण करना चाहते हैं कि क्या “5” का न्यूनतम मान एक बाहरी था, तो हम विपरीत = TRUE कमांड का उपयोग कर सकते हैं:
#perform Grubbs' Test to see if '5' is an outlier grubbs.test(data, opposite= TRUE ) # Grubbs test for one outlier # #data:data #G = 1.4879, U = 0.8621, p-value = 1 #alternative hypothesis: lowest value 5 is an outlier
परीक्षण आँकड़ा G = 1.4879 है और संगत p-मान p = 1 है। चूँकि यह मान 0.05 से कम नहीं है, हम शून्य परिकल्पना को अस्वीकार करने में विफल हैं। हमारे पास यह कहने के लिए पर्याप्त सबूत नहीं है कि “5” का न्यूनतम मान एक बाहरी है।
अंत में, मान लीजिए कि हमारे पास डेटा सेट के एक छोर पर दो बड़े मान हैं: 40 और 42। यह जांचने के लिए कि क्या ये दो मान आउटलेयर हैं, हम ग्रब्स परीक्षण कर सकते हैं और प्रकार = 20 निर्दिष्ट कर सकते हैं:
#create dataset with two large values at one end: 40 and 42 data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40, 42) #perform Grubbs' Test to see if both 40 and 42 are outliers grubbs.test(data, type=20) # Grubbs test for two outliers # #data: data #U = 0.38111, p-value = 0.01195 #alternative hypothesis: highest values 40, 42 are outliers
परीक्षण का पी-वैल्यू 0.01195 है। चूँकि यह मान 0.05 से कम है, हम शून्य परिकल्पना को अस्वीकार कर सकते हैं और निष्कर्ष निकाल सकते हैं कि हमारे पास यह कहने के लिए पर्याप्त सबूत हैं कि मान 40 और 42 दोनों आउटलेयर हैं।
आउटलेर्स को कैसे संभालें
यदि ग्रब्स परीक्षण आपके डेटा सेट में किसी बाहरी चीज़ की पहचान करता है, तो आपके पास कई विकल्प हैं:
1. दोबारा जांचें कि मान कोई टाइपिंग त्रुटि या डेटा प्रविष्टि त्रुटि तो नहीं है। कभी-कभी डेटा सेट में आउटलेयर के रूप में दिखाई देने वाले मान केवल डेटा प्रविष्टि के दौरान किसी व्यक्ति द्वारा की गई टाइपो त्रुटियां होती हैं। वापस जाएँ और सत्यापित करें कि आगे का निर्णय लेने से पहले मान सही ढंग से दर्ज किया गया था।
2. आउटलेयर को एक नया मान निर्दिष्ट करें । यदि आउटलेयर टाइपो या डेटा प्रविष्टि त्रुटि का परिणाम निकलता है, तो आप इसे एक नया मान निर्दिष्ट करने का निर्णय ले सकते हैं, जैसे डेटा सेट का माध्य या माध्यिका ।
3. बाहरी हिस्से को हटा दें. यदि मान वास्तव में एक बाहरी है, तो आप इसे हटाने का विकल्प चुन सकते हैं यदि इसका आपके समग्र विश्लेषण पर महत्वपूर्ण प्रभाव पड़ेगा।