पूर्वानुमान के लिए कलमन फ़िल्टरिंग के साथ डीएलएम का उपयोग कैसे करें


19

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

89  2009Q1  
82  2009Q2  
89  2009Q3  
131 2009Q4  
97  2010Q1  
94  2010Q2  
101 2010Q3  
151 2010Q4  
100 2011Q1  
?   2011Q2

मैं एक आर कोड कुकबुक-शैली की तलाश कर रहा हूं कि कैसे उत्तर-चरण-दर-चरण प्रकार। भविष्यवाणी की सटीकता मेरा मुख्य लक्ष्य नहीं है, मैं सिर्फ कोड का अनुक्रम सीखना चाहता हूं जो मुझे 2011Q2 के लिए एक नंबर देता है, भले ही मेरे पास पर्याप्त डेटा न हो।


3
यह आँकड़ो पर बेहतर उत्तर प्राप्त कर सकता है ।stackexchange.com
जोशुआ उलरिच

टक्कर ... मुझे अभी भी समझ नहीं आ रहा है कि यह कैसे करना है। मूल पोस्ट का जवाब देने पर कोई लेने वाला?
डेटायोडा

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

क्या आपको अपनी समस्या का हल मिल गया है? मैं इसी प्रकार की टाइमसीज़ समस्या के समाधान की तलाश में हूं लेकिन समाधान खोजने में असमर्थ हूं।

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

जवाबों:



16

DLM शांत हैं, लेकिन वे उतने सरल नहीं हैं, जैसे ARIMA या अन्य तरीके। अन्य तरीकों में, आप अपने डेटा को प्लग इन करते हैं और फिर एल्गोरिथ्म के कुछ मापदंडों को ट्विक करते हैं, शायद अपनी सेटिंग्स को निर्देशित करने के लिए विभिन्न डायग्नोस्टिक्स का जिक्र करते हैं।

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

साथ dlmआप करने जा रहे हैं मूल रूप से कई कदम उठाएँ:

  1. किस प्रकार के घटक मेरी श्रृंखला का वर्णन करते हैं? एक प्रचलन? मौसमी? बहिर्जात चर? आप इन घटकों को लागू करने dlmजैसे उपकरणों का उपयोग करेंगे dlmModPoly, +ऑपरेटर को एक मॉडल में एक साथ जोड़ने के लिए उपयोग करेंगे।

  2. एक आर सबरूटीन बनाएं जो इस मॉडल द्वारा कई मापदंडों की आवश्यकता होती है, उन मापदंडों के साथ घटक बनाता है, फिर उन्हें एक साथ जोड़ता है और परिणामी मॉडल को वापस करता है।

  3. का प्रयोग करें dlmMLEउचित मानकों (MLE, जो मूल रूप से अनुकूलन है, का उपयोग कर नुकसान कि अनुकूलन में हो सकता है के साथ) को खोजने के लिए एक खोज / अनुकूलन करने के लिए। dlmMLEमॉडल बनाने के लिए बार-बार उम्मीदवार मापदंडों के साथ अपने आर सबरूटीन को कॉल करते हैं, फिर उनका परीक्षण करते हैं।

  4. अपना अंतिम मॉडल बनाएं, आपके द्वारा बनाए गए R सबरूटीन का उपयोग करते हुए प्लस जो आपको चरण 3 में मिला है।

  5. के साथ अपने डेटा को फ़िल्टर करें dlmFilter, तो शायद साथ चिकनी dlmSmooth

  6. यदि आप dlmModRegउस मॉडल का उपयोग करते हैं या करते हैं, जिसके कारण समय-भिन्न पैरामीटर हैं, तो आप dlmForecastअपनी श्रृंखला का पूर्वानुमान लगाने के लिए उपयोग नहीं कर सकते हैं । यदि आप टाइम-वैरिएंट मॉडल के साथ काम करते हैं, तो आप NA के साथ अपने इनपुट डेटा को भरना चाहेंगे और dlmFilterएनए के लिए आपको भरना होगा (खराब आदमी का पूर्वानुमान), क्योंकि dlmForecastसमय-भिन्न मापदंडों के साथ काम नहीं करता है।

  7. यदि आप घटकों को व्यक्तिगत रूप से जांचना चाहते हैं (प्रवृत्ति को अलग से, मौसमी से कहें), तो आपको मैट्रिसेस को समझने की आवश्यकता होगी और प्रत्येक कॉलम में क्या होगा, साथ ही थोड़ा समझें कि कैसे dlmउन्हें एक साथ रखा जाता है (ऑर्डर मायने रखता है!)।

एक और पैकेज है, जिसका नाम मुझसे बचता है, जो एक फ्रंट एंड बनाने की कोशिश करता है जो इन पैकेजों में से कई का उपयोग कर सकता है ( dlmबैक एंड के रूप में)। दुर्भाग्य से, मैं इसे अच्छी तरह से काम करने के लिए कभी नहीं मिला है, लेकिन यह सिर्फ मुझे हो सकता है।

मैं वास्तव में DLM पर एक पुस्तक प्राप्त करने की सलाह दूंगा। मुझे उनमें से एक जोड़ा मिला है और dlmजहां मैं हूं, वहां जाने के लिए बहुत खेला और मैं किसी भी तरह से विशेषज्ञ नहीं हूं।


धन्यवाद वेन, मुझे लगता है कि मेरा मामला इस तरह से काफी सरल है कि मैंने दृश्य निरीक्षण में किसी भी स्पष्ट रुझान या मौसमी को नहीं देखा। (हालांकि, यदि आप आर में किसी भी परीक्षण के बारे में जानते हैं, तो कृपया मुझे बताएं, मैं उन्हें चलाने की कोशिश करूंगा)। मेरी समस्या यह है कि मुझे नहीं पता कि अपने डेटा के लिए dlm फ़ंक्शंस में (FF, V, GG, W, m0, C0, dV आदि) जैसे तर्कों को कैसे भरें? यह मेरे लिए मुख्य मुद्दा है। यदि मेरे पास एक द्विभाजित श्रृंखला डेटा (y = X1 + X2) उदा (मूल्य = मांग + आपूर्ति) है, तो मैं अपने डेटा के लिए इन तर्कों की गणना कैसे कर सकता हूं? FF, V, GG, W, m0, C0, dV आदि जो
dlm

1
@nclfinance कृपया अक्सर पूछे जाने वाले प्रश्न पढ़ें और इस स्थान को एक मंच के रूप में न मानें।

@nclfinance: dlmपैकेज के विगनेट के माध्यम से कार्य करें । आप सीखेंगे कि आपको क्या जानना है। इसलिए मैं आपको सलाह देता हूं dlm, क्योंकि आप एफएफ, आदि का निर्माण नहीं करते हैं।
वेन

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