Was ist perfekte multikollinearität? (definition & beispiele)


In der Statistik liegt Multikollinearität vor, wenn zwei oder mehr Prädiktorvariablen stark miteinander korrelieren, sodass sie im Regressionsmodell keine eindeutigen oder unabhängigen Informationen liefern.

Wenn der Korrelationsgrad zwischen den Variablen hoch genug ist, kann dies zu Problemen bei der Anpassung und Interpretation des Regressionsmodells führen.

Der extremste Fall der Multikollinearität wird als perfekte Multikollinearität bezeichnet. Dies geschieht, wenn zwei oder mehr Prädiktorvariablen eine exakte lineare Beziehung zueinander haben.

Angenommen, wir haben den folgenden Datensatz:

Beachten Sie, dass die Werte der Prädiktorvariablen x 2 einfach die Werte von x 1 multipliziert mit 2 sind.

Beispiel perfekter Multikollinearität

Dies ist ein Beispiel für perfekte Multikollinearität .

Das Problem der perfekten Multikollinearität

Wenn in einem Datensatz perfekte Multikollinearität vorhanden ist, können mithilfe der Methode der kleinsten Quadrate keine Schätzungen der Regressionskoeffizienten erstellt werden.

Tatsächlich ist es nicht möglich, den marginalen Effekt einer Prädiktorvariablen (x 1 ) auf die Antwortvariable (y) abzuschätzen und gleichzeitig eine andere Prädiktorvariable (x 2 ) konstant zu halten, da sich x 2 immer genau bewegt, wenn sich x 1 bewegt.

Kurz gesagt, perfekte Multikollinearität macht es unmöglich, für jeden Koeffizienten in einem Regressionsmodell einen Wert zu schätzen.

Wie man mit perfekter Multikollinearität umgeht

Der einfachste Weg, mit perfekter Multikollinearität umzugehen, besteht darin, eine der Variablen zu entfernen, die eine exakte lineare Beziehung zu einer anderen Variablen aufweist.

In unserem vorherigen Datensatz könnten wir beispielsweise einfach x 2 als Prädiktorvariable entfernen.

Anschließend würden wir ein Regressionsmodell mit x 1 als Prädiktorvariable und y als Antwortvariable anpassen.

Beispiele perfekter Multikollinearität

Die folgenden Beispiele zeigen die drei häufigsten Szenarien perfekter Multikollinearität in der Praxis.

1. Eine Prädiktorvariable ist ein Vielfaches einer anderen

Nehmen wir an, wir möchten „Größe in Zentimetern“ und „Größe in Metern“ verwenden, um das Gewicht einer bestimmten Delfinart vorherzusagen.

So könnte unser Datensatz aussehen:

Beachten Sie, dass der Wert „Höhe in Zentimetern“ einfach gleich „Höhe in Metern“ multipliziert mit 100 ist. Dies ist ein Fall perfekter Multikollinearität.

Wenn wir versuchen, mithilfe dieses Datensatzes ein multiples lineares Regressionsmodell in R anzupassen, können wir keine Koeffizientenschätzung für die Prädiktorvariable „Meter“ erstellen:

 #define data
df <- data. frame (weight=c(400, 460, 470, 475, 490, 440, 430, 490, 500, 540),
                 m=c(1.3, .7, .6, 1.3, 1.2, 1.5, 1.2, 1.6, 1.1, 1.4),
                 cm=c(130, 70, 60, 130, 120, 150, 120, 160, 110, 140))

#fit multiple linear regression model
model <- lm(weight~m+cm, data=df)

#view summary of model
summary(model)

Call:
lm(formula = weight ~ m + cm, data = df)

Residuals:
    Min 1Q Median 3Q Max 
-70,501 -25,501 5,183 19,499 68,590 

