2011-06-21 13 views
5

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

enter image description here

अब तक मैं डेटा रेखांकन के माध्यम से काम कर रहा है, लेकिन पता है कि के बाद से डेटा की मात्रा हर बार की साजिश रचने इतनी बड़ी है मैं कैसे दो सेट सहसंबंधी रेखांकन यह अभी तक भी ले जाएगा जाँच करना चाहते हैं ज्यादा समय।

क्या कोई विचार, स्क्रिप्ट या फ़ंक्शंस हैं जो इस प्रक्रिया को स्वचालित रूप से स्वचालित करने के लिए उपयोगी हो सकते हैं?

+2

डेटा की प्रकृति के आधार पर, मैं एफएफटी फ़ंक्शन का उपयोग करके आवृत्ति विश्लेषण करने की अनुशंसा करता हूं। (यह सुनिश्चित करना सुनिश्चित करें कि एफएफटी डोमेन में अपने डेटा को सही तरीके से कैसे स्केल करें!) वैकल्पिक रूप से कुछ स्क्वायर त्रुटि के रूप में कुछ भी उपयोग कर उपयोगी हो सकता है। यदि आप डेटा की प्रकृति और उत्पत्ति के बारे में अधिक कुछ कह सकते हैं तो हम आपको कुछ बेहतर सलाह दे सकते हैं। –

+0

@thron ध्यान दें कि वह जो चाहता है उसे पाने के लिए, उसे चरण में समानता की आवश्यकता होती है न केवल दो संकेतों के बीच आवृत्ति। यह तुच्छ नहीं है। –

उत्तर

5

पहली चीज़ जो आपको सोचनी है वह वह मानदंड है जो आप समानता स्थापित करने के लिए आवेदन करना चाहते हैं। समानता को मापने के कई तरीके हैं और अधिक सटीक रूप से आप वर्णन कर सकते हैं कि आप अपनी समस्या में "समान" के लिए क्या चाहते हैं, प्रोग्रामिंग भाषा के बावजूद इसे लागू करना सबसे आसान होगा।

कहा करने के बाद कि, यहां बात अपने आप को देखो सकता है में से कुछ है: दो डेटासेट के

  • सहसंबंध
  • डेटासेट के व्युत्पन्न का अंतर (लेकिन मुझे नहीं लगता कि यह होगा काफी मजबूत)
  • वर्णक्रमीय विश्लेषण के रूप में तीन
  • आदि की @thron द्वारा mentionned ...

मूल को जानने का डेटासेट और उनकी विविधता के मजबूत मजबूत एल्गोरिदम तैयार करने में भी बहुत मदद कर सकते हैं।

1

निश्चित रूप से। अपने दो वैक्टर ए और बी

1) (वैकल्पिक) अपने डेटा को एक साधारण औसत फ़िल्टर (Matlab 'चिकनी'), या 'फ़िल्टर' कमांड के साथ चिकना करें। यह वेग ("ढाल") में स्थानीय परिवर्तनों से छुटकारा पाता है जो अनिवार्य रूप से शोर (

2) ए और बी दोनों को अलग करता है अब आप वेग का प्रतिनिधित्व कर रहे हैं प्रत्येक वेक्टर (Matlab 'diff') के।

3) दो अलग-अलग वैक्टर जोड़ें (तत्व-वार)। इस सी को कॉल करें

4) सी में सभी बिंदुओं की तलाश करें जिनके पूर्ण मूल्य एक निश्चित दहलीज से ऊपर है (आपको डेटा को नजरअंदाज करना होगा कि यह क्या होना चाहिए)। इस दहलीज के ऊपर के अंक अत्यधिक समान वेग इंगित करते हैं।

5) अब देखें कि सी में उच्च सकारात्मक मूल्य के बाद उच्च नकारात्मक मूल्य, या इसके विपरीत। इन दो बिंदुओं के बीच में आपके पास ए और बी

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

+0

धन्यवाद, यह एक बहुत ही रोचक मार्ग की तरह लगता है! – user718531