Das Akaike-Informationskriterium (AIC) ist eine Metrik, die verwendet wird, um die Anpassung verschiedener Regressionsmodelle zu vergleichen.
Es wird berechnet als:
AIC = 2K – 2ln (L)
wo:
- K: Die Anzahl der Modellparameter …
Das Bayes'sche Informationskriterium, oft abgekürzt BIC (engl. Bayes information criterium), ist eine Metrik, die verwendet wird, um die Anpassungsgüte verschiedener Regressionsmodelle zu vergleichen.
In der Praxis passen wir mehrere Regressionsmodelle an denselben Datensatz an und wählen das Modell mit dem niedrigsten BIC-Wert als das Modell, das am besten zu den Daten passt.
Wir verwenden die folgende Formel, um den BIC zu berechnen:
BIC: (RSS+log(n)dσ̂ 2 ) / n
wo:
Um den BIC mehrerer Regressionsmodelle in Python zu berechnen, können wir die Funktion statsmodels.regression.linear_model.OLS() verwenden, die eine Eigenschaft namens bic hat, die uns den BIC-Wert für ein bestimmtes Modell mitteilt.
Das folgende Beispiel zeigt, wie Sie diese Funktion verwenden, um den BIC für verschiedene Regressionsmodelle in Python zu berechnen und zu interpretieren.
Angenommen, wir möchten zwei verschiedene multiple lineare Regressionsmodelle mit 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
#URL definieren, wo sich der Datensatz befindet
url = "https://raw.githubusercontent.com/Statology/Python-Guides/main/mtcars.csv"
#Daten einlesen
Daten = pd. read_csv (URL)
#Datenkopf anzeigen
Daten. Kopf ()
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
Als Nächstes passen wir die folgenden zwei Regressionsmodelle an:
Der folgende Code zeigt, wie das erste Modell angepasst und der BIC berechnet wird:
#Antwortvariable definieren
y = data['mpg']
#Prädiktorvariablen definieren
x = data[['disp', 'qsec']]
# Konstante zu Prädiktorvariablen hinzufügen
x = sm.add_constant(x)
#Regressionsmodell anpassen
model = sm.OLS(y, x).fit()
#BIC des Modells anzeigen
print(model.bic)
174.23905634994506
Der BIC dieses Modells stellt sich als 174.239 heraus.
Als nächstes passen wir das zweite Modell an und berechnen den BIC:
#Antwortvariable definieren
y = data['mpg']
#Prädiktorvariablen definieren
x = data[['disp', 'wt']]
# Konstante zu Prädiktorvariablen hinzufügen
x = sm.add_constant(x)
#Regressionsmodell anpassen
model = sm.OLS(y, x).fit()
#BIC des Modells anzeigen
print(model.bic)
166.56499196301334
Der BIC dieses Modells stellt sich als 166.565 heraus.
Da das zweite Modell einen niedrigeren BIC-Wert hat, ist es das besser passende Modell.
Sobald wir dieses Modell als das beste identifiziert haben, können wir mit der Anpassung des Modells fortfahren und die Ergebnisse einschließlich des R-Quadrat-Werts und der Beta-Koeffizienten analysieren, um die genaue Beziehung zwischen dem Satz von Prädiktorvariablen und der Antwortvariablen zu bestimmen.
Zwei weitere Metriken, die häufig verwendet werden, um die Anpassung von Regressionsmodellen zu vergleichen, sind AIC und adjustiertes R-Quadrat.
In den folgenden Tutorials wird erläutert, wie Sie jede dieser Metriken für Regressionsmodelle in Python berechnen:
So berechnen Sie AIC von Regressionsmodellen in Python
So berechnen Sie das angepasste R-Quadrat in Python
Das Akaike-Informationskriterium (AIC) ist eine Metrik, die verwendet wird, um die Anpassung verschiedener Regressionsmodelle zu vergleichen.
Es wird berechnet als:
AIC = 2K – 2ln (L)
wo:
Die logistische Regression ist eine statistische Methode, die wir verwenden, um ein Regressionsmodell anzupassen, wenn die Antwortvariable binär ist.
Um zu beurteilen, wie gut ein logistisches Regressionsmodell zu einem Datensatz …