सहसंबंध दो चरों के बीच संबंध को मापने के लिए एक सांख्यिकीय शब्द है। यदि संबंध स्ट्रिंग है, तो इसका मतलब है कि एक चर में परिवर्तन दूसरे चर में एक पूर्वानुमेय पैटर्न में परिवर्तन को दर्शाता है तो हम कहते हैं कि चर सहसंबद्ध हैं। इसके अलावा पहले चर में भिन्नता दूसरे चर में सकारात्मक या नकारात्मक भिन्नता का कारण बन सकती है। तदनुसार, उन्हें सकारात्मक या नकारात्मक सहसंबद्ध कहा जाता है। आदर्श रूप से सहसंबंध गुणांक का मान -1 से +1 के बीच होता है।
- यदि मान +1 या उसके करीब है तो हम कहते हैं कि चर सकारात्मक रूप से सहसंबद्ध हैं। और वे एक ही दिशा में एक साथ बदलते हैं।
- यदि मान -1 या उसके करीब है तो हम कहते हैं कि चर नकारात्मक रूप से सहसंबद्ध हैं। और वे एक साथ विपरीत दिशा में बदलते हैं।
- यदि मान 0 या उसके करीब है तो हम कहते हैं कि चर सहसंबद्ध नहीं हैं।
सहसंबंध के गुणांक को मापने के विभिन्न तरीके हैं। वे numpy या scipy.stats में फ़ंक्शन के रूप में उपलब्ध हैं। नीचे हम देखेंगे कि उनका उपयोग कैसे किया जाता है।
स्पीयरमैन के सहसंबंध का उपयोग करना
स्पीयरमैन का सहसंबंध रैखिक रूप से संबंधित चर के बीच संबंध की डिग्री को मापने के लिए है। यह एक सूत्र पर आधारित है जिसका उपयोग परिणाम उत्पन्न करने के लिए scipy.stats पैकेज द्वारा किया जाता है। यह सहसंबंध खोजने के लिए सबसे व्यापक रूप से इस्तेमाल किया जाने वाला सूत्र है।
नीचे के उदाहरण में हम दो वेरिएबल लेते हैं जिनके मान numpy.randon() funcntion का उपयोग करके उत्पन्न होते हैं। फिर अंतिम परिणाम प्राप्त करने के लिए स्पीयरमैनर () लागू किया जाता है।
उदाहरण
from numpy.random import randn from numpy.random import seed from scipy.stats import spearmanr seed(1) data_input1 = 20 * randn(1000) + 100 data_input2 = data_input1 + (10 * randn(1000) + 50) correlation = spearmanr(data_input1, data_input2) print(correlation)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
SpearmanrResult(correlation=0.8724050484050484, pvalue=1.58425746359e-312)
पियर्सन के सहसंबंध का उपयोग करना
पियर्सन का सहसंबंध रैखिक रूप से संबंधित चर के बीच संबंध की डिग्री को मापने का एक और तरीका है। यह एक सूत्र पर आधारित है जिसका उपयोग परिणाम उत्पन्न करने के लिए scipy.stats पैकेज द्वारा किया जाता है।
नीचे के उदाहरण में हम दो वेरिएबल लेते हैं जिनके मान numpy.randon() funcntion का उपयोग करके उत्पन्न होते हैं। फिर अंतिम परिणाम प्राप्त करने के लिए पियरसन () लागू किया जाता है।
उदाहरण
from numpy.random import randn
from numpy.random import seed
from scipy.stats import pearsonr
seed(1)
data1 = 20 * randn(1000) + 100
data2 = data1 + (10 * randn(1000) + 50)
correlation, _ = pearsonr(data1, data2)
print('Pearsons correlation: %.3f' % correlation) आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Pearsons correlation: 0.888