पायथन में रैखिक प्रतिगमन के लिए एक संपूर्ण मार्गदर्शिका


रैखिक प्रतिगमन एक ऐसी विधि है जिसका उपयोग हम एक या अधिक भविष्यवक्ता चर और एक प्रतिक्रिया चर के बीच संबंध को समझने के लिए कर सकते हैं।

यह ट्यूटोरियल बताता है कि पायथन में रैखिक प्रतिगमन कैसे करें।

उदाहरण: पायथन में रैखिक प्रतिगमन

मान लीजिए कि हम यह जानना चाहते हैं कि क्या अध्ययन में बिताए गए घंटों की संख्या और ली गई अभ्यास परीक्षाओं की संख्या किसी छात्र को किसी परीक्षा में प्राप्त ग्रेड को प्रभावित करती है।

इस संबंध का पता लगाने के लिए, हम एकाधिक रैखिक प्रतिगमन करने के लिए पायथन में निम्नलिखित चरणों का पालन कर सकते हैं।

चरण 1: डेटा दर्ज करें।

सबसे पहले, हम अपने डेटासेट को रखने के लिए एक पांडा डेटाफ़्रेम बनाएंगे:

 import pandas as pd

#create data
df = pd.DataFrame({'hours': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6, 5, 3, 4, 6, 2, 1, 2],
                   'exams': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2, 4, 4, 4, 5, 1, 0, 1],
                   'score': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96, 90, 82, 85, 99, 83, 62, 76]})

#view data 
df

        hours exam score
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72
5 1 2 69
6 5 1 94
7 4 1 94
8 2 0 88
9 4 3 92
10 4 4 90
11 3 3 75
12 6 2 96
13 5 4 90
14 3 4 82
15 4 4 85
16 6 5 99
17 2 1 83
18 1 0 62
19 2 1 76

चरण 2: रैखिक प्रतिगमन करें।

इसके बाद, हम भविष्यवक्ता चर के रूप में “घंटे” और “परीक्षा” और प्रतिक्रिया चर के रूप में “स्कोर” का उपयोग करके सामान्य न्यूनतम वर्ग प्रतिगमन करने के लिए स्टैटमॉडल लाइब्रेरी से ओएलएस() फ़ंक्शन का उपयोग करेंगे:

 import statsmodels.api as sm

#define response variable
y = df['score']

#define predictor variables
x = df[['hours', 'exams']]

#add constant to predictor variables
x = sm.add_constant(x)

#fit linear regression model
model = sm.OLS(y, x).fit()

#view model summary
print(model.summary())

                            OLS Regression Results                            
==================================================== ============================
Dept. Variable: R-squared score: 0.734
Model: OLS Adj. R-squared: 0.703
Method: Least Squares F-statistic: 23.46
Date: Fri, 24 Jul 2020 Prob (F-statistic): 1.29e-05
Time: 13:20:31 Log-Likelihood: -60.354
No. Observations: 20 AIC: 126.7
Df Residuals: 17 BIC: 129.7
Df Model: 2                                         
Covariance Type: non-robust                                         
==================================================== ============================
                 coef std err t P>|t| [0.025 0.975]
-------------------------------------------------- ----------------------------
const 67.6735 2.816 24.033 0.000 61.733 73.614
hours 5.5557 0.899 6.179 0.000 3.659 7.453
exams -0.6017 0.914 -0.658 0.519 -2.531 1.327
==================================================== ============================
Omnibus: 0.341 Durbin-Watson: 1.506
Prob(Omnibus): 0.843 Jarque-Bera (JB): 0.196
Skew: -0.216 Prob(JB): 0.907
Kurtosis: 2,782 Cond. No. 10.8
==================================================== ============================

चरण 3: परिणामों की व्याख्या करें।

परिणाम में सर्वाधिक प्रासंगिक संख्याओं की व्याख्या करने का तरीका यहां बताया गया है:

आर वर्ग: 0.734 । इसे निर्धारण गुणांक कहा जाता है। यह प्रतिक्रिया चर में भिन्नता का अनुपात है जिसे भविष्यवक्ता चर द्वारा समझाया जा सकता है। इस उदाहरण में, परीक्षा के अंकों में 73.4% भिन्नता को अध्ययन किए गए घंटों की संख्या और ली गई तैयारी परीक्षाओं की संख्या द्वारा समझाया गया है।

एफ-आँकड़ा: 23.46 । यह प्रतिगमन मॉडल का समग्र एफ आँकड़ा है।

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

गुणांक: प्रत्येक भविष्यवक्ता चर के गुणांक हमें प्रतिक्रिया चर में अपेक्षित औसत परिवर्तन बताते हैं, यह मानते हुए कि अन्य भविष्यवक्ता चर स्थिर रहता है। उदाहरण के लिए, अध्ययन में बिताए गए प्रत्येक अतिरिक्त घंटे के लिए, औसत परीक्षा स्कोर में 5.56 की वृद्धि होने की उम्मीद होगी, यह मानते हुए कि ली गई अभ्यास परीक्षाएं स्थिर रहेंगी।

इसे देखने का एक और तरीका यहां दिया गया है: यदि छात्र ए और छात्र बी दोनों समान संख्या में तैयारी परीक्षा देते हैं लेकिन छात्र ए एक घंटे अधिक समय तक अध्ययन करता है, तो छात्र ए को छात्र बी की तुलना में 5.56 अंक अधिक स्कोर करना चाहिए।

हम इंटरसेप्ट गुणांक की व्याख्या इस अर्थ में करते हैं कि एक छात्र जो बिना घंटों पढ़ाई करता है और कोई प्रारंभिक परीक्षा नहीं देता है, उसके लिए अपेक्षित परीक्षा स्कोर 67.67 है।

पी>|टी|. व्यक्तिगत पी-वैल्यू हमें बताते हैं कि प्रत्येक भविष्यवक्ता चर सांख्यिकीय रूप से महत्वपूर्ण है या नहीं। हम देख सकते हैं कि “परीक्षा” के दौरान “घंटे” सांख्यिकीय रूप से महत्वपूर्ण हैं (पी = 0.00)   (पी = 0.52) α = 0.05 पर सांख्यिकीय रूप से महत्वपूर्ण नहीं है। चूँकि “परीक्षा” शब्द सांख्यिकीय रूप से महत्वपूर्ण नहीं है, इसलिए हम इसे मॉडल से हटाने का निर्णय ले सकते हैं।

अनुमानित प्रतिगमन समीकरण: हम निम्नलिखित अनुमानित प्रतिगमन समीकरण बनाने के लिए मॉडल आउटपुट से गुणांक का उपयोग कर सकते हैं:

परीक्षा स्कोर = 67.67 + 5.56*(घंटे) – 0.60*(प्रारंभिक परीक्षा)

हम अध्ययन के घंटों की संख्या और उनके द्वारा दी जाने वाली अभ्यास परीक्षाओं की संख्या के आधार पर, किसी छात्र के लिए अपेक्षित परीक्षा स्कोर की गणना करने के लिए इस अनुमानित प्रतिगमन समीकरण का उपयोग कर सकते हैं। उदाहरण के लिए, एक छात्र जो तीन घंटे पढ़ाई करता है और तैयारी परीक्षा देता है, उसे 83.75 का ग्रेड मिलना चाहिए:

ध्यान रखें कि चूंकि पिछली प्रारंभिक परीक्षाएं सांख्यिकीय रूप से महत्वपूर्ण नहीं थीं (पी = 0.52), हम उन्हें हटाने का निर्णय ले सकते हैं क्योंकि वे समग्र मॉडल में कोई सुधार प्रदान नहीं करते हैं। इस मामले में, हम केवल भविष्यवक्ता चर के रूप में अध्ययन किए गए घंटों का उपयोग करके एक सरल रैखिक प्रतिगमन कर सकते हैं।

चरण 4: मॉडल मान्यताओं को सत्यापित करें।

एक बार जब आप एक रेखीय प्रतिगमन कर लेते हैं, तो आप यह सुनिश्चित करने के लिए कई मान्यताओं की जांच करना चाह सकते हैं कि प्रतिगमन मॉडल के परिणाम विश्वसनीय हैं। इन धारणाओं में शामिल हैं:

धारणा #1: भविष्यवक्ता चर और प्रतिक्रिया चर के बीच एक रैखिक संबंध है।

  • एक अवशिष्ट प्लॉट उत्पन्न करके इस धारणा को सत्यापित करें जो एक प्रतिगमन मॉडल के लिए अवशेषों के विरुद्ध फिट किए गए मान प्रदर्शित करता है।

परिकल्पना #2: अवशेषों की स्वतंत्रता।

परिकल्पना #3: अवशेषों की समरूपता।

अनुमान संख्या 4: अवशेषों की सामान्यता.

धारणा #5: सत्यापित करें कि भविष्यवक्ता चर के बीच कोई बहुसंरेखता नहीं है।

  • प्रत्येक भविष्यवक्ता चर के वीआईएफ मान की गणना करके इस परिकल्पना को सत्यापित करें।

यदि ये धारणाएँ पूरी होती हैं, तो आप आश्वस्त हो सकते हैं कि आपके एकाधिक रैखिक प्रतिगमन मॉडल के परिणाम विश्वसनीय हैं।

आप इस ट्यूटोरियल में उपयोग किया गया पूरा पायथन कोड यहां पा सकते हैं।

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *