पायथन में आंशिक सहसंबंध की गणना कैसे करें
आंकड़ों में, हम अक्सर दो चरों के बीच रैखिक संबंध को मापने के लिए पियर्सन सहसंबंध गुणांक का उपयोग करते हैं। हालाँकि, कभी-कभी हम तीसरे वेरिएबल को नियंत्रित करते समय दो वेरिएबल्स के बीच संबंध को समझना चाहते हैं।
उदाहरण के लिए, मान लीजिए कि हम कक्षा में छात्र के वर्तमान ग्रेड को नियंत्रित करते हुए, एक छात्र के अध्ययन के घंटों की संख्या और अंतिम परीक्षा ग्रेड के बीच संबंध को मापना चाहते हैं। इस मामले में, हम अध्ययन किए गए घंटों और अंतिम परीक्षा ग्रेड के बीच संबंध को मापने के लिए आंशिक सहसंबंध का उपयोग कर सकते हैं।
यह ट्यूटोरियल बताता है कि पायथन में आंशिक सहसंबंध की गणना कैसे करें।
उदाहरण: पायथन में आंशिक सहसंबंध
मान लें कि हमारे पास निम्नलिखित पांडा डेटाफ़्रेम है जो 10 छात्रों के लिए वर्तमान ग्रेड, अध्ययन किए गए कुल घंटे और अंतिम परीक्षा ग्रेड प्रदर्शित करता है:
import numpy as np import panda as pd data = {'currentGrade': [82, 88, 75, 74, 93, 97, 83, 90, 90, 80], 'hours': [4, 3, 6, 5, 4, 5, 8, 7, 4, 6], 'examScore': [88, 85, 76, 70, 92, 94, 89, 85, 90, 93], } df = pd.DataFrame(data, columns = ['currentGrade','hours', 'examScore']) df currentGrade hours examScore 0 82 4 88 1 88 3 85 2 75 6 76 3 74 5 70 4 93 4 92 5 97 5 94 6 83 8 89 7 90 7 85 8 90 4 90 9 80 6 93
करंटग्रेड को नियंत्रित करते समय घंटों और एग्जामस्कोर के बीच आंशिक सहसंबंध की गणना करने के लिए, हम पेंगुइन पैकेज से आंशिक_कोर() फ़ंक्शन का उपयोग कर सकते हैं, जो निम्नलिखित सिंटैक्स का उपयोग करता है:
आंशिक_कोर (डेटा, एक्स, वाई, कोवर)
सोना:
- डेटा: डेटा फ़्रेम का नाम
- x, y: डेटाफ़्रेम में कॉलम नाम
- कोवर: डेटाफ़्रेम में कोवरिएट कॉलम का नाम (उदाहरण के लिए वह वेरिएबल जिसे आप नियंत्रित कर रहे हैं)
इस विशेष उदाहरण में इस फ़ंक्शन का उपयोग कैसे करें:
#install and import penguin package pip install penguin import penguin as pg #find partial correlation between hours and exam score while controlling for grade pg.partial_corr(data=df, x='hours', y='examScore', covar='currentGrade') n r CI95% r2 adj_r2 p-val BF10 power pearson 10 0.191 [-0.5, 0.73] 0.036 -0.238 0.598 0.438 0.082
हम देख सकते हैं कि अध्ययन किए गए घंटों और अंतिम परीक्षा ग्रेड के बीच आंशिक सहसंबंध 0.191 है, जो एक छोटा सकारात्मक सहसंबंध है। जैसे-जैसे अध्ययन के घंटों की संख्या बढ़ती है, परीक्षा के अंक भी बढ़ने लगते हैं, यह मानते हुए कि वर्तमान ग्रेड स्थिर रहता है।
एक साथ कई चरों के बीच आंशिक सहसंबंध की गणना करने के लिए, हम .pcorr() फ़ंक्शन का उपयोग कर सकते हैं:
#calculate all pairwise partial correlations, rounded to three decimal places
df.pcorr().round(3)
currentGrade hours examScore
currentGrade 1.000 -0.311 0.736
hours -0.311 1.000 0.191
examScore 0.736 0.191 1.000
परिणाम की व्याख्या करने का तरीका इस प्रकार है:
- वर्तमान ग्रेड और अध्ययन किए गए घंटों के बीच आंशिक सहसंबंध -0.311 है।
- वर्तमान ग्रेड और परीक्षा ग्रेड 0.736 के बीच आंशिक सहसंबंध।
- अध्ययन के घंटों और परीक्षा स्कोर के बीच आंशिक सहसंबंध 0.191 है ।