पायथन में एक अवशिष्ट प्लॉट कैसे बनाएं


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

इस प्रकार के प्लॉट का उपयोग अक्सर यह मूल्यांकन करने के लिए किया जाता है कि किसी दिए गए डेटा सेट के लिए एक रैखिक प्रतिगमन मॉडल उपयुक्त है या नहीं और विषमलैंगिकता के लिए अवशेषों की जांच की जाती है।

यह ट्यूटोरियल बताता है कि पायथन में एक रैखिक प्रतिगमन मॉडल के लिए एक अवशिष्ट प्लॉट कैसे बनाया जाए।

उदाहरण: पायथन में अवशिष्ट प्लॉट

इस उदाहरण के लिए, हम एक डेटासेट का उपयोग करेंगे जो 10 बास्केटबॉल खिलाड़ियों की विशेषताओं का वर्णन करता है:

 import numpy as np
import pandas as pd

#create dataset
df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86],
                   'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
                   'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view dataset
df

	rating points assists rebounds
0 90 25 5 11
1 85 20 7 8
2 82 14 7 10
3 88 16 8 6
4 94 27 5 6
5 90 20 7 9
6 76 12 6 6
7 75 15 9 10
8 87 14 9 10
9 86 19 5 7

सरल रेखीय प्रतिगमन के लिए अवशिष्ट प्लॉट

मान लीजिए कि हम भविष्यवक्ता चर के रूप में बिंदुओं और प्रतिक्रिया चर के रूप में ग्रेड का उपयोग करके एक सरल रैखिक प्रतिगमन मॉडल फिट करते हैं:

 #import necessary libraries
import matplotlib.pyplot as plt
import statsmodels.api as sm
from statsmodels.formula.api import ols

#fit simple linear regression model
model = ols('rating ~ points', data=df). fit ()

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

हम statsmodels लाइब्रेरी से प्लॉट_रेग्रेस_एक्सओजी() फ़ंक्शन का उपयोग करके एक अवशिष्ट या फिटेड प्लॉट बना सकते हैं:

 #define figure size
fig = plt.figure(figsize=(12,8))

#produce regression plots
fig = sm.graphics.plot_regress_exog(model, ' points ', fig=fig)

पायथन में अवशिष्ट कथानक

चार प्लॉट तैयार किए गए हैं। ऊपरी दाएं कोने में एक अवशिष्ट प्लॉट बनाम समायोजित प्लॉट है। इस प्लॉट पर x-अक्ष भविष्यवक्ता चर बिंदुओं के वास्तविक मान दिखाता है और y-अक्ष उस मान के लिए अवशिष्ट दिखाता है।

चूँकि अवशेष शून्य के आसपास बेतरतीब ढंग से बिखरे हुए प्रतीत होते हैं, यह इंगित करता है कि भविष्यवक्ता चर के साथ विषमलैंगिकता कोई समस्या नहीं है।

एकाधिक रेखीय प्रतिगमन के लिए अवशिष्ट प्लॉट

मान लीजिए कि हम भविष्यवक्ता चर के रूप में सहायता और रिबाउंड और प्रतिक्रिया चर के रूप में रेटिंग का उपयोग करके एक बहु रेखीय प्रतिगमन मॉडल फिट करते हैं:

 #fit multiple linear regression model
model = ols('rating ~ assists + rebounds', data=df). fit ()

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

एक बार फिर, हम स्टेटमॉडल लाइब्रेरी से प्लॉट_रेग्रेस_एक्सओजी() फ़ंक्शन का उपयोग करके प्रत्येक व्यक्तिगत भविष्यवक्ता के लिए एक अवशिष्ट बनाम भविष्यवक्ता प्लॉट बना सकते हैं।

उदाहरण के लिए, भविष्यवक्ता चर सहायता के लिए अवशिष्ट/भविष्यवक्ता कथानक इस तरह दिखता है:

 #create residual vs. predictor plot for 'assists'
fig = plt.figure(figsize=(12,8))
fig = sm.graphics.plot_regress_exog(model, ' assists ', fig=fig)

अवशिष्ट या समायोजित भूमि

और भविष्यवक्ता चर बाउंस के लिए अवशिष्ट/भविष्यवक्ता प्लॉट इस तरह दिखता है:

 #create residual vs. predictor plot for 'assists'
fig = plt.figure(figsize=(12,8))
fig = sm.graphics.plot_regress_exog(model, ' rebounds ', fig=fig)

पायथन में अवशिष्ट या समायोजित प्लॉट

दोनों भूखंडों में, अवशेष बेतरतीब ढंग से शून्य के आसपास बिखरे हुए दिखाई देते हैं, जो दर्शाता है कि मॉडल में किसी भी भविष्यवक्ता चर के साथ विषमलैंगिकता कोई समस्या नहीं है।

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

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