नियमितीकरण या दंड के साथ एक ARIMAX मॉडल फिट करना (जैसे कि लासो, लोचदार नेट, या रिज प्रतिगमन के साथ)


29

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

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

संपादित करें: क्या यह AR और MA की शर्तों (AR5 और MA5 के अनुसार) और मॉडल को फिट करने के लिए glmnet का उपयोग करने के लिए मैन्युअल रूप से गणना करने के लिए समझ में आएगा?

2 संपादित करें: ऐसा लगता है कि FitAR पैकेज मुझे वहाँ का हिस्सा है, लेकिन सभी नहीं है।


2
मुझे यह जानने की उत्सुकता होगी कि क्या आप कभी इस समस्या के बारे में कुछ करने में कामयाब रहे हैं। मैंने इसे किसी भी अपडेट के लिए चिन्हित किया था - इसलिए यहां सिर्फ टचिंग बेस।
विशाल बेलसरे

इसे हल करने के लिए कभी प्रयास नहीं किया। मैंने अपने कार्यान्वयन को लिखने के बारे में सोचा, लेकिन इसके आसपास नहीं पहुंचा। हो सकता है कि आप मैन्युअल रूप से AR और MA शब्दों की गणना कर सकते हैं और फिर उस डेटा पर glmnet लागू कर सकते हैं?
Zach

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

3
@MattWeller मैंने R. Hyndman के साथ forecastR के लिए उत्कृष्ट पैकेज के लेखक के साथ थोड़ी बात की । उन्होंने कहा कि यह पूर्ण ARIMA के साथ मुश्किल होगा, क्योंकि आपको nonlinear ARIMA ऑप्टिमाइज़र के चारों ओर लसो लपेटना होगा। एक आंशिक समाधान glmnetअंतराल वाले चर के साथ एआर मॉडल को फिट करने के लिए होगा । जहाँ तक मुझे पता है, किसी ने अभी तक पूर्ण ARIMA मॉडल के साथ ऐसा नहीं किया है।
Zach

जवाबों:


7

यह एक समाधान नहीं है, लेकिन संभावनाओं और कठिनाइयों पर कुछ प्रतिबिंब हैं, जो मुझे पता है।

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

Yt+1=xtβ+ϵt+1
xtβxt

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

Yt+1=f(xt,β)+ϵt+1
β
Yt+1=xtg(β)+ϵt+1
βg(β)निरर्थक वियोज्य न्यूनतम के लिए एक समन्वय ढाल वंश विधि

एक अन्य मुद्दा दंड की राशि (ट्यूनिंग मापदंडों) का चयन है। यह आमतौर पर समय-श्रृंखला के लिए क्रॉस-सत्यापन के एक रूप की आवश्यकता होगी, लेकिन मुझे उम्मीद है कि विशिष्ट मॉडलों के लिए कुछ कम कम्प्यूटेशनल तरीके से काम करने में सक्षम हो।


R के लिए कैरेट पैकेज में टाइम सीरीज़ क्रॉस वेलिडेशन का अच्छा कार्यान्वयन है, जिसका उपयोग ग्लमैनेट के मापदंडों को चुनने के लिए किया जा सकता है। जवाब के लिए धन्यवाद।
ज़ैक

2

मुझे एक ग्राहक द्वारा इस समस्या को स्वचालित यानी टर्नकी तरीके से हल करने के लिए चुनौती दी गई थी। मैंने एक दृष्टिकोण लागू किया है कि प्रत्येक जोड़ी (यानी y और एक उम्मीदवार x) के लिए, पूर्व-सफ़ेद श्रृंखला के प्री-क्विट, कंप्यूटर के क्रॉस-सहसंबंधों की गणना करें, पीडीएएल की पहचान करें (या किसी भी DEAD TIME सहित ADL AUTEGEGRIVE DISTRIBUTED BAG MODEL) को इंटरवेंशन डिटेक्शन शामिल करते हुए उपज मजबूत अनुमान, इस संरचना के लिए एक "उपाय" विकसित करना। सभी उम्मीदवार रजिस्टरों के लिए इसे आयोजित करने के बाद, उन्हें "माप" द्वारा रैंक करें और फिर "माप" के आधार पर शीर्ष के रजिस्टरों का चयन करें। इसे कभी-कभी रैखिक फ़िल्टरिंग कहा जाता है। हमने अपने व्यावसायिक रूप से उपलब्ध समय श्रृंखला पैकेज में इस उत्तराधिकार को सफलतापूर्वक शामिल किया। आपको "अपना खुद का रोल" करने में सक्षम होना चाहिए


मैं विशेष रूप से ARIMA मॉडल में लैसो या इलास्टिक नेट को शामिल करना चाहता हूं।
ज़ैच

3
मैं वास्तव में एक रैखिक फिल्टर की तलाश में नहीं हूं (हालांकि यह उपयोगी है)। मैं विशेष रूप से एक ARIMAX मॉडल में लासो, रिज रिग्रेशन या इलास्टिक नेट को शामिल करने का एक तरीका चाहता हूं।
जाच

2
फिलहाल मुझे लेवल शिफ्ट्स, लोकल टाइम ट्रेंड्स, गुणांक शिफ्ट्स या नॉन-कंटीन्यूअस एरर वेरिएशन में कोई दिलचस्पी नहीं है। मुझे ARIMAX मॉडल में लैस्सो, रिज, या इलास्टिक नेट रेगुलराइजेशन लागू करने में विशेष रूप से दिलचस्पी है।
Zach

2
यदि आप उपर्युक्त कार्यप्रणाली में लासो, रिज, या इलास्टिक नेट नियमितीकरण को शामिल कर सकते हैं और एक ओपन सोर्स प्रोग्रामिंग भाषा में कुछ उदाहरण कोड पोस्ट कर सकते हैं, तो मुझे आपको इनाम देने में खुशी होगी।
Zach

1
@frank आप अनुमान (स्टेप-डाउन) के माध्यम से पहचान करने की कोशिश कर रहे हैं और यह काम नहीं करता है क्योंकि संभावित दालों, स्तर पारियों, मौसमी दालों और समय के रुझानों के कई संयोजन हैं। यदि इन संरचनाओं की जरूरत है, लेकिन नजरअंदाज कर दिया जाता है, तो पैरामीटर आकलन पक्षपाती है और महत्व के पैरामीट्रिक परीक्षण खिड़की से बाहर जाते हैं।
आयरिशस्टैट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.