आउटलेर्स का पता लगाने के लिए IQR कितना सही है


11

मैं एक स्क्रिप्ट लिख रहा हूं जो प्रक्रियाओं के समय का विश्लेषण करती है। मुझे उनके वितरण पर यकीन नहीं है, लेकिन मैं जानना चाहता हूं कि क्या कोई प्रक्रिया "बहुत लंबी" चलती है। अब तक मैं पिछले रन समय (n> 30) के 3 मानक विचलन का उपयोग कर रहा हूं, लेकिन मुझे बताया गया था कि यह डेटा सामान्य नहीं होने पर (जो यह प्रतीत नहीं होता है) कुछ भी उपयोगी नहीं प्रदान करता है। मैंने पाया कि एक और बाह्य परीक्षण है:

अंतर चतुर्थक श्रेणी का पता लगाएं, जो कि IQR = Q3 - Q1 है, जहां Q3 तीसरी चतुर्थक है और Q1 पहली बार चतुर्थक है। फिर इन दो संख्याओं को खोजें:

a) Q1 - 1.5 * IQR b) Q3 + 1.5 * IQR

बिंदु एक बाहरी है यदि <या a> बी

मेरा डेटा 2sec, 3sec, 2sec, 5sec, 300sec, 4sec .... जैसी चीजें हैं, जहाँ 300sec स्पष्ट रूप से एक बाहरी है।

कौन सा तरीका बेहतर है? IQR विधि या std विचलन विधि?


4
आप यहाँ पर @ user603 के उत्तर की जाँच करना चाह सकते हैं: वहाँ कटघरा डेटा के लिए इस नियम को समायोजित करने के तरीके के बारे में जानकारी के लिए पोइसन वितरित डेटा के लिए एक बॉक्सप्लेट संस्करण है
गूँज - मोनिका

3
यह "IQR" विधि कभी भी आँख बंद करके लागू करने का इरादा नहीं था। यह खोजपूर्ण डेटा विश्लेषण (निक कॉक्स द्वारा उनके उत्तर में वर्णित) की एक प्रक्रिया का हिस्सा है, जिसके दौरान आप पहले डेटा को फिर से व्यक्त करने का एक तरीका ढूंढेंगे, जिससे उन्हें लगभग सममित रूप से वितरित किया जा सके।
whuber

2
उत्तरों के लिए आपकी टिप्पणियों के आधार पर, सही उत्तर "न तो" है, क्योंकि आपकी अंतर्निहित चिंता आउटलेर के बारे में नहीं है, यह प्रक्रिया
whuber


संख्याएँ time_taken हैं इसलिए वे कभी भी सममित नहीं होंगे जब तक कि आप उन्हें किसी तरह से फिर से स्केल न करें।
जेपी बेनेट

जवाबों:


14

वास्तव में आउटलेर पर पूरी किताबें हैं।

सामान्य विशिष्ट उत्तर यह है कि मानक विचलन बाहरी लोगों द्वारा खींच लिया जाता है, इसलिए SD पर आधारित कोई भी नियम खराब प्रदर्शन कर सकता है।

चौकड़ी पर तुकी के नियम +/- 1.5 IQR आप उद्धरण 1970 के दशक में छोटे और मध्यम आकार के डेटासेट के साथ हाथ से बाहर आए थे, और उन मूल्यों को इंगित करने के लिए डिज़ाइन किए गए थे जो आप व्यक्तिगत रूप से सोचने के बारे में सोच सकते हैं। यह स्पष्ट नहीं है कि वे बहुत बड़े डेटासेट पर ले जाते हैं, और न ही यह तब लागू होते हैं जब आप काफी तिरछापन की उम्मीद करते हैं।

एक अधिक सामान्य उत्तर यह है कि एक बाहरी नियम अच्छा है यदि यह हमेशा सही निर्णय लेता है, लेकिन आप कैसे बता सकते हैं?

यह विवादास्पद क्षेत्र है, लेकिन मैं एक आउटर ग्राफ को दूसरों से बहुत अलग होने के कारण बाहर रहने की उम्मीद करूंगा। लेकिन यह अक्सर (आमतौर पर?) एक कठिन कॉल है जो आपको भारी पूंछ वाले वितरण में उम्मीद करता है और जो कुछ भी लेकिन एक बाहरी वस्तु के रूप में माना जाता है, उसके बीच अंतर बताने के लिए एक कठिन कॉल है। कभी-कभी परिवर्तन एक बाहरी रूप को और अधिक सामान्य बनाता है।

