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


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

इसकी गणना इस प्रकार की जाती है:

एआईसी = 2K – 2 एलएन (एल)

सोना:

  • K: मॉडल मापदंडों की संख्या। K का डिफ़ॉल्ट मान 2 है, इसलिए केवल एक भविष्यवक्ता चर वाले मॉडल का K मान 2+1 = 3 होगा।
  • एलएन (एल) : मॉडल की लॉग-संभावना। यह हमें डेटा दिए जाने पर मॉडल की संभावना बताता है।

एआईसी को उस मॉडल को खोजने के लिए डिज़ाइन किया गया है जो डेटा में सबसे अधिक भिन्नता की व्याख्या करता है, जबकि अत्यधिक संख्या में मापदंडों का उपयोग करने वाले मॉडल को दंडित करता है।

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

पायथन में एकाधिक प्रतिगमन मॉडल के एआईसी की गणना करने के लिए, हम 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 में भविष्यवक्ता चर: डिस्प, एचपी, डब्ल्यूटी, क्यूसेक
  • मॉडल 2 में भविष्यवक्ता चर: डिस्प, क्यूसेक

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

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

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

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

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

#view AIC of model
print (model. aic )

157.06960941462438

इस मॉडल का AIC 157.07 निकला।

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

 #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 AIC of model
print (model. aic )

169.84184864154588

इस मॉडल का AIC 169.84 निकला।

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

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

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

पायथन में रैखिक प्रतिगमन के लिए एक संपूर्ण मार्गदर्शिका
पायथन में समायोजित आर-वर्ग की गणना कैसे करें

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

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