Coefficients: (1 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 458,676 53,403 8,589 2.61e-05 ***
m 9.096 43.473 0.209 0.839    
cm NA NA NA NA    
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 41.9 on 8 degrees of freedom
Multiple R-squared: 0.005442, Adjusted R-squared: -0.1189 
F-statistic: 0.04378 on 1 and 8 DF, p-value: 0.8395

2. Eine Prädiktorvariable ist eine transformierte Version einer anderen

Nehmen wir an, wir möchten „Punkte“ und „skalierte Punkte“ verwenden, um die Bewertung von Basketballspielern vorherzusagen.

Angenommen, die Variable „skalierte Punkte“ wird wie folgt berechnet:

Skalierte Punkte = (Punkte – μ- Punkte ) / σ- Punkte

So könnte unser Datensatz aussehen:

Beachten Sie, dass jeder „skalierte Punkte“-Wert lediglich eine standardisierte Version von „Punkten“ ist. Dies ist ein Fall perfekter Multikollinearität.

Wenn wir versuchen, mithilfe dieses Datensatzes ein multiples lineares Regressionsmodell in R anzupassen, können wir keine Koeffizientenschätzung für die Prädiktorvariable „skalierte Punkte“ erstellen:

 #define data
df <- data. frame (rating=c(88, 83, 90, 94, 96, 78, 79, 91, 90, 82),
                 pts=c(17, 19, 24, 29, 33, 15, 14, 29, 25, 22))

df$scaled_pts <- (df$pts - mean(df$pts)) / sd(df$pts)

#fit multiple linear regression model
model <- lm(rating~pts+scaled_pts, data=df)

#view summary of model
summary(model)

Call:
lm(formula = rating ~ pts + scaled_pts, data = df)

Residuals:
    Min 1Q Median 3Q Max 
-4.4932 -1.3941 -0.2935 1.3055 5.8412 

Coefficients: (1 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 67.4218 3.5896 18.783 6.67e-08 ***
pts 0.8669 0.1527 5.678 0.000466 ***
scaled_pts NA NA NA NA    
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.953 on 8 degrees of freedom
Multiple R-squared: 0.8012, Adjusted R-squared: 0.7763 
F-statistic: 32.23 on 1 and 8 DF, p-value: 0.0004663

3. Die Dummy-Variablenfalle

Ein weiteres Szenario, in dem perfekte Multikollinearität auftreten kann, ist als Dummy-Variablenfalle bekannt. Dies ist der Fall, wenn wir eine kategoriale Variable in einem Regressionsmodell nehmen und sie in eine „Dummy-Variable“ umwandeln möchten, die die Werte 0, 1, 2 usw. annimmt.

Nehmen wir zum Beispiel an, wir möchten die Prädiktorvariablen „Alter“ und „Familienstand“ verwenden, um das Einkommen vorherzusagen:

Um „Familienstand“ als Prädiktorvariable zu verwenden, müssen wir ihn zunächst in eine Dummy-Variable umwandeln.

Dazu können wir „Single“ als Basiswert belassen, da dies am häufigsten vorkommt, und „Verheiratet“ und „Geschieden“ wie folgt Werte von 0 oder 1 zuweisen:

Ein Fehler wäre, drei neue Dummy-Variablen wie folgt zu erstellen:

In diesem Fall ist die Variable „Single“ eine perfekte lineare Kombination der Variablen „Verheiratet“ und „Geschieden“. Dies ist ein Beispiel für perfekte Multikollinearität.

Wenn wir versuchen, mithilfe dieses Datensatzes ein multiples lineares Regressionsmodell in R anzupassen, können wir nicht für jede Prädiktorvariable eine Koeffizientenschätzung erstellen:

 #define data
df <- data. frame (income=c(45, 48, 54, 57, 65, 69, 78, 83, 98, 104, 107),
                 age=c(23, 25, 24, 29, 38, 36, 40, 59, 56, 64, 53),
                 single=c(1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0),
                 married=c(0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1),
                 divorced=c(0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0))

#fit multiple linear regression model
model <- lm(income~age+single+married+divorced, data=df)

#view summary of model
summary(model)

Call:
lm(formula = income ~ age + single + married + divorced, data = df)

Residuals:
    Min 1Q Median 3Q Max 
-9.7075 -5.0338 0.0453 3.3904 12.2454 

Coefficients: (1 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)   
(Intercept) 16.7559 17.7811 0.942 0.37739   
age 1.4717 0.3544 4.152 0.00428 **
single -2.4797 9.4313 -0.263 0.80018   
married NA NA NA NA   
divorced -8.3974 12.7714 -0.658 0.53187   
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 8.391 on 7 degrees of freedom
Multiple R-squared: 0.9008, Adjusted R-squared: 0.8584 
F-statistic: 21.2 on 3 and 7 DF, p-value: 0.0006865

Zusätzliche Ressourcen

Ein Leitfaden zu Multikollinearität und VIF in der Regression
So berechnen Sie VIF in R
So berechnen Sie VIF in Python
So berechnen Sie den VIF in Excel

Einen Kommentar hinzufügen

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