इसके अलावा, अगर आप मजबूत तरीकों का उपयोग करते हैं, तो आप ठीक से कम चिंता कर सकते हैं कि कौन से गुण आउटलेर कहलाते हैं, लेकिन सामान्य तौर पर आउटलेर के बारे में चिंता करें।


1

आप कहते हैं कि आप वितरण के बारे में निश्चित नहीं हैं, लेकिन जो प्रक्रियाएँ चल रही हैं, वे वितरण के लिए एकत्र करना और आकलन करना आसान हैं। बस समय का एक गुच्छा बचाने के लिए और उन का विश्लेषण। आपके द्वारा पोस्ट किए गए समय को देखते हुए आप कुछ घंटों में बहुत कुछ प्राप्त कर सकते हैं।

एक बाहरी नियम के लिए आपकी खोज इतनी सामान्य नहीं है। यह आपके कार्य के लिए विशिष्ट हो सकता है। आप बहुत सारे डेटा एकत्र करने में सक्षम हैं। इसे इकट्ठा करें, इसकी जांच करें और फिर तय करें कि कोई प्रक्रिया बहुत लंबी है। हो सकता है कि एक IQR आधारित दृष्टिकोण काम करेगा लेकिन आप सिमुलेशन करने के लिए अपने डेटा सेट या पैरामीट्रिक फिट का उपयोग कर सकते हैं और देखें कि क्या यह अच्छी तरह से काम करता है। वही SD के लिए जाता है। यह सिर्फ यह हो सकता है कि> 50s बहुत लंबा हो और आपको बस इतना ही चाहिए।


मैं कई प्रक्रियाओं पर डेटा एकत्र कर रहा हूं। उनमें से प्रत्येक के अलग-अलग वितरण हो सकते हैं। मुझे तकनीशियनों को चीजों को आगे देखने के लिए सचेत करने के लिए "रनिंग टाइम द ग्रेट" कहने के लिए एक सरल तरीके की आवश्यकता है। यह सामान्य हो सकता है जब तक कि यह उन चीजों को चिह्नित करता है जिन्हें ध्वजांकित किया जाना चाहिए। यदि कुछ गलत सकारात्मक दिखाई देते हैं, तो यह हो। हालांकि झूठी सकारात्मक को कम से कम रखा जाना चाहिए क्योंकि यदि बहुत सारे हैं तो यह स्क्रिप्ट के उद्देश्य को हरा देता है और मुझे बस सभी परिणामों को डंप करना चाहिए और इस पर टेक देना चाहिए। स्क्रिप्ट का उद्देश्य "संकीर्ण चीजों को नीचे करना" है
क्रिस बेडड

आप आकलन कर सकते हैं कि क्या प्रक्रियाएं समान हैं या अलग हैं। यदि वे वास्तव में बहुत भिन्न हैं तो कुछ सामान्य नियम चेतावनी को ट्रिगर करने के लिए एक विशेष प्रक्रिया का कारण बन सकते हैं जो आवश्यकता से अधिक बार होती है। यह जानकारी वास्तव में आपके प्रश्न में होनी चाहिए।
जॉन

3
इस समस्या को आउटलेर, क्रिस के लिए एक खोज के रूप में प्रस्तुत करना, यह अन्याय करता है: आप वास्तव में गुणवत्ता नियंत्रण समस्या से निपट रहे हैं । प्रमुख अंतर हैं (1) आपके पास विश्लेषण करने के लिए स्थैतिक डेटासेट के बजाय डेटा की एक सतत स्ट्रीम है और (2) आप प्रत्येक विश्लेषण के परिणामस्वरूप आवधिक कार्यों को निर्दिष्ट करने का इरादा रखते हैं: अर्थात, क्या हस्तक्षेप करना है (और प्रयास करना है) प्रक्रिया में सुधार) या नहीं (और प्रक्रिया को चलने दें)। यह समझना कि यह आपकी समस्या की प्रकृति है कि गुणवत्ता नियंत्रण पर विशाल साहित्य प्रासंगिक है, समाधान का एक समृद्ध वर्गीकरण प्रदान करता है।
whuber

+1 @whuber। आउटलेर यहां प्रासंगिक नहीं हैं। न तो औसत रन समय, और न ही इसका कोई प्रतिशत, "बहुत लंबा है" से संबंधित है। यह पता लगाने का तरीका कि "बहुत लंबा" है, उपयोगकर्ताओं का एक सर्वेक्षण हो सकता है, या इंजीनियरों के साथ जांच, या अनुमान लगाने वाले पैंट की सीट, या कुछ और, लेकिन यह एक सांख्यिकीय सवाल नहीं है।
पीटर Flom
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.