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 …
Die Regression ist eine statistische Methode, mit der wir die Beziehung zwischen Prädiktorvariablen und einer Antwortvariablen verstehen können.
Die schrittweise Regression ist ein Verfahren, mit dem wir ein Regressionsmodell aus einer Reihe von Kandidaten-Prädiktorvariablen erstellen können, indem wir Prädiktoren schrittweise in das Modell eingeben und daraus entfernen, bis kein statistisch gültiger Grund mehr für die Eingabe oder Entfernung vorliegt.
Das Ziel der schrittweisen Regression besteht darin, ein Regressionsmodell zu erstellen, das alle Prädiktorvariablen enthält, die statistisch signifikant mit der Antwortvariablen zusammenhängen.
Das allgemeine Verfahren für die schrittweise Regression ist wie folgt:
Schritt 1:
Schritt 2:
Schritt 3:
Schritt 4:
Setzen Sie diesen Vorgang einfach fort, bis das Hinzufügen zusätzlicher Prädiktoren den AIC nicht mehr signifikant reduziert. Wenn kein zusätzlicher Prädiktor den AIC signifikant reduziert, sind Sie bei Ihrem endgültigen Modell angekommen.
Dieser Vorgang wäre manuell ziemlich mühsam, aber glücklicherweise können die meisten statistischen Softwareprogramme diesen Vorgang automatisch ausführen.
Nun werden wir veranschaulichen, wie eine schrittweise Regression in R mithilfe des integrierten Datensatzes mtcars durchgeführt wird:
#Erste sechs Reihen von mtcars anzeigen
head(mtcars)
# mpg cyl disp hp drat wt qsec vs am gear carb
#Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
#Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
Angenommen, wir möchten ein Regressionsmodell anpassen, das mpg (Meilen pro Gallone) als Antwortvariable und alle anderen 10 Variablen im Datensatz als potenzielle Prädiktoren verwendet.
Zunächst definieren wir unser Intercept-Only-Modell.
Anschließend definieren wir einen Bereich, um R mitzuteilen, dass wir versuchen möchten, alle möglichen Prädiktoren schrittweise in das Modell aufzunehmen.
Zuletzt werden wir die step()–Funktion verwenden, um das schrittweise Modell anzupassen, das die folgende Syntax verwendet:
step(Intercept-Only-Modell, Richtung, Umfang)
Der folgende Code zeigt, wie diese schrittweise Regression durchgeführt wird:
#Intercept-only-Modell definieren
intercept_only_model <- lm(mpg ~ 1, data = mtcars)
#Gesamtmodell definieren
total_model <- lm(mpg ~ ., data = mtcars)
#Schrittweise Regression durchführen
step(intercept_only_model, direction = 'both', scope = formula(total_model))
#Start: AIC=115.94
#mpg ~ 1
#
# Df Sum of Sq RSS AIC
#+ wt 1 847.73 278.32 73.217
#+ cyl 1 817.71 308.33 76.494
#+ disp 1 808.89 317.16 77.397
#+ hp 1 678.37 447.67 88.427
#+ drat 1 522.48 603.57 97.988
#+ vs 1 496.53 629.52 99.335
#+ am 1 405.15 720.90 103.672
#+ carb 1 341.78 784.27 106.369
#+ gear 1 259.75 866.30 109.552
#+ qsec 1 197.39 928.66 111.776
# 1126.05 115.943
#
#Step: AIC=73.22
#mpg ~ wt
#
# Df Sum of Sq RSS AIC
#+ cyl 1 87.15 191.17 63.198
#+ hp 1 83.27 195.05 63.840
#+ qsec 1 82.86 195.46 63.908
#+ vs 1 54.23 224.09 68.283
#+ carb 1 44.60 233.72 69.628
#+ disp 1 31.64 246.68 71.356
# 278.32 73.217
#+ drat 1 9.08 269.24 74.156
#+ gear 1 1.14 277.19 75.086
#+ am 1 0.00 278.32 75.217
#- wt 1 847.73 1126.05 115.943
#
#Step: AIC=63.2
#mpg ~ wt + cyl
#
# Df Sum of Sq RSS AIC
#+ hp 1 14.551 176.62 62.665
#+ carb 1 13.772 177.40 62.805
# 191.17 63.198
#+ qsec 1 10.567 180.60 63.378
#+ gear 1 3.028 188.14 64.687
#+ disp 1 2.680 188.49 64.746
#+ vs 1 0.706 190.47 65.080
#+ am 1 0.125 191.05 65.177
#+ drat 1 0.001 191.17 65.198
#- cyl 1 87.150 278.32 73.217
#- wt 1 117.162 308.33 76.494
#
#Step: AIC=62.66
#mpg ~ wt + cyl + hp
#
# Df Sum of Sq RSS AIC
# 176.62 62.665
#- hp 1 14.551 191.17 63.198
#+ am 1 6.623 170.00 63.442
#+ disp 1 6.176 170.44 63.526
#- cyl 1 18.427 195.05 63.840
#+ carb 1 2.519 174.10 64.205
#+ drat 1 2.245 174.38 64.255
#+ qsec 1 1.401 175.22 64.410
#+ gear 1 0.856 175.76 64.509
#+ vs 1 0.060 176.56 64.654
#- wt 1 115.354 291.98 76.750
#
#Call:
#lm(formula = mpg ~ wt + cyl + hp, data = mtcars)
#
#Coefficients:
#(Intercept) wt cyl hp
# 38.75179 -3.16697 -0.94162 -0.01804
Unser endgültiges Modell ist mpg ~ 38,75 – 3,17 * wt – 0,94 * cyl – 0,02 * hyp.
Von den möglichen zehn wurden insgesamt drei Prädiktoren verwendet.
Lassen Sie uns genau durchgehen, was gerade passiert ist, als R diese schrittweise Regression durchgeführt hat.
Zunächst beginnen wir mit dem Intercept-Only-Modell. R sagt uns, dass das Modell zu diesem Zeitpunkt mpg ~ 1 ist, was einen AIC von 115,94 hat. Dann passt R zu jedem möglichen Ein-Prädiktor-Modell und zeigt den entsprechenden AIC. Wir können sehen, dass das Hinzufügen des Prädiktors wt das Modell mit dem niedrigsten AIC ergibt:
#schrittweise Regression durchführen
step(intercept_only_model, direction = 'both', scope = formula(total_model))
#Start: AIC=115.94
#mpg ~ 1
#
# Df Sum of Sq RSS AIC
#+ wt 1 847.73 278.32 73.217
#+ cyl 1 817.71 308.33 76.494
#+ disp 1 808.89 317.16 77.397
#+ hp 1 678.37 447.67 88.427
#+ drat 1 522.48 603.57 97.988
#+ vs 1 496.53 629.52 99.335
#+ am 1 405.15 720.90 103.672
#+ carb 1 341.78 784.27 106.369
#+ gear 1 259.75 866.30 109.552
#+ qsec 1 197.39 928.66 111.776
# 1126.05 115.943
R bestimmt, dass das Modell mpg ~ wt eine statistisch signifikante Verringerung des AIC im Vergleich zum Intercept-Only-Modell bietet, sodass wt in das Modell eingegeben wird. Somit ist das Modell zu diesem Zeitpunkt mpg ~ wt, das einen AIC von 73,22 hat.
Dann passt R zu jedem möglichen Zwei-Prädiktor-Modell, das wt als Prädiktor enthält, und zeigt den entsprechenden AIC. Wir können sehen, dass das Hinzufügen des Prädiktor cyl das Modell mit dem niedrigsten AIC bei 63,198 ergibt. Im Vergleich dazu würde das Hinzufügen keiner zusätzlichen Variablen zum Modell (
#Step: AIC=73.22
#mpg ~ wt
#
# Df Sum of Sq RSS AIC
#+ cyl 1 87.15 191.17 63.198
#+ hp 1 83.27 195.05 63.840
#+ qsec 1 82.86 195.46 63.908
#+ vs 1 54.23 224.09 68.283
#+ carb 1 44.60 233.72 69.628
#+ disp 1 31.64 246.68 71.356
# 278.32 73.217
#+ drat 1 9.08 269.24 74.156
#+ gear 1 1.14 277.19 75.086
#+ am 1 0.00 278.32 75.217
#- wt 1 847.73 1126.05 115.943
Das Modell zu diesem Zeitpunkt ist mpg ~ wt + cyl mit einem AIC von 63,198. Als nächstes passt R zu jedem möglichen Drei-Prädiktor-Modell, das wt und cyl als Prädiktoren enthält, und zeigt den entsprechenden AIC. Wir können sehen, dass das Hinzufügen des Prädiktors hp das Modell mit dem niedrigsten AIC bei 62,665 ergibt. Im Vergleich dazu würde das Hinzufügen keiner zusätzlichen Variablen zum Modell (
#mpg ~ wt + cyl
#
# Df Sum of Sq RSS AIC
#+ hp 1 14.551 176.62 62.665
#+ carb 1 13.772 177.40 62.805
# 191.17 63.198
#+ qsec 1 10.567 180.60 63.378
#+ gear 1 3.028 188.14 64.687
#+ disp 1 2.680 188.49 64.746
#+ vs 1 0.706 190.47 65.080
#+ am 1 0.125 191.05 65.177
#+ drat 1 0.001 191.17 65.198
#- cyl 1 87.150 278.32 73.217
#- wt 1 117.162 308.33 76.494
Das Modell zu diesem Zeitpunkt ist mpg ~ wt + cyl + hp mit einem AIC von 62,665*. Als nächstes passt R zu jedem möglichen Vier-Prädiktor-Modell, das wt, cyl und hp als Prädiktoren enthält, und zeigt den entsprechenden AIC. Wir können sehen, dass das Hinzufügen keiner zusätzlichen Variablen zum Modell (
#Step: AIC=62.66
#mpg ~ wt + cyl + hp
#
# Df Sum of Sq RSS AIC
# 176.62 62.665
#- hp 1 14.551 191.17 63.198
#+ am 1 6.623 170.00 63.442
#+ disp 1 6.176 170.44 63.526
#- cyl 1 18.427 195.05 63.840
#+ carb 1 2.519 174.10 64.205
#+ drat 1 2.245 174.38 64.255
#+ qsec 1 1.401 175.22 64.410
#+ gear 1 0.856 175.76 64.509
#+ vs 1 0.060 176.56 64.654
#- wt 1 115.354 291.98 76.750
#
#Call:
#lm(formula = mpg ~ wt + cyl + hp, data = mtcars)
#
#Coefficients:
#(Intercept) wt cyl hp
# 38.75179 -3.16697 -0.94162 -0.01804
Bei der schrittweisen Regression sind verschiedene Dinge zu beachten, darunter:
Weiterführende Literatur:
Ein Leitfaden zur Multikollinearität in der Regression
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 …