सांख्यिकीय मॉडल में रैखिक प्रतिगमन से पी मान कैसे निकालें
आप पायथन में स्टैटमॉडल मॉड्यूल का उपयोग करके एक रैखिक प्रतिगमन मॉडल फिट में गुणांक के लिए पी-मान निकालने के लिए निम्नलिखित विधियों का उपयोग कर सकते हैं:
#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
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य कार्य कैसे करें:
पायथन में लॉजिस्टिक रिग्रेशन कैसे करें
पायथन में प्रतिगमन मॉडल के एआईसी की गणना कैसे करें
पायथन में समायोजित आर-वर्ग की गणना कैसे करें