So berechnen sie den aic von regressionsmodellen in python
Das Akaike Information Criterion (AIC) ist eine Metrik, die zum Vergleich der Passung verschiedener Regressionsmodelle verwendet wird.
Es wird wie folgt berechnet:
AIC = 2K – 2 ln (L)
Gold:
- K: Die Anzahl der Modellparameter. Der Standardwert von K ist 2, sodass ein Modell mit nur einer Prädiktorvariablen einen K-Wert von 2+1 = 3 hat.
- ln (L) : Die Log-Likelihood des Modells. Dies sagt uns die Wahrscheinlichkeit des Modells angesichts der Daten.
AIC soll das Modell finden, das die größte Variation in den Daten erklärt, und gleichzeitig Modelle bestrafen, die eine übermäßige Anzahl von Parametern verwenden.
Nachdem Sie mehrere Regressionsmodelle angepasst haben, können Sie den AIC-Wert jedes Modells vergleichen. Das Modell mit dem niedrigsten AIC bietet die beste Passform.
Um den AIC mehrerer Regressionsmodelle in Python zu berechnen, können wir die Funktion statsmodels.regression.linear_model.OLS() verwenden, die über eine Eigenschaft namens aic verfügt, die uns den AIC-Wert für ein bestimmtes Modell angibt.
Das folgende Beispiel zeigt, wie Sie diese Funktion verwenden, um AIC für verschiedene Regressionsmodelle in Python zu berechnen und zu interpretieren.
Beispiel: AIC in Python berechnen und interpretieren
Nehmen wir an, wir möchten zwei verschiedene multiple lineare Regressionsmodelle mithilfe von Variablen aus dem mtcars- Datensatz anpassen.
Zuerst laden wir diesen Datensatz:
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
Hier sind die Prädiktorvariablen, die wir in jedem Modell verwenden werden:
- Prädiktorvariablen in Modell 1: disp, hp, wt, qsec
- Prädiktorvariablen in Modell 2: disp, qsec
Der folgende Code zeigt, wie das erste Modell angepasst und der AIC berechnet wird:
#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
Der AIC dieses Modells beträgt 157,07 .
Als nächstes passen wir das zweite Modell an und berechnen den AIC:
#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
Der AIC dieses Modells beträgt 169,84 .
Da das erste Modell einen niedrigeren AIC-Wert aufweist, ist es das am besten passende Modell.
Sobald wir dieses Modell als das beste identifiziert haben, können wir mit der Modellanpassung fortfahren und die Ergebnisse analysieren, einschließlich des R-Quadrat-Werts und der Beta-Koeffizienten, um die genaue Beziehung zwischen dem Satz von Vorhersagevariablen und der Antwortvariablen zu bestimmen.
Zusätzliche Ressourcen
Eine vollständige Anleitung zur linearen Regression in Python
So berechnen Sie das angepasste R-Quadrat in Python