So berechnen sie den bic in python


Das Bayes’sche Informationskriterium , oft als BIC abgekürzt, ist ein Maß zum Vergleich der Anpassungsgüte verschiedener Regressionsmodelle.

In der Praxis passen wir mehrere Regressionsmodelle an denselben Datensatz an und wählen das Modell mit dem niedrigsten BIC-Wert als das Modell aus, das am besten zu den Daten passt.

Zur Berechnung des BIC verwenden wir folgende Formel:

BIC: (RSS+log(n)dσ̂ 2 ) / n

Gold:

  • d: Die Anzahl der Prädiktoren
  • n: Gesamtbeobachtungen
  • σ̂: Schätzung der Fehlervarianz, die jedem Antwortmaß in einem Regressionsmodell zugeordnet ist
  • RSS: Residualsumme der Quadrate aus dem Regressionsmodell
  • TSS: Gesamtsumme der Quadrate des Regressionsmodells

Um den BIC mehrerer Regressionsmodelle in Python zu berechnen, können wir die Funktion statsmodels.regression.linear_model.OLS() verwenden, die über eine Eigenschaft namens bic verfügt, die uns den BIC-Wert für ein bestimmtes Modell angibt.

Das folgende Beispiel zeigt, wie diese Funktion zum Berechnen und Interpretieren des BIC für verschiedene Regressionsmodelle in Python verwendet wird.

Beispiel: Berechnen Sie den BIC von Regressionsmodellen in Python

Angenommen, 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

Als nächstes passen wir die folgenden zwei Regressionsmodelle an:

  • Modell 1 : mpg = β 0 + β 1 (disp) + β 2 (qsec)
  • Modell 2 : mpg = β 0 + β 1 (verfügbar) + β 2 (Gewicht)

Der folgende Code zeigt, wie das erste Modell angepasst und der BIC berechnet wird:

 #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

Der BIC dieses Modells beträgt 174,239 .

Als nächstes passen wir das zweite Modell an und berechnen den BIC:

 #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

Der BIC dieses Modells beträgt 166,565 .

Da das zweite Modell einen niedrigeren BIC-Wert hat, 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

Zwei weitere häufig verwendete Metriken zum Vergleich der Anpassung von Regressionsmodellen sind AIC und angepasstes R-Quadrat .

In den folgenden Tutorials wird erläutert, wie Sie jede dieser Metriken für Regressionsmodelle in Python berechnen:

So berechnen Sie den AIC von Regressionsmodellen 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