पायथन में गोल्डफेल्ड-क्वांड्ट परीक्षण कैसे करें


गोल्डफेल्ड-क्वांड्ट परीक्षण का उपयोग यह निर्धारित करने के लिए किया जाता है कि प्रतिगमन मॉडल में हेटेरोस्केडैस्टिसिटी मौजूद है या नहीं।

विषमलैंगिकता एक प्रतिगमन मॉडल में प्रतिक्रिया चर के विभिन्न स्तरों पर अवशेषों के असमान फैलाव को संदर्भित करती है।

यदि विषमलैंगिकता मौजूद है, तो यह रैखिक प्रतिगमन की प्रमुख धारणाओं में से एक का उल्लंघन करता है कि प्रतिक्रिया चर के प्रत्येक स्तर पर अवशेष समान रूप से बिखरे हुए हैं।

यह ट्यूटोरियल पायथन में गोल्डफेल्ड-क्वांड्ट परीक्षण कैसे करें, इसका चरण-दर-चरण उदाहरण प्रदान करता है।

चरण 1: डेटासेट बनाएं

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

 import pandas as pd

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

#view DataFrame
print (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

चरण 2: रैखिक प्रतिगमन मॉडल को फ़िट करें

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

 import statsmodels. api as sm

#define predictor and response variables
y = df[' score ']
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.718
Model: OLS Adj. R-squared: 0.661
Method: Least Squares F-statistic: 12.70
Date: Mon, 31 Oct 2022 Prob (F-statistic): 0.00180
Time: 09:22:56 Log-Likelihood: -38.618
No. Observations: 13 AIC: 83.24
Df Residuals: 10 BIC: 84.93
Model: 2                                         
Covariance Type: non-robust                                         
==================================================== ============================
                 coef std err t P>|t| [0.025 0.975]
-------------------------------------------------- ----------------------------
const 71.4048 4.001 17.847 0.000 62.490 80.319
hours 5.1275 1.018 5.038 0.001 2.860 7.395
exams -1.2121 1.147 -1.057 0.315 -3.768 1.344
==================================================== ============================
Omnibus: 1,103 Durbin-Watson: 1,248
Prob(Omnibus): 0.576 Jarque-Bera (JB): 0.803
Skew: -0.289 Prob(JB): 0.669
Kurtosis: 1.928 Cond. No. 11.7
==================================================== ============================

चरण 3: गोल्डफेल्ड-क्वांड्ट परीक्षण करें

इसके बाद, हम गोल्डफेल्ड-क्वांड्ट परीक्षण करने के लिए statsmodels het_goldfeldquandt() फ़ंक्शन का उपयोग करेंगे।

ध्यान दें : गोल्डफेल्ड-क्वांड्ट परीक्षण डेटा सेट के केंद्र में स्थित कई अवलोकनों को हटाकर काम करता है और फिर यह देखने के लिए परीक्षण करता है कि क्या अवशेषों का वितरण दो परिणामी डेटा सेटों से अलग है जो केंद्रीय अवलोकनों के प्रत्येक पक्ष पर बंधे हैं।

आमतौर पर, हम कुल अवलोकनों में से लगभग 20% को हटाना चुनते हैं। इस मामले में, हम ड्रॉप तर्क का उपयोग यह निर्दिष्ट करने के लिए कर सकते हैं कि हम 20% टिप्पणियों को हटाना चाहते हैं:

 #perform Goldfeld-Quandt test
sm. stats . diagnosis . het_goldfeldquandt (y, x, drop= 0.2 )

(1.7574505407790355, 0.38270288684680076, 'increasing')

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

  • परीक्षण आँकड़ा 1.757 है।
  • संगत पी-मान 0.383 है।

गोल्डफेल्ड-क्वांड्ट परीक्षण निम्नलिखित शून्य और वैकल्पिक परिकल्पनाओं का उपयोग करता है:

  • शून्य (एच 0 ) : समरूपता विद्यमान है।
  • वैकल्पिक ( एचए ): विषमलैंगिकता मौजूद है।

चूँकि पी-मान 0.05 से कम नहीं है, हम शून्य परिकल्पना को अस्वीकार करने में विफल रहते हैं।

हमारे पास यह तर्क देने के लिए पर्याप्त सबूत नहीं हैं कि प्रतिगमन मॉडल में विषमलैंगिकता एक समस्या है।

आगे क्या करना है

यदि आप गोल्डफेल्ड-क्वांड्ट परीक्षण की शून्य परिकल्पना को अस्वीकार करने में विफल रहते हैं, तो विषमलैंगिकता मौजूद नहीं है और आप मूल प्रतिगमन के परिणाम की व्याख्या करने के लिए आगे बढ़ सकते हैं।

हालाँकि, यदि आप शून्य परिकल्पना को अस्वीकार करते हैं, तो इसका मतलब है कि डेटा में विषमलैंगिकता मौजूद है। इस मामले में, प्रतिगमन आउटपुट तालिका में प्रदर्शित मानक त्रुटियां अविश्वसनीय हो सकती हैं।

इस समस्या को हल करने के कई सामान्य तरीके हैं, जिनमें शामिल हैं:

1. प्रतिक्रिया चर को रूपांतरित करें।

आप प्रतिक्रिया चर पर परिवर्तन करने का प्रयास कर सकते हैं, उदाहरण के लिए प्रतिक्रिया चर का लॉग, वर्गमूल या घनमूल लेना। आम तौर पर, इससे विषमलैंगिकता गायब हो सकती है।

2. भारित प्रतिगमन का प्रयोग करें.

भारित प्रतिगमन प्रत्येक डेटा बिंदु को उसके फिट मूल्य के भिन्नता के आधार पर एक भार प्रदान करता है। अनिवार्य रूप से, यह उन डेटा बिंदुओं को कम महत्व देता है जिनमें अधिक भिन्नताएं होती हैं, जिससे उनके अवशिष्ट वर्ग कम हो जाते हैं।

जब उचित वजन का उपयोग किया जाता है, तो भारित प्रतिगमन विषमलैंगिकता की समस्या को खत्म कर सकता है।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य ऑपरेशन कैसे करें:

पायथन में ओएलएस रिग्रेशन कैसे करें
पायथन में एक अवशिष्ट प्लॉट कैसे बनाएं
पायथन में व्हाइट टेस्ट कैसे करें
पायथन में ब्रूश-पैगन परीक्षण कैसे करें

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

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