यह काउंटर-सहज ज्ञान युक्त लग सकता है, लेकिन आपके द्वारा वर्णित दृष्टिकोण का उपयोग करने का कोई मतलब नहीं है (आपके शब्दों को लेने के लिए, मैं बल्कि लिखूंगा "परिणाम उन लोगों से बहुत भिन्न हो सकते हैं") और एक को कभी भी ऐसा नहीं करना चाहिए: जोखिम यह काम नहीं कर रहे हैं परिणामी और इसके अलावा, वहाँ एक सरल, बहुत सुरक्षित और बेहतर अतिरिक्त विकल्प उपलब्ध है जो बिना किसी अतिरिक्त लागत के उपलब्ध है।
सबसे पहले, यह सच है कि यदि कोई एकल रूपरेखा है, तो आप अंततः उस प्रक्रिया का उपयोग करके पाएंगे जो आप सुझाते हैं। लेकिन, सामान्य तौर पर (जब डेटा में एक से अधिक आउटलेयर हो सकता है), एल्गोरिथ्म आप पूरी तरह से टूटने का सुझाव देते हैं, संभावित रूप से एक अच्छे डेटा बिंदु को एक आउटलाइडर के रूप में अस्वीकार करने या आउटलेर्स को अच्छे डेटा बिंदु के रूप में रखने के लिए अग्रणी है। संभावित विनाशकारी परिणामों के साथ।
नीचे, मैं एक सरल संख्यात्मक उदाहरण देता हूं जहां आप जिस नियम का प्रस्ताव करते हैं वह टूट जाता है और फिर मैं एक अधिक सुरक्षित और अधिक स्थापित विकल्प का प्रस्ताव करता हूं, लेकिन इससे पहले मैं आपको समझाऊंगा कि a) आपके द्वारा प्रस्तावित विधि के साथ क्या गलत है और b) आमतौर पर क्या पसंद है इसका विकल्प है।
संक्षेप में, आप अपने डेटा से मानक अवलोकन का उपयोग नहीं कर सकते हैं और अपने डेटा के मानक विचलन को विश्वसनीय रूप से आउटलेर का पता लगा सकते हैं क्योंकि आपके द्वारा उपयोग किए जाने वाले अनुमान (एक बाहर का मतलब और मानक विचलन) अभी भी शेष की ओर खींचे जाने के लिए उत्तरदायी हैं आउटलेर्स: इसे मास्किंग प्रभाव कहा जाता है।
संक्षेप में, आउटलेयर को भरोसेमंद रूप से पता लगाने का एक सरल तरीका यह है कि आपके द्वारा सुझाए गए सामान्य विचार (स्थान और पैमाने के अनुमान से दूरी) का उपयोग करें, लेकिन आपके द्वारा उपयोग किए जाने वाले अनुमानों को प्रतिस्थापित करना (एक बाहर का मतलब, एसडी) मजबूत लोगों द्वारा - यानी, अनुमान। बाहरी लोगों द्वारा बहाने के लिए अतिसंवेदनशील होने के लिए डिज़ाइन किया गया है।
इस उदाहरण पर विचार करें, जहां मैं एक सामान्य 0,1 से खींची गई 47 वास्तविक टिप्पणियों के लिए 3 आउटलेयर जोड़ता हूं:
n <- 50
set.seed(123) # for reproducibility
x <- round(rnorm(n,0,1), 1)
x[1] <- x[1]+1000
x[2] <- x[2]+10
x[3] <- x[3]+10
नीचे दिए गए कोड में आउटसाइडनेस इंडेक्स की गणना ली गई है जो माध्य और मानक विचलन (उदाहरण के लिए आपके द्वारा सुझाए गए दृष्टिकोण) पर आधारित है।
out_1 <- rep(NA,n)
for(i in 1:n){ out_1[i] <- abs( x[i]-mean(x[-i]) )/sd(x[-i]) }
और यह कोड आपके द्वारा देखे गए प्लॉट का निर्माण करता है।
plot(x, out_1, ylim=c(0,1), xlim=c(-3,20))
points(x[1:3], out_1[1:3], col="red", pch=16)
चित्र 1 आपके बाह्यकरण सूचकांक के मान को अवलोकनों के मान के फलन के रूप में दर्शाता है (आउटलेयर का सबसे दूर भाग इस भूखंड की सीमा के बाहर है लेकिन अन्य दो लाल बिंदुओं के रूप में दिखाए गए हैं)। जैसा कि आप देख सकते हैं, सबसे चरम एक को छोड़कर, एक आउटिंगनेस इंडेक्स बनाया गया है जैसा कि आप सुझाव देते हैं कि आउटलेयर को प्रकट करने में विफल होगा: वास्तव में दूसरे और तीसरे (माइलेज) आउटलेर के पास अब भी मूल्य है (आपके आउटिंगनेस इंडेक्स पर) सभी से छोटा हैवास्तविक अवलोकन 0.45 और 2.32 के इन 49 डेटा बिंदुओं के आधार पर माध्य और sd का अनुमान, आपके नमूने के किसी भी हिस्से का बहुत खराब वर्णन !
एक्समैंएक्स
ओ ( एक्स)मैं, एक्स) = | एक्समैं- मेड ( एक्स) |पागल (एक्स)
मेड (एक्स)एक्सपागल (एक्स)
आर में, इस दूसरे आउटलाइनिंग इंडेक्स की गणना इस प्रकार की जा सकती है:
out_2 <- abs( x-median(x) )/mad(x)
और प्लॉट (पहले की तरह) का उपयोग करके:
plot(x, out_2, ylim=c(0,15), xlim=c(-3,20))
points(x[1:3], out_2[1:3], col="red", pch=16)
छवि 2 एक ही डेटा सेट के लिए इस वैकल्पिक आउटिंगनेस इंडेक्स के मूल्य को प्लॉट करता है। जैसा कि आप देख सकते हैं, अब सभी तीन आउटलेयर स्पष्ट रूप से इस तरह से प्रकट होते हैं। इसके अलावा, इस बाहरी पहचान नियम में कुछ स्थापित सांख्यिकीय गुण हैं। यह अन्य बातों के अलावा, कट-ऑफ नियमों को प्रयोग करने योग्य बनाता है। उदाहरण के लिए, यदि डेटा के वास्तविक हिस्से को दूसरे पल के साथ सममित वितरण से तैयार किया जा सकता है, तो आप सभी डेटा बिंदुओं को अस्वीकार कर सकते हैं
| एक्समैं- मेड ( एक्स) |पागल (एक्स)> 3.5
आउटलेर के रूप में। ऊपर दिए गए उदाहरण में, इस नियम का आवेदन आपको सही ढंग से ध्वज अवलोकन 1,2 तक ले जाएगा और 3. इन्हें अस्वीकार करते हुए, शेष टिप्पणियों का माध्य और sd 0.021 और 0.93 ग्रहणशील है, नमूने के वास्तविक भाग का बहुत बेहतर विवरण। !