पायथन में बीआईसी की गणना कैसे करें


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

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

हम बीआईसी की गणना के लिए निम्नलिखित सूत्र का उपयोग करते हैं:

बीआईसी: (आरएसएस+लॉग(एन)डीσ̂ 2 ) / एन

सोना:

  • डी: भविष्यवक्ताओं की संख्या
  • n: कुल अवलोकन
  • σ̂: प्रतिगमन मॉडल में प्रत्येक प्रतिक्रिया माप से जुड़े त्रुटि विचरण का अनुमान
  • आरएसएस: प्रतिगमन मॉडल से वर्गों का अवशिष्ट योग
  • टीएसएस: प्रतिगमन मॉडल के वर्गों का कुल योग

पायथन में एकाधिक प्रतिगमन मॉडल के बीआईसी की गणना करने के लिए, हम statsmodels.regression.linear_model.OLS() फ़ंक्शन का उपयोग कर सकते हैं, जिसमें बीआईसी नामक एक संपत्ति है जो हमें किसी दिए गए मॉडल के लिए बीआईसी मान बताती है।

निम्नलिखित उदाहरण दिखाता है कि पायथन में विभिन्न प्रतिगमन मॉडल के लिए बीआईसी की गणना और व्याख्या करने के लिए इस फ़ंक्शन का उपयोग कैसे करें।

उदाहरण: पायथन में प्रतिगमन मॉडल के बीआईसी की गणना करें

मान लीजिए कि हम एमटीकार्स डेटासेट से वेरिएबल्स का उपयोग करके दो अलग-अलग एकाधिक रैखिक प्रतिगमन मॉडल फिट करना चाहते हैं।

सबसे पहले, हम इस डेटासेट को लोड करेंगे:

 from sklearn. linear_model import LinearRegression
import statsmodels. api as sm
import pandas as pd

#define URL where dataset is located
url = "https://raw.githubusercontent.com/Statorials/Python-Guides/main/mtcars.csv"

#read in data
data = pd. read_csv (url)

#view head of data
data. head ()

        model mpg cyl disp hp drat wt qsec vs am gear carb
0 Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
1 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
2 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
3 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
4 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2

इसके बाद, हम निम्नलिखित दो प्रतिगमन मॉडल फिट करेंगे:

  • मॉडल 1 : mpg = β 0 + β 1 (डिस्प) + β 2 (qsec)
  • मॉडल 2 : mpg = β 0 + β 1 (उपलब्ध) + β 2 (wt)

निम्नलिखित कोड दिखाता है कि पहले मॉडल को कैसे फिट किया जाए और बीआईसी की गणना कैसे की जाए:

 #define response variable
y = data['mpg']

#define predictor variables
x = data[['disp', 'qsec']]

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

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

#view BIC of model
print (model. bic )

174.23905634994506

इस मॉडल का BIC 174.239 निकला।

इसके बाद, हम दूसरे मॉडल को फिट करेंगे और बीआईसी की गणना करेंगे:

 #define response variable
y = data['mpg']

#define predictor variables
x = data[['disp', 'wt']]

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

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

#view BIC of model
print (model. bic )

166.56499196301334

इस मॉडल का BIC 166.565 निकला।

चूँकि दूसरे मॉडल का BIC मान कम है, यह सबसे उपयुक्त मॉडल है।

एक बार जब हम इस मॉडल को सर्वश्रेष्ठ के रूप में पहचान लेते हैं, तो हम मॉडल फिटिंग के साथ आगे बढ़ सकते हैं और पूर्वानुमानित चर के सेट और प्रतिक्रिया चर के बीच सटीक संबंध निर्धारित करने के लिए आर-वर्ग मान और बीटा गुणांक सहित परिणामों का विश्लेषण कर सकते हैं।

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

प्रतिगमन मॉडल के फिट की तुलना करने के लिए आमतौर पर उपयोग किए जाने वाले दो अन्य मेट्रिक्स एआईसी और समायोजित आर-स्क्वायर हैं।

निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में प्रतिगमन मॉडल के लिए इनमें से प्रत्येक मेट्रिक्स की गणना कैसे करें:

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

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

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