क्या भविष्यवाणी के लिए स्प्लिन का उपयोग किया जा सकता है?


20

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

हर महीने जुड़ने वाले लोगों की संख्या बड़ी (100,000 की सीमा में) है और तीनों में से किसी एक को करने वाली संख्या हजारों में है। हालाँकि, हम व्यक्तिगत स्तर के डेटा का उपयोग नहीं कर रहे हैं (जो कि लाखों पंक्तियाँ होंगी) लेकिन महीने और कॉहोर्ट द्वारा एकत्र किए गए डेटा (प्रत्येक कॉहोर्ट का अनुपात प्रत्येक महीने प्रत्येक कार्य को क्या करते हैं)।

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

क्या यह एक वैध तरीका है? क्या चिंताएँ हैं और क्या उन्हें संबोधित किया जा सकता है?


2
बेशक वे भविष्यवाणी के लिए इस्तेमाल किया जा सकता है, लेकिन आपको यह ध्यान देने की आवश्यकता होगी कि मॉडल हाइपरपरमेटर्स को ठीक से कैसे ट्यून किया जाए। तख़्ता समारोह (स्थिर, रैखिक, घन) की पसंद भी महत्वपूर्ण चिंताएं हैं। IIRC, MARS में लीनियर स्पलाइन फ़ंक्शंस का आमतौर पर उपयोग किया जाता है, और उच्च-क्रम वाले स्प्लिन एक्सट्रपलेशन / ओवरफिटिंग के लिए एक चिंता से बचते हैं।
साइकोरैक्स का कहना है कि मोनिका

1
क्या कोई ऐसी चीज है जिसके बारे में आप विशेष रूप से चिंतित हैं, जो आपको एक ऐसी विधि पर संदेह करने के लिए प्रेरित करेगी जिसका आप उपयोग कर रहे हैं? आपकी सटीकता अप्रत्याशित रूप से कम लग रही है, या ऐसा कुछ? क्या आपने अन्य तरीके आजमाए हैं? वे कैसे तुलना करते हैं?
one_observation

1
@ स्कोलॉजिस्ट मुख्य रूप से यह है कि वे नए मूल्यों के लिए बहुत दूर होंगे क्योंकि गांठें और रेखाएं उन मूल्यों पर आधारित होती हैं जो अतीत में हैं। तो, कहते हैं, एक रैखिक रेखा जो कहती है कि "2014 के बाद हर साल XXX के लिए वृद्धि" केवल 2015 के आंकड़ों पर आधारित होगी, लेकिन अगर 2016 में लागू किया जाता है, तो उसी दिशा में जारी रहेगा।
पीटर Flom - को पुनः स्थापित मोनिका

3
@PeterFlom: मैं वास्तव में आपके प्रश्न के बारे में बहुत उलझन में था (भविष्यवाणी के लिए बहुत सामान्य हैं) जब तक कि मैं सोफ़ोलॉजिस्ट के लिए आपकी प्रतिक्रिया नहीं पढ़ता। मैंने आपके प्रश्न को ठीक उसी तरह जोर देने में मदद करने के लिए संपादित किया है जो मुझे लगता है कि आपकी चिंता है। समीक्षा करें।
एबी एबी

2
@PeterFlom: मेरे संपादन को सही मानते हुए, क्या आप समय के प्रभाव को तख़्तापलट कर रहे हैं? यदि हां, तो मैं काफी चिंतित हूं। हालाँकि, यदि आप समय के प्रभाव को शिथिलता और अन्य covariates के साथ splines के साथ मॉडलिंग कर रहे हैं, तो मुझे कोई समस्या नहीं होगी?
क्लिफ एबी

जवाबों:


15

प्रश्न की मेरी व्याख्या से, आप जो अंतर्निहित प्रश्न पूछ रहे हैं, वह है कि आप समय रेखा के रूप में मॉडल कर सकते हैं या नहीं।

पहला प्रश्न मैं उत्तर देने का प्रयास करूंगा कि क्या आप अपने डेटा को एक्सट्रपलेट करने के लिए स्प्लिन का उपयोग कर सकते हैं या नहीं। संक्षिप्त उत्तर यह निर्भर करता है, लेकिन समय के बहुमत, अतिरिक्त के लिए विभाजन महान नहीं हैं। स्प्लिन्स अनिवार्य रूप से एक प्रक्षेप विधि है, वे उस स्थान को विभाजित करते हैं जहां आपका डेटा निहित है, और प्रत्येक विभाजन पर वे एक साधारण रजिस्ट्रार फिट करते हैं। तो चलो MARS की विधि को देखते हैं। MARS विधि को है, जहां MARS मॉडल में i'th शब्द पर स्थिर है , i'th शब्द का आधार फ़ंक्शन है, और

^(एक्स)=Σमैं=1nαमैंबीमैं(एक्स[मैं])
αमैंबीमैंएक्स[मैं]i'th अवधि में आपके फ़ीचर वेक्टर से चयनित फ़ीचर का प्रतिनिधित्व करता है। आधार फ़ंक्शन या तो एक स्थिरांक हो सकता है या एक काज फ़ंक्शन (रेक्टिफायर) हो सकता है। काज फ़ंक्शन केवल काज फ़ंक्शन क्या मॉडल को एक टुकड़ा- रेखीय रैखिक फ़ंक्शन बनाने के लिए मजबूर करता है (यह ध्यान रखना दिलचस्प है कि एक सुधारा हुआ रैखिक सक्रियण फ़ंक्शन वाला एक तंत्रिका नेटवर्क हो सकता है MARS मॉडल के सुपरसेट मॉडल के रूप में देखा जाता है)।
एक्स(0,एक्स[मैं]+सीमैं)

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

^(एक्स)=5+एक्स(0,एक्स-5)+2एक्स(0,एक्स-10)

10फ़ंक्शन अब MARS मॉडल जो अब से पहले हमारे पास था एक एकल रैखिक फ़ंक्शन के लिए फोड़ा जाता है और इसलिए MARS मॉडल की शक्ति गायब हो जाती है (यह है बहुमत के मामले "सक्रिय" "। नंबर से पहले एक्सट्रपलेशन के लिए भी यही बात होगी । MARS मॉडल का आउटपुट तो बस एक स्थिर होगा। यही कारण है कि समय के बहुमत, विभाजन अतिरिक्तकरण के लिए अनुकूल नहीं हैं। यह आपके पोस्ट की टिप्पणियों में आपके द्वारा बताई गई समस्या के बारे में भी बताता है, जिसके बारे में एक्सट्राप्रोलेटेड भविष्यवाणियों में "नए मूल्यों के लिए बहुत दूर" है और यह कि वे अलग-अलग समय श्रृंखला के लिए "एक ही दिशा में जारी" रहते हैं।
^(एक्स)=10+2(एक्स-10)=2एक्स-10
5

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

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

यदि आपके पास जो समय श्रृंखला है, वह बहुत लंबी है और इसमें दीर्घकालिक निर्भरता हो सकती है, तो मैं एक जीआरयू या एलएसटीएम जैसी गेटेड आवर्तक नेटवर्क का उपयोग करने की सलाह देता हूं।

समय श्रृंखला वर्गीकरण के अधिक शास्त्रीय पक्ष पर आप छिपे हुए मार्कोव मॉडल का उपयोग कर सकते हैं। मैं इनमें आगे नहीं जाऊंगा, क्योंकि मैं उनसे परिचित नहीं हूं।

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

उम्मीद है की यह मदद करेगा।

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