सांख्यिकीय मॉडल में रैखिक प्रतिगमन से पी मान कैसे निकालें


आप पायथन में स्टैटमॉडल मॉड्यूल का उपयोग करके एक रैखिक प्रतिगमन मॉडल फिट में गुणांक के लिए पी-मान निकालने के लिए निम्नलिखित विधियों का उपयोग कर सकते हैं:

 #extract p-values for all predictor variables
for x in range(0, 3):
    print ( model.pvalues [x])

#extract p-value for specific predictor variable name
model. pvalues . loc [' predictor1 ']

#extract p-value for specific predictor variable position
model. pvalues [0]

निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में प्रत्येक विधि का उपयोग कैसे करें।

उदाहरण: सांख्यिकीय मॉडल में रैखिक प्रतिगमन से पी-मान निकालें

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

 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 head of DataFrame
df. head ()

	hours exam score
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72

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

 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: Fri, 05 Aug 2022 Prob (F-statistic): 0.00180
Time: 09:24:38 Log-Likelihood: -38.618
No. Observations: 13 AIC: 83.24
Df Residuals: 10 BIC: 84.93
Df 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
==================================================== ============================

डिफ़ॉल्ट रूप से, सारांश() फ़ंक्शन प्रत्येक भविष्यवक्ता चर के पी-मान को तीन दशमलव स्थानों तक प्रदर्शित करता है:

  • अवरोधन के लिए पी-मान: 0.000
  • घंटों के लिए पी-मान: 0.001
  • परीक्षा के लिए पी-वैल्यू: 0.315

हालाँकि, हम निम्नलिखित सिंटैक्स का उपयोग करके मॉडल से प्रत्येक भविष्यवक्ता चर के लिए पूर्ण पी-मान निकाल सकते हैं:

 #extract p-values for all predictor variables
for x in range(0, 3):
    print ( model.pvalues [x])

6.514115622692573e-09
0.0005077783375870773
0.3154807854805659

यह हमें अधिक दशमलव स्थानों के साथ पी-मान देखने की अनुमति देता है:

  • अवरोधन के लिए पी-मान: 0.00000000651411562269257
  • घंटों के लिए पी-मान: 0.0005077783375870773
  • परीक्षा के लिए पी-वैल्यू: 0.3154807854805659

नोट : हमने अपने रेंज() फ़ंक्शन में 3 का उपयोग किया क्योंकि हमारे प्रतिगमन मॉडल में कुल तीन गुणांक थे।

हम “घंटे” वेरिएबल के लिए विशेष रूप से पी-वैल्यू निकालने के लिए निम्नलिखित सिंटैक्स का भी उपयोग कर सकते हैं:

 #extract p-value for 'hours' only
model. pvalues . loc [' hours ']

0.0005077783375870773

या हम प्रतिगमन मॉडल की एक विशिष्ट स्थिति में एक चर के गुणांक के पी-मान को निकालने के लिए निम्नलिखित वाक्यविन्यास का उपयोग कर सकते हैं:

 #extract p-value for coefficient in index position 0
model. pvalues [0]

6.514115622692573e-09

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

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

पायथन में लॉजिस्टिक रिग्रेशन कैसे करें
पायथन में प्रतिगमन मॉडल के एआईसी की गणना कैसे करें
पायथन में समायोजित आर-वर्ग की गणना कैसे करें

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

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