लापता मूल्यों और / या अनियमित समय श्रृंखला के साथ आर फोरकास्ट पैकेज का उपयोग करना


16

मैं आर forecastपैकेज से प्रभावित हूं , साथ ही zooअनियमित समय श्रृंखला के लिए पैकेज और लापता मूल्यों के प्रक्षेप।

मेरा आवेदन कॉल सेंटर ट्रैफ़िक पूर्वानुमान के क्षेत्र में है, इसलिए सप्ताहांत पर डेटा (लगभग) हमेशा गायब रहता है, जिसे अच्छी तरह से निपटाया जा सकता है zoo। इसके अलावा, कुछ असतत बिंदु गायब हो सकते हैं, मैं सिर्फ आर के NAलिए उपयोग करता हूं ।

बात यह है: पूर्वानुमान पैकेज के सभी अच्छे जादू, जैसे eta(), auto.arima()आदि, सादे tsवस्तुओं की अपेक्षा करते हैं, अर्थात समकालिक समय श्रृंखला जिसमें कोई लापता डेटा नहीं है। मुझे लगता है कि सम-विषम समय श्रृंखला के लिए वास्तविक दुनिया के आवेदन निश्चित रूप से अस्तित्व में हैं, लेकिन - मेरी राय में - बहुत सीमित।

कुछ असतत NAमूल्यों की समस्या को आसानी से किसी भी प्रस्तावित प्रक्षेप कार्यों का उपयोग करके हल किया जा सकता zooहै forecast::interp। उसके बाद, मैं पूर्वानुमान चलाता हूं।

मेरे सवाल:

  1. क्या कोई बेहतर उपाय सुझाता है?
  2. (मेरा मुख्य प्रश्न) कम से कम मेरे एप्लिकेशन डोमेन में, कॉल सेंटर ट्रैफ़िक फोरकास्टिंग (और जहाँ तक मैं अधिकांश अन्य समस्या डोमेन की कल्पना कर सकता हूँ), टाइम सीरीज़ समान नहीं हैं। कम से कम हमारे पास "व्यावसायिक दिन" योजना या कुछ और है। इसे संभालने का सबसे अच्छा तरीका क्या है और अभी भी पूर्वानुमान पैकेज के सभी शांत जादू का उपयोग करें?

    क्या मुझे सप्ताहांतों को भरने के लिए टाइम सीरीज़ को "कंप्रेस" करना चाहिए, क्या पूर्वानुमान है, और फिर सप्ताहांत में एनए मूल्यों को फिर से सम्मिलित करने के लिए डेटा को फिर से "फुलाओ"? (यह एक शर्म की बात होगी, मुझे लगता है?)

    क्या चिड़ियाघर या इसके जैसे अनियमित समय श्रृंखला पैकेज के साथ पूर्वानुमान पैकेज को पूरी तरह से संगत बनाने की कोई योजना है? यदि हाँ, तो कब और यदि नहीं, तो क्‍यों नहीं?

मैं पूर्वानुमान के लिए काफी नया हूं (और सामान्य रूप से आंकड़े), इसलिए मैं कुछ महत्वपूर्ण अनदेखी कर सकता हूं।


साइट और पूर्वानुमान के लिए आपका स्वागत है! सम-विषम समय श्रृंखला के लिए वास्तविक विश्व अनुप्रयोग निश्चित रूप से बहुत सीमित नहीं हैं । मुझे लगता है कि प्रचारक मांग से निपटने के लिए हाथ पर पर्याप्त उत्पाद रखने वाले आपके सुपरमार्केट में जाने वाले पूर्वानुमान के बारे में थोड़ा पता है, और मेरा विश्वास करो, उन लाखों समय श्रृंखला (1,000 दुकानों में 20,000 SKU बहुत आम है) वास्तव में बहुत समान हैं। (क्षमा करें, लेकिन आपने इसके लिए पूछा है ...) लेकिन मैं एक मिनट में आपके लिए कुछ और मददगार होने की कोशिश करूंगा।
स्टीफन कोलासे

2
क्या आप अधिक स्पष्ट हो सकते हैं कि कॉल सेंटर डेटा क्यों नहीं है? (शायद मुझे गलतफहमी है कि आप "समरूप" से क्या मतलब है।) कॉल सेंटर के पूर्वानुमान के तरीकों को मैंने आमतौर पर इनकमिंग कॉल को 15 मिनट के अंतराल में देखा है, जो "समान" की मेरी परिभाषा को पूरा करता है। फिर हमें जटिल मौसमी (इंट्रा-दैनिक, इंट्रा-साप्ताहिक, वार्षिक) से निपटना होगा , जिसके लिए यह विषय आपकी मदद कर सकता है: आंकड़े.stackexchange.com/questions/44704/… क्या यह आपके प्रश्न का उत्तर देता है? यदि नहीं, तो हमें बताएं कि आपको और क्या चाहिए।
Stephan Kolassa

5
auto.arimaलापता मूल्यों को संभाल सकता है।
रोब हंडमैन

1
सभी रचनात्मक टिप्पणियों के लिए धन्यवाद! स्टीफ़न, मेरा डेटा दो तरीकों से समान नहीं है: 1. कई कॉल सेंटर सिर्फ शनिवार और रविवार को बंद रहते हैं। कुछ रविवार को बंद रहते हैं। तो दो आसन्न डेटा बिंदुओं के बीच "सामान्य" स्थान एक दिन है, शुक्र से सोम को छोड़कर, जो तीन दिन का है। तो स्पेस न के बराबर है, यानी न के बराबर। दूसरा, कहीं न कहीं यादृच्छिक रूप से गायब डेटा हो सकता है क्योंकि वे उस दिन या जो भी हो, अपने माप उपकरण को चालू करना भूल गए। मुझे उम्मीद है कि इससे मेरी बात साफ हो जाएगी।
entreprogreur

1
बस (उत्तेजक) विचार आया। यदि आप कहते हैं कि सप्ताह के अंत में कॉल सेंटर बंद हैं। फिर आपके पास कोई लापता डेटा नहीं है। आपकी समय-श्रृंखला मो-फ्रू तक फैली हुई है। पांच दिन। काफी समान। सप्ताहांतों की व्याख्या करना मुझे औपचारिक रूप से गलत लगता है, क्योंकि आप जानते हैं कि कोई भी कॉल नहीं होता है और आपके द्वारा लगाई गई कोई भी जानकारी गलत है। मेरा तर्क है कि आप डेटा का आविष्कार करके एक अनुमान को कभी नहीं सुधार सकते हैं ...
मतलब-टू-अर्थ

जवाबों:


1

मैं एक आर विशेषज्ञ नहीं हूं इसलिए शायद एक सरल तरीका है लेकिन मैं इससे पहले आया हूं। मैंने पहले जो किया था वह एक फ़ंक्शन को लागू करता है जो वास्तविक तिथियों के बीच की दूरी (समय इकाइयों में) को मापता है और मौजूदा डेटा श्रृंखला में एक नए कॉलम में बचाता है। तो हमारे पास कुछ ऐसा है:

index/date | value | distance  
01.01.2011 |  15   |   1  
02.01.2011 |  17   |   3  
05.01.2011 |  22   |   ..   

इस तरह, यदि आपकी समय श्रृंखला अभी तक अंकों की वास्तविक श्रृंखला (या गलत प्रारूप या जो भी हो) से संबद्ध नहीं है, तो आप अभी भी इसके साथ काम कर सकते हैं।

इसके बाद, आप एक फ़ंक्शन लिखते हैं जो आपके लिए एक नई समय श्रृंखला बनाता है, जैसे:

सबसे पहले, आप गणना करते हैं कि समय श्रृंखला की कितनी इकाइयाँ वास्तव में आपके चॉजिंग की तारीखों के बीच होंगी और चिड़ियाघर या ts में या जो भी विकल्प खाली मानों के साथ है, उस समय को बनाएं।

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

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

यदि लूप अंतिम तिथि पर पहुंचता है तो आप अपना नया ts वापस करते हैं।

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


धन्यवाद, IMA, उपयोगी उत्तर के लिए! इसलिए, अब मैं क्या कर रहा हूं: गायब हो रहे मूल्यों के लिए, मैं लापता डेटा को भरने के लिए प्रक्षेप (साथ ही उपयोगकर्ता द्वारा प्रदान किए गए "समायोजन") का उपयोग करता हूं। IMA, आगे बढ़ाने में आपका जवाब जो बहुत मददगार है। सप्ताहांत जैसे "नियमित" लापता डेटा के लिए, मैं अपने डेटा को एक दूसरे में बदल देता हूं, "छद्म" केवल पूर्वानुमान उद्देश्यों के लिए ts, और फिर परिणाम को "सही" समय श्रृंखला में बदल देता है, ताकि पूर्वानुमान में भी लापता मान होंगे सप्ताहांत में। मैं अभी भी सप्ताहांत में नियमित "अंतराल" को संभालने के तरीके के बारे में अधिक सुरुचिपूर्ण सुझाव के लिए आभारी रहूंगा।
entreprogreur

@entreprogreur, मैंने जवाब नहीं दिया, आईएमए ने किया। IMA का पूरा श्रेय यहां मिलता है। मैंने सिर्फ स्वरूपण को ट्विक किया ताकि यह अच्छी तरह से प्रदर्शित हो।
गुंग - को पुनः स्थापित मोनिका

1

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


0

जैसा कि @Remi ने कहा, मैं इस डेटा पर मॉडल का अनुमान लगाने से पहले डेटा को इंटरपोल नहीं करूंगा। यह एक बुरा विचार है। एक चरम उदाहरण: कल्पना कीजिए कि आपके पास दो डेटा बिंदु हैं जनवरी 2013 और जनवरी 2014। अब बीच में 10 मासिक बिंदुओं को प्रक्षेपित करें: दिसंबर 2013 के माध्यम से फ़रवरी, और मासिक तिथि पर प्रतिगमन चलाएँ। हकीकत में यह बुरा नहीं होने वाला है, लेकिन यह एक ही विचार है: आप अपने आँकड़ों को सबसे अच्छा कर रहे हैं।

जाने का तरीका समय श्रृंखला विधियों का उपयोग करना है जो लापता डेटा को संभालते हैं। उदाहरण के लिए, राज्य के अंतरिक्ष के तरीके। एस्टा आर पैकेज पर एक नजर । यह समय श्रृंखला विश्लेषण पर एक उत्कृष्ट पुस्तक के साथ आता है। यह लापता डेटा को अच्छी तरह से संभाल लेगा। Matlab में अब ssm पैकेज में समान कार्यक्षमता है । आपको अपने मॉडलों को राज्य के अंतरिक्ष रूप में परिवर्तित करना सीखना होगा, लेकिन अगर आपको auto.arima"जादू" से दूर हटना है तो आपको यह सीखना होगा ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.