समय श्रृंखला डेटा पूर्वानुमान के लिए एक बार आउटलेर्स को सही करने के लिए कैसे?


10

मैं समय श्रृंखला डेटा में उन्हें ढूंढने / उनका पता लगाने के लिए आउटलेर्स को सही करने का एक तरीका खोजने की कोशिश कर रहा हूं। R में nnetar जैसे कुछ तरीके, बड़े / बड़े आउटलेर्स के साथ टाइम सीरीज़ के लिए कुछ त्रुटियां देते हैं। मैं पहले से ही गायब मूल्यों को सही करने में कामयाब रहा, लेकिन आउटलेर अभी भी मेरे पूर्वानुमान को नुकसान पहुंचा रहे हैं ...


"सही" से आपका क्या मतलब है?
rbatt

स्थानापन्न या प्रतिस्थापित करना ... या इसे घटाया जाना चाहिए ...?
मिला

3
क्या आउटलेर "वास्तविक" हैं? इसका मतलब है कि चरम घटनाओं या झटकों की भविष्यवाणी करने के लिए मॉडल की अक्षमता के कारण आउटलेयर हैं? या क्या वे "त्रुटियां" हैं जैसे कि डेटा प्रविष्टि समस्याएं?
संभाव्यताविषयक

जवाबों:


9

आर की पहचान करने और बाहर निकालने वालों के लिए आर के लिए पूर्वानुमान पैकेज में अब एक सुविधा है। (यह लापता मूल्यों को भी संभालता है।) जैसा कि आप पहले से ही पूर्वानुमान पैकेज का उपयोग कर रहे हैं, यह आपके लिए एक सुविधाजनक समाधान हो सकता है। उदाहरण के लिए:

fit <- nnetar(tsclean(x))

tsclean()समारोह एक मजबूत प्रवृत्ति (गैर मौसमी श्रृंखला के लिए) लेस का उपयोग कर, या मजबूत प्रवृत्ति और मौसमी घटकों एसटीएल का उपयोग कर (मौसमी श्रृंखला के लिए) फिट होगा। अवशिष्टों की गणना की जाती है और निम्नलिखित सीमाएँ गणना की जाती हैं:

q0.1q0.9

U=q0.9+2(q0.9q0.1)L=q0.12(q0.9q0.1)
जहां और क्रमशः अवशिष्ट के 10 वें और 90 वें प्रतिशत हैं।q0.1q0.9

से अधिक या से छोटे अवशिष्ट के साथ आउटलेयर को अंक के रूप में पहचाना जाता है ।एलUL

गैर-मौसमी समय श्रृंखला के लिए, आउटलेर को रैखिक प्रक्षेप द्वारा प्रतिस्थापित किया जाता है। मौसमी समय श्रृंखला के लिए, एसटीएल फिट से मौसमी घटक को हटा दिया जाता है और परिणाम को पुन: मौसमीकृत करने से पहले बाहरी रूप से समायोजित करने के लिए मौसमी रूप से समायोजित श्रृंखला को रैखिक रूप से प्रक्षेपित किया जाता है।


1
यहां आपका विस्तार भी उपयोगी है: आंकड़े.stackexchange.com/questions/1142/… (tsclean कॉल tsoutliers)

4

जब आप एक ARIMA मॉडल की पहचान करते हैं तो आपको एक साथ पल्स / लेवल शिफ्ट्स / सीज़नल पल्सेस और / या लोकल टाइम ट्रेंड्स की पहचान करनी चाहिए। आप http://www.ebay.com/ctg/Time-Series-Analysis-Univariate-and-Multivariate-Methods-David-P-Rillilly-and-William-Wei-1999 पर इंटरवेंशन डिटेक्शन प्रक्रियाओं पर कुछ पढ़ने की सामग्री प्राप्त कर सकते हैं - / 85,697 और http://www.unc.edu/~jbhill/tsay.pdf । आप किसी भी उपयोगी परिणाम प्राप्त करने के लिए SAS / SPSS / AUTOBOX जैसे वाणिज्यिक सॉफ्टवेयर का पीछा कर सकते हैं जैसा कि मैंने देखा है मुफ्त सॉफ्टवेयर चाहता है। पास होने में मैंने इस क्षेत्र में AUTOBOX में बड़े तकनीकी सुधारों का योगदान दिया है।

संपादित करें:

एक बेहतर तरीका यह भी है कि कठोर ARIMA पद्धति के साथ आउटलेर्स की पहचान की जाए और साथ ही ARIMA मापदंडों और एक अच्छे पूर्वानुमान के लिए हस्तक्षेप डिटेक्शन प्रक्रियाओं का उपयोग किया जाए। अब पल्स प्रभाव से मुक्त पुन: नमूना अवशेषों को शामिल करते हुए नकली पूर्वानुमान विकसित करने पर विचार करें। इस तरह से आप पूर्वानुमान के लिए एक अच्छा मॉडल और अधिक यथार्थवादी अनिश्चितता बयान दोनों दुनिया के सर्वश्रेष्ठ प्राप्त करते हैं जो यह नहीं मानते हैं कि अनुमानित मॉडल पैरामीटर जनसंख्या मान हैं।


1

मैं @ अक्षल से सहमत हूं। आउटलेर्स को हटाने के बजाय, बेहतर तरीका यह होगा कि आउटलेर्स से निपटने के लिए किसी प्रकार की सांख्यिकीय प्रक्रिया का उपयोग किया जाए। मेरा सुझाव है कि आप अपना डेटा जीत सकते हैं। यदि ठीक से लागू किया जाता है, तो आउटलेर्स के लिए विनोराइजेशन अपेक्षाकृत मजबूत हो सकता है। इस पृष्ठ पर: http://www.r-bloggers.com/winsorization/ , आपको आर-कोड लागू करने के लिए आर-कोड मिलेगा। यदि आप अपने डेटा को जीतना मानते हैं, तो आपको वितरण की पूंछ के बारे में सावधानी से सोचने की आवश्यकता होगी। क्या आउटलेरर्स के बहुत कम होने की उम्मीद है, या वे बहुत अधिक होने की उम्मीद कर रहे हैं, या शायद दोनों। यह प्रभावित करेगा कि आप 5% या 10% और / या 95% या 99% के स्तर पर winorise करते हैं।


1
समग्र अर्थ का अनुमान लगाने के उद्देश्य से, डेटा के किसी भी रुझान या मौसमी घटकों की अनुपस्थिति में कुछ समझ में आ सकता है, लेकिन अन्यथा महत्वपूर्ण जानकारी को नष्ट करने की धमकी देता है।
whuber

0

पूर्वानुमान के संदर्भ में, आउटलेर्स को हटाना बहुत खतरनाक है। उदाहरण के लिए, आप किराने की दुकान की बिक्री का पूर्वानुमान लगा रहे हैं। मान लीजिए कि पड़ोसी इमारत में गैस विस्फोट हुआ था, जिसके कारण आपको कुछ दिनों के लिए दुकान बंद करनी पड़ी। 10 साल में दुकान बंद होने का यह एकमात्र मौका था। तो, आपको समय श्रृंखला मिलती है, बाहरी का पता लगाएं, इसे हटाएं और पूर्वानुमान करें। आपने चुपचाप यह मान लिया कि भविष्य में ऐसा कुछ नहीं होगा। व्यावहारिक अर्थों में, आपने अपने देखे हुए विचरण को संकुचित कर दिया, और गुणांक भिन्नता सिकुड़ गई। इसलिए, यदि आप अपने पूर्वानुमान के लिए विश्वास बैंड दिखाते हैं, तो वे संकीर्ण हो जाएंगे, जैसे कि अगर आप बाहरी स्थिति को दूर नहीं करते हैं।

बेशक, आप एकमुश्त रख सकते हैं, और हमेशा की तरह आगे बढ़ सकते हैं, लेकिन यह एक अच्छा तरीका भी नहीं है। कारण यह है कि यह बाहरी गुणांक को तिरछा कर देगा।

मुझे लगता है कि इस मामले में एक बेहतर दृष्टिकोण वसा पूंछ के साथ त्रुटि वितरण के लिए अनुमति है, शायद एक स्थिर वितरण। इस मामले में आपकी अधिकता गुणांक को बहुत कम नहीं करेगी। वे एक बाहरी रूप से हटाए गए गुणांक के करीब होंगे। हालाँकि, त्रुटि त्रुटि वितरण में त्रुटि दिखाई देगी। अनिवार्य रूप से, आप व्यापक पूर्वानुमान विश्वास बैंड के साथ समाप्त होंगे।

विश्वास बैंड जानकारी का एक बहुत महत्वपूर्ण टुकड़ा व्यक्त करते हैं। यदि आप पूर्वानुमान लगा रहे हैं कि इस महीने बिक्री 1,000,000 डॉलर होगी , लेकिन 5% संभावना है कि वे $ 10,000 हो जाएंगे, तो यह आपके फैसले को खर्च करने, नकदी प्रबंधन आदि पर प्रभाव डालता है।


-1

निष्कासन का उपयोग करने (या नहीं) का अनुमान लगाने के लिए, निकाले गए आउटलेयर के साथ एक मॉडल भविष्य में होने वाले आउटलेयर की संभावना और इसके प्रभाव के अपेक्षित वितरण पर निर्भर करता है, अगर यह वास्तव में होता है। क्या इस के लिए प्रशिक्षण डेटा पर्याप्त है? एक बायेसियन दृष्टिकोण की मदद करनी चाहिए ...


1
यह गलत है। यदि आप आउटलेयर के लिए समायोजित नहीं करते हैं तो आपके पूर्वानुमान गलत हो सकते हैं, खासकर यदि आपके आउटलेयर श्रृंखला के अंत में हैं।
फोरकास्टर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.