ARIMA बनाम LSTM का उपयोग करके समय श्रृंखला की भविष्यवाणी


64

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

  • LSTM (दीर्घकालिक अल्पकालिक स्मृति; आवर्तक तंत्रिका नेटवर्क का एक वर्ग)
  • ARIMA

मैंने दोनों की कोशिश की है और उन पर कुछ लेख पढ़े हैं। अब मैं कोशिश कर रहा हूं कि दोनों की तुलना कैसे की जाए। मैंने अब तक क्या पाया है:

  1. अगर हम भारी मात्रा में डेटा के साथ काम कर रहे हैं और पर्याप्त प्रशिक्षण डेटा उपलब्ध है, तो LSTM बेहतर काम करता है, जबकि ARIMA छोटे डेटासेट के लिए बेहतर है (क्या यह सही है?)
  2. ARIMA को (p,q,d)कई मापदंडों की आवश्यकता होती है, जिनकी गणना डेटा के आधार पर की जानी चाहिए, जबकि LSTM को ऐसे पैरामीटर सेट करने की आवश्यकता नहीं है। हालांकि, कुछ हाइपरपरमेटर्स हैं जिन्हें हमें LSTM के लिए ट्यून करना होगा।
  3. संपादित करें: दोनों के बीच एक बड़ा अंतर जो मैंने यहां एक महान लेख पढ़ते समय देखा , वह यह है कि एआरआईएमए केवल स्थिर समय श्रृंखला (जहां कोई मौसमी, प्रवृत्ति और आदि नहीं है) पर अच्छा प्रदर्शन कर सकता है और आपको इसकी देखभाल करने की आवश्यकता है ARIMA का उपयोग करना चाहते हैं

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

मुझे यह उल्लेख करना होगा कि मूल रूप से मैं स्ट्रीमिंग डेटा के साथ काम कर रहा हूं, हालांकि अब मैं NAB डेटासेट का उपयोग कर रहा हूं जिसमें 20k डेटा बिंदुओं के अधिकतम आकार के साथ 50 डेटासेट शामिल हैं।



क्या आप कृपया LSTM का कोड साझा करना चाहेंगे? और धन्यवाद।
मदद

जवाबों:


25

कथन 1 सही है, कथन 2 सही है, लेकिन विस्तार की आवश्यकता है, और कथन 3 मौसमी ARIMA के लिए गलत है:

निम्नलिखित आपको सही दिशा में इंगित कर सकता है, लेकिन उम्मीद है कि आपको LSTM के क्षेत्र में अधिक गहराई के साथ कुछ और उत्तर मिलेंगे।

आप उल्लेख करते हैं कि आपने दोनों एल्गोरिदम की कोशिश की है और आप बस यह पता लगाने की कोशिश कर रहे हैं कि कौन सा बेहतर है, जो मुझे लगता है कि आपको डेटा विज्ञान प्रक्रिया के साथ अधिक परेशानी हो सकती है और मॉडल की बारीकियों की तुलना में सत्यापन को पार कर सकती है।

सामान्य रूप से समय श्रृंखला:

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

ARIMA

आप अपने आकलन में गलत हैं कि ARIMA को पूर्वानुमान के लिए स्थिर समय श्रृंखला की आवश्यकता है। गैर-मौसमी ARIMA के पास स्मूथिंग, स्टेशनरी, और पूर्वानुमान ARIMA (पी, डी, क्यू) के नियंत्रण में मदद करने के लिए तीन इनपुट मान हैं , जहां:

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

इसके विपरीत मौसमी ARIMA में छह इनपुट मान ARIMA (p, d, q, P, D, Q) हैं, जहां:

  • P मौसमी स्वायत्तता शर्तों की संख्या है,
  • डी मौसमी मतभेदों की संख्या है, और
  • Q मौसमी चलती-औसत शर्तों की संख्या है।

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

LSTM

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

  • चलाने में लंबा समय लग सकता है,
  • अक्सर अन्य मॉडलों की तुलना में प्रशिक्षित करने के लिए अधिक डेटा की आवश्यकता होती है, और
  • ट्यून करने के लिए बहुत सारे इनपुट पैरामीटर हैं।

क्रॉस सत्यापन और तुलना मॉडल:

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

उम्मीद है इससे मदद मिलेगी और सौभाग्यशाली हो!


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

लेकिन अगर आपके पास स्ट्रीमिंग डेटा है तो आप स्ट्रीम को सेव करके इसे टेस्टिंग डेटा में बदल सकते हैं। समय श्रृंखला के बारे में अच्छा हिस्सा यह है कि आप हमेशा किसी भी डेटा सेट से परीक्षण डेटा सेट बना सकते हैं। आपको बस कुछ डेटा को सहेजने और फिर बैक टाइम रोल करने की आवश्यकता है।
AN6U5

मुझे पता है कि यह एक प्रकार का वृद्ध है, लेकिन मुझे यहां असहमत होना पड़ता है। डी, डी पैरामीटर विभेदकों के लिए हैं जैसे @ AN6U5 कहते हैं, लेकिन पहली जगह में इन मतभेदों को करने का कारण समस्या पर स्टेशनरी को लागू करना है। वास्तव में एआरआईएमए मॉडल की एक व्याख्या यह है कि समय-श्रृंखला पर स्थिरता को लागू करने के संदर्भ में सिर्फ रेखीय प्रतिगमन है।
रयान

6

@ AN6U5 की प्रतिक्रिया में जोड़ना।

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

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


2

ARIMA मॉडल रैखिक हैं और LSTM मॉडल नॉनलाइनियर हैं। कुछ अन्य पैरामीट्रिक नॉनलेयर टाइम सीरीज़ मॉडल, जिनका अध्ययन स्टैटिस्टिशियन ने किया है, वे हैं थ्रेसोल्ड ऑटोरेग्रेसिव मॉडल्स (टीएआर) और स्मूथ ट्रांज़िशन ऑटोरेजिव मॉडल (स्टार)। आर पैकेज tsDyn इन मॉडलों को लागू करता है।

मुझे आश्चर्य है कि कैसे स्टार मॉडल बनाम LSTM करते हैं।


2

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


1

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

वास्तव में, LSTM सिर्फ '1' लैग के साथ, या ARIMA (1,0,0) के साथ सबसे अच्छा प्रदर्शन करेगा क्योंकि 1 से अधिक समय अंतराल के साथ डेटा संग्रहीत करने में मदद नहीं करता है। इस तरह की समय श्रृंखला के लिए, मैं कहूंगा कि, प्रदर्शन के प्रदर्शन के संदर्भ में, 1) एआरआईएमए, 2) एलएसटीएम, 3) एमएलपी। अंतिम टिप्पणी ... मैक्रो / माइक्रो आर्थिक मापदंडों के साथ एमएलपी (कहते हैं, जीडीपी अंतर, बॉन्ड दरें, कच्चे तेल की कीमत, डॉलर इंडेक्स, आदि) अतिरिक्त सुविधाओं के रूप में भी काम नहीं किया।

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