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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert