अंतराल और अलग-अलग समय आधार के साथ दो समय श्रृंखला को कैसे सहसंबंधित करें?


10

मैंने StackOverflow पर यह सवाल पूछा , और इसे यहाँ पूछने की सिफारिश की गई।


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

मैं जिस एक्सेलेरोमीटर का उपयोग कर रहा हूं वह सस्ती GCDC X250-2 है । मैं अपने उच्चतम लाभ पर एक्सेलेरोमीटर चला रहा हूं, इसलिए डेटा में महत्वपूर्ण शोर मंजिल है।

टाइम सीरीज़ में प्रत्येक में लगभग 2 मिलियन डेटा पॉइंट्स (512 सैंपल / सेकंड में एक घंटे से अधिक) और लगभग 500 इवेंट ऑफ इंटरेस्ट होते हैं, जहाँ एक विशिष्ट ईवेंट 100-150 सैंपल (200-300 ms प्रत्येक) तक फैला होता है। इन घटनाओं में से कई फ्लैश लेखन के दौरान डेटा आउटेज से प्रभावित होती हैं।

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

एक्सेलेरोमीटर समान वातावरण में हैं, लेकिन केवल मामूली रूप से युग्मित हैं, जिसका अर्थ है कि मैं आंख से बता सकता हूं कि प्रत्येक एक्सीलरोमीटर से कौन सी घटनाएं मेल खाती हैं, लेकिन मैं अब तक सॉफ्टवेयर में ऐसा करने में असफल रहा हूं। भौतिक सीमाओं के कारण, उपकरण विभिन्न झुकावों में भी लगाए जाते हैं, जहां कुल्हाड़ियों का मिलान नहीं होता है, लेकिन वे ऑर्थोगोनल के करीब हैं क्योंकि मैं उन्हें बना सकता हूं। इसलिए, उदाहरण के लिए, 3-एक्सिस एक्सेलेरोमीटर A & B, + Ax मैप्स के लिए -By (ऊपर-नीचे), + Az मैप्स -Bx (बाएं-दाएं), और + Ay मैप्स -Bz (फ्रंट-बैक) के लिए ।

मेरा प्रारंभिक लक्ष्य ऊर्ध्वाधर अक्ष पर झटके वाली घटनाओं को सहसंबंधित करना है, हालांकि मैं अंततः एक) स्वचालित रूप से अक्ष मानचित्रण की खोज करूँगा, ख) मैप किए गए इक्के पर सहसंबंधी गतिविधि, और ग) दो एक्सेलेरोमीटर (जैसे घुमा) के बीच व्यवहार के अंतर को निकालना। या फ्लेक्सिंग)।

समय श्रृंखला डेटा की प्रकृति पायथन के numpy.correlate () को अनुपयोगी बनाती है। मैंने आर के ज़ू पैकेज को भी देखा है, लेकिन इसके साथ कोई हेडवे नहीं बनाया है। मैंने मदद के लिए सिग्नल विश्लेषण के विभिन्न क्षेत्रों पर ध्यान दिया है, लेकिन मैंने कोई प्रगति नहीं की है।

किसी के पास कोई सुराग है कि मैं क्या कर सकता हूं, या मुझे अनुसंधान करना चाहिए?

28 फरवरी 2011 को अपडेट करें: डेटा के उदाहरण दिखाते हुए यहां कुछ भूखंड जोड़े गए ।


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

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

1
@ याकूब, मेरा मतलब क्या था, क्या आपने सहसंबंध की गणना के लिए एफएफटी-आधारित कार्यान्वयन पर विचार किया था? प्रत्यक्ष दृढ़ संकल्प , लेकिन एक FFT- आधारित कार्यान्वयन इस O ( n लॉग n ) को कम करेगा , जिससे यह संभव होगा। एफएफटी को देखने के लिए, 2 मिलियन डेटा बिंदुओं के साथ, आपका आवृत्ति संकल्प बहुत अधिक होगा। कोई भी नमूना रेंगना और अन्य सामान प्रति-आवृत्ति के आधार पर सिग्नल को धोने के लिए बाध्य है। लेकिन, आपको सिग्नल को शोर से बाहर लाने के लिए कई डिब्बे को एकत्र करने में सक्षम होना चाहिए। एक वेल्च दृष्टिकोण या शायद एक कस्टम विंडोिंग तकनीक की तरह कुछ। हे(n2)हे(nलॉगn)
कार्डिनल

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

नमस्ते, मेरे पास एक समान प्रश्न है। मेरे पास 2 टाइम सीरीज़ है, प्रत्येक का एक मैट्रिक्स द्वारा प्रतिनिधित्व किया गया है, जिसमें इसका पहला कॉलम वैल्यू के बराबर है और दूसरा कॉलम टाइम डिफरेंस (पिछले वैल्यू के बाद) के बराबर है। मैं इन 2 मैट्रिसेस के बीच सहसंबंध कैसे खोजूं? मैंने xcorr2 () करने की कोशिश की, लेकिन यह सही नहीं लगता है और xcorr करने से शायद केवल मूल्यों पर विचार करने के साथ सहसंबंध की गणना होगी, लेकिन मैं समय के लिए भी ध्यान देना चाहता हूं। मैं वास्तव में यहाँ उलझन में हूँ, एक FFT मदद करेगा? आप कैसे सुझाव देंगे कि मैं इसके बारे में जाऊँ?

जवाबों:


12

सवाल दो अनियमित सैंपल टाइम सीरीज़ (एक आयामी स्टोचस्टिक प्रक्रियाओं) के बीच सहसंबंध की गणना करने और उस समय ऑफसेट को खोजने के लिए उपयोग करने की चिंता करता है जहां वे अधिकतम सहसंबद्ध होते हैं (उनका "चरण अंतर")।

यह समस्या आमतौर पर समय श्रृंखला विश्लेषण में संबोधित नहीं की जाती है, क्योंकि समय श्रृंखला डेटा को व्यवस्थित रूप से एकत्र करने के लिए माना जाता है (समय के नियमित अंतराल पर)। यह जियोस्टैटिस्टिक्स का प्रांत है , जो समय श्रृंखला के बहुआयामी सामान्यीकरण की चिंता करता है। चापलूसी भूस्थैतिक डेटासेट में अनियमित स्थान वाले भूवैज्ञानिक नमूनों की माप होती है।

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

(z(पी),w(पी))zw

दो मिलियन अंकों के साथ आपको स्टेशनरी से छोटे विचलन का पता लगाने में सक्षम होना चाहिए। यह संभव है कि समय के साथ दो अलग-अलग श्रृंखलाओं के बीच का चरण अंतर भी अलग-अलग हो। समयावधि के दौरान अलग-अलग खिड़कियों के लिए अलग-अलग क्रॉस-वैरोग्राम की गणना करके इसके साथ सम्‍मिलित करें।

हे(n)हे(n2)


nटीn=nटीटीnτn=टीn+α+βnαβ

ββ

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

यह मेरे दिमाग को इसके चारों ओर लपेटने के लिए मुझे थोड़ा सा लगेगा। मैं आपके द्वारा उल्लेख किए गए R संकुल में उदाहरणों के साथ शुरू करूँगा।
BobC

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