बहुभिन्नरूपी श्रृंखला श्रृंखला भविष्यवाणी के लिए वेक्टर प्रतिगमन का समर्थन करें


22

क्या किसी ने सपोर्ट वेक्टर रिग्रेशन का उपयोग करते हुए समय श्रृंखला भविष्यवाणी का प्रयास किया है?

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

मैंने कुछ पेपर पढ़ने की कोशिश की है, लेकिन वे बहुत उच्च स्तर के हैं। क्या कोई व्यक्ति इस संदर्भ में व्याख्या कर सकता है कि वे कैसे काम करेंगे, विशेष रूप से मल्टीवेरेट समय श्रृंखला के संबंध में?

संपादित करें: थोड़ा विस्तार करने के लिए, मुझे स्टॉक मूल्य उदाहरण के साथ समझाने की कोशिश करें।

कहें कि हमारे पास एन दिनों के लिए स्टॉक की कीमतें हैं। फिर, प्रत्येक दिन के लिए हम एक सुविधा वेक्टर का निर्माण कर सकते हैं, जो एक साधारण मामले में, पिछले दिन की कीमत और वर्तमान दिन की कीमत हो सकती है। प्रत्येक सुविधा वेक्टर के लिए प्रतिक्रिया अगले दिन की कीमत होगी। इस प्रकार, कल की कीमत और आज की कीमत को देखते हुए उद्देश्य अगले दिनों की कीमत का अनुमान लगाना होगा। जो मुझे समझ नहीं आ रहा है, मान लें कि हमारे पास छह महीने का प्रशिक्षण डेटा है, तो आप हाल ही में फ़ीचर वैक्टरों पर अधिक जोर कैसे देंगे?


क्या आप उन कागजों को पोस्ट कर सकते हैं जिनका आप उल्लेख कर रहे हैं?
राम अहलुवालिया

1
एक स्थानीय समर्थन वेक्टर प्रतिगमन मशीन, रोड्रिगो फर्नांडीज, के साथ समय श्रृंखला भविष्यवाणी svms.org/regression/Fern.pdf वित्तीय समय श्रृंखला पूर्वानुमान के लिए समर्थन वेक्टर प्रतिगमन, वी हाओ और सोंनिया यू, springerlink.com/index/946802600u4552m8.pdf
बयान करनेवाला

जवाबों:


18

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

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

एक समय श्रृंखला के साथ, एक आयात चरण यह निर्धारित कर रहा है कि आपका "फ़ीचर वेक्टर" क्या होगा; प्रत्येक x i को "सुविधा" कहा जाता है और वर्तमान या पिछले डेटा से गणना की जा सकती है, और प्रत्येक y i , प्रतिक्रिया, जो भी आप भविष्यवाणी करने की कोशिश कर रहे हैं, के कुछ समय की अवधि में भविष्य का परिवर्तन होगा। उदाहरण के लिए एक स्टॉक लें। आपके पास समय के साथ कीमतें हैं। हो सकता है कि आपकी सुविधाएँ a।) 200MA-30MA फैली हुई हों और b।) 20-दिन की अस्थिरता हो, इसलिए आप प्रत्येक x t को समय के साथ-साथ y t में परिकलित करते हैं।एक्सएक्समैंyमैंएक्सटीyटी, (कहते हैं) उस शेयर पर सप्ताह की वापसी के बाद। इस प्रकार, आपका एसवीआर सीखता है कि वर्तमान एमए प्रसार और 20-दिवसीय वॉल्यूम के आधार पर अगले सप्ताह की वापसी की भविष्यवाणी कैसे करें। (यह रणनीति काम नहीं करेगी, इसलिए बहुत उत्साहित न हों;))।

यदि आपके द्वारा पढ़े गए पेपर बहुत कठिन थे, तो आप शायद स्वयं SVM को लागू करने का प्रयास नहीं करना चाहते, क्योंकि यह जटिल हो सकता है। IIRC में R के लिए एक "kernlab" पैकेज है जिसमें कई कर्नेल के साथ कर्नेल SVM कार्यान्वयन शामिल है, ताकि उठने और चलने का त्वरित तरीका उपलब्ध हो सके।


@ जेसन, प्रतिक्रिया के लिए धन्यवाद। मैं उलझन में हूं कि प्रशिक्षण के दौरान पुराने डेटा को कम महत्वपूर्ण कैसे बनाया जाए, अर्थात पिछले 10,000 उदाहरणों के बजाय अंतिम कहने वाले 100 उदाहरणों को कैसे महत्वपूर्ण दिया जाए। इसके अलावा, मुझे पायथन में एसवीएम के साथ काम करने का कुछ अनुभव है, इसलिए मैं इसका उपयोग करना चाह रहा हूं।
राशनटूर

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

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

2
ओह, मैं देख रहा हूं कि अब आपका क्या मतलब है। संक्षिप्त उत्तर है, आप कम से कम एसवीएम को पुनरावृत्ति के बिना नहीं सुन सकते हैं, जो कि भजन की धारणा को समझने के लिए है। एक SVM को xy जोड़े के रूप में परिभाषित किया जाता है, जिसे xy जोड़े का आदेश नहीं दिया जाता है, और इसलिए यह जिस उद्देश्य फ़ंक्शन को कम करता है, वह कहा जाता है। OTOH, आप कई अलग-अलग SVM चला सकते हैं, एक पिछले महीने के साथ, एक पिछले वर्ष के साथ, और एक पिछले दो वर्षों के साथ - और फिर उन प्रतिक्रियाओं का एक भारित औसत कर सकते हैं जो आपको हाल ही के लिए आपकी व्यक्तिगत पसंद के आधार पर वापस मिलती हैं। पुराने डेटा (उदाहरण के लिए 0.7 * पिछले महीने + 0.2 * पिछले वर्ष + 0.1 * पिछले 2 साल)।
विलियम

@William .. क्या आपके पास कोई सिफारिश है कि कौन सी मशीन लर्निंग एल्गोरिदम एसवीएम के अलावा अन्य समय की भविष्यवाणी (रेकोन्टेयूर से पूछे जाने वाली एक ही समस्या) के लिए सबसे अच्छा होगा? अलग-अलग डोमेन में लागू होने पर उत्तर अलग होगा? जैसे शेयर की कीमत बनाम आपूर्ति श्रृंखला का पूर्वानुमान (हमारे द्वारा बेचे जा रहे उत्पादों की मांग का पूर्वानुमान
Lam

1

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

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

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

सौभाग्य!


हमारी साइट पर आपका स्वागत है!
kjetil b halvorsen

0

वित्तीय श्रृंखला का पूर्वानुमान करने के लिए एक SVM का उपयोग करने के लिए क्वांटम फाइनेंसर पर एक उदाहरण है । इसे आसानी से एक वर्गीकरण प्रणाली (लांग / शॉर्ट) से एक प्रतिगमन प्रणाली में परिवर्तित किया जा सकता है।


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

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