मेरे पास दो 1 डी सरणी हैं और मैं उनके अंतर-संबंध देखना चाहता हूं। मैं numpy में किस प्रक्रिया का उपयोग करना चाहिए? मैं numpy.corrcoef(arrayA, arrayB)
और numpy.correlate(arrayA, arrayB)
का उपयोग कर रहा हूं और दोनों कुछ परिणाम दे रहे हैं जिन्हें मैं समझने या समझने में सक्षम नहीं हूं। क्या कोई व्यक्ति उन संख्यात्मक परिणामों को समझने और समझने के तरीके पर प्रकाश डाल सकता है (अधिमानतः एक उदाहरण का उपयोग कर)? धन्यवाद।numpy.correlate और numpy.corrcoef मानों को कैसे समझें?
उत्तर
numpy.correlate
बस दो वैक्टरों के क्रॉस-सहसंबंध देता है।
यदि आपको क्रॉस-सहसंबंध को समझने की आवश्यकता है, तो http://en.wikipedia.org/wiki/Cross-correlation से शुरू करें।
एक अच्छा उदाहरण है (अपने आप के साथ एक वेक्टर पार सहसंबद्ध) autocorrelation समारोह को देखकर देखा जा सकता है:
import numpy as np
# create a vector
vector = np.random.normal(0,1,size=1000)
# insert a signal into vector
vector[::50]+=10
# perform cross-correlation for all data points
output = np.correlate(vector,vector,mode='full')
यह एक अधिकतम जब साथ एक कंघी/शाह समारोह वापस आ जाएगी दोनों डेटा सेट ओवरलैपिंग कर रहे हैं। चूंकि यह एक स्वायत्तता है क्योंकि दो इनपुट सिग्नल के बीच कोई "अंतराल" नहीं होगा। इसलिए अधिकतम सहसंबंध vector.size-1 है।
यदि आप केवल ओवरलैपिंग डेटा के लिए सहसंबंध के मूल्य चाहते हैं, तो आप mode='valid'
का उपयोग कर सकते हैं।
मैं इस समय केवल numpy.correlate
पर टिप्पणी कर सकता हूं। यह एक शक्तिशाली उपकरण है। मैंने इसे दो उद्देश्यों के लिए उपयोग किया है। पहले एक और पद्धति के अंदर एक पैटर्न को मिल रहा है:
import numpy as np
import matplotlib.pyplot as plt
some_data = np.random.uniform(0,1,size=100)
subset = some_data[42:50]
mean = np.mean(some_data)
some_data_normalised = some_data - mean
subset_normalised = subset - mean
correlated = np.correlate(some_data_normalised, subset_normalised)
max_index = np.argmax(correlated) # 42 !
दूसरा उपयोग मैं लिए इसका इस्तेमाल किया है (और कैसे परिणाम व्याख्या करने के लिए) आवृत्ति का पता लगाने के लिए है:
hz_a = np.cos(np.linspace(0,np.pi*6,100))
hz_b = np.cos(np.linspace(0,np.pi*4,100))
f, axarr = plt.subplots(2, sharex=True)
axarr[0].plot(hz_a)
axarr[0].plot(hz_b)
axarr[0].grid(True)
hz_a_autocorrelation = np.correlate(hz_a,hz_a,'same')[round(len(hz_a)/2):]
hz_b_autocorrelation = np.correlate(hz_b,hz_b,'same')[round(len(hz_b)/2):]
axarr[1].plot(hz_a_autocorrelation)
axarr[1].plot(hz_b_autocorrelation)
axarr[1].grid(True)
plt.show()
दूसरे चोटियों की अनुक्रमणिका खोजें। इससे आप आवृत्ति को खोजने के लिए वापस काम कर सकते हैं।
first_min_index = np.argmin(hz_a_autocorrelation)
second_max_index = np.argmax(hz_a_autocorrelation[first_min_index:])
frequency = 1/second_max_index
- 1. एमएसडीएन दस्तावेज को कैसे समझें?
- 2. एनोर्म पार्सर को कैसे समझें?
- 3. मौजूदा परियोजनाओं को कैसे समझें
- 4. BufferStrategy को समझें
- 5. जावा के 'उपकरण' पैकेज को कैसे समझें और सीखें?
- 6. जावा थ्रेड में प्रतीक्षा और अधिसूचना विधि को कैसे समझें?
- 7. जावास्क्रिप्ट: सभी ढांचे और डिजाइन दर्शनों को कैसे समझें?
- 8. माइक्रोसॉफ्ट डायनेमिक्स उत्पादों को कैसे समझें?
- 9. play2 में 'Iteratee` को कैसे समझें?
- 10. ओपन सोर्स प्रोजेक्ट्स/पुस्तकालयों को कैसे समझें?
- 11. इस क्रैश लॉग को कैसे समझें
- 12. सीएपी प्रमेय की "उपलब्धता" को कैसे समझें?
- 13. Kademlia (KAD) प्रोटोकॉल को कैसे समझें
- 14. इस विम स्क्रिप्ट को कैसे समझें?
- 15. perl: @ $ ref [0] को कैसे समझें?
- 16. आईफोन के क्रैश लॉग को कैसे समझें
- 17. टाइम कमांड के आउटपुट को कैसे समझें?
- 18. पूर्ण जीसी लॉग कैसे समझें?
- 19. विदेशी फ़ंक्शन इंटरफ़ेस (एफएफआई) और भाषा बाध्यकारी को समझें
- 20. अन्य लोगों के सीएसएस आर्किटेक्चर को कैसे समझें?
- 21. इस दुर्घटना को कैसे समझें? : SIGBUS BUS_ADRALN स्टैक ट्रेस में
- 22. एंड्रॉइड रूट पेड़ की निर्देशिका संरचना को कैसे समझें?
- 23. दिए गए htmlHelper + एक्शन नाम, नियंत्रक नाम को कैसे समझें?
- 24. CSS3 3 डी ट्रांसफॉर्म परिप्रेक्ष्य को कैसे समझें
- 25. विंडोज एनडीके में "एनटीएसटीएटीयूएस", "NT_SUCCESS" टाइपपीफ को कैसे समझें?
- 26. ओवरराइडिंग "बराबर" विधि: पैरामीटर के प्रकार को कैसे समझें?
- 27. ggplot2 और ऋणात्मक मानों
- 28. JQuery: विशेषता मानों को ढूंढें और बदलें
- 29. स्तंभों और अद्यतन तालिका में मानों को कैसे क्रमबद्ध करें?
- 30. मैं PHP सरणी को $ कुंजी और $ मानों में कैसे बदलूं?
यह पुराना है, लेकिन क्योंकि मेरे पास एक ही सवाल है, मैं समझ नहीं पा रहा हूं कि मैं निष्कर्ष पर कैसे आया हूं। क्या मेरे पास रिपोर्ट पर स्वायत्तता है या नहीं? मैं आउटपुट का अनुवाद कैसे करूं? – hephestos