So beheben sie das problem in r: das modell enthält alias-koeffizienten


Ein Fehler, der in R auftreten kann, ist:

 Error in vive.default(model): there are aliased coefficients in the model

Dieser Fehler tritt typischerweise auf, wenn in einem Regressionsmodell Multikollinearität vorliegt. Das heißt, zwei oder mehr Prädiktorvariablen im Modell sind stark (oder perfekt) korreliert.

Wenn dies geschieht, sagen wir, dass eine Variable ein „Alias“ einer anderen Variablen ist, was bei der Anpassung eines Regressionsmodells zu Problemen führt.

Das folgende Beispiel zeigt, wie dieser Fehler in der Praxis behoben werden kann.

So reproduzieren Sie den Fehler

Angenommen, wir wenden das folgende Regressionsmodell in R an:

 #make this example reproducible
set. seeds (0)

#define data
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- x2*3
y <- rnorm(100)

#fit regression model
model <- lm(y~x1+x2+x3)

Wir können die Funktion vive() des Autopakets verwenden, um die VIF-Werte für jede Prädiktorvariable im Modell zu berechnen, um festzustellen, ob Multikollinearität ein Problem darstellt:

 library (car)

#calculate VIF values for predictor variables
lively(model)

Error in vive.default(model): there are aliased coefficients in the model

Wir erhalten die Fehlermeldung „ Das Modell enthält Alias-Koeffizienten“.

Dies sagt uns, dass zwei oder mehr Prädiktorvariablen im Modell perfekt korreliert sind.

So beheben Sie den Fehler

Um zu bestimmen, welche Prädiktorvariablen perfekt korrelieren, können wir mit der Funktion cor() eine Korrelationsmatrix für die Variablen erstellen:

 #place variables in data frame
df <- data. frame (x1, x2, x3, y)

#create correlation matrix for data frame
cor(df)

           x1 x2 x3 y
x1 1.00000000 0.126886263 0.126886263 0.065047543
x2 0.12688626 1.000000000 1.000000000 -0.009107573
x3 0.12688626 1.000000000 1.000000000 -0.009107573
y 0.06504754 -0.009107573 -0.009107573 1.000000000

Wir können sehen, dass die Variablen x2 und x3 einen Korrelationskoeffizienten von 1 haben. Dies sagt uns, dass diese beiden Variablen den Fehler verursachen, weil sie perfekt korreliert sind.

Um diesen Fehler zu beheben, passen Sie einfach das Regressionsmodell erneut an und lassen eine dieser beiden Variablen weg.

Es spielt keine Rolle, welche Variable wir weglassen, da beide im Regressionsmodell genau die gleichen Informationen liefern.

Der Einfachheit halber entfernen wir x3 und passen das Regressionsmodell erneut an:

 library (car)

#make this example reproducible
set. seeds (0)

#define data
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- x2*3
y <- rnorm(100)

#fit regression model
model <- lm(y~x1+x2)

#calculate VIF values for predictor variables in model
lively(model)

      x1 x2 
1.016364 1.016364 

Beachten Sie, dass wir dieses Mal bei der Berechnung der VIF-Werte für das Modell keine Fehler erhalten, da Multikollinearität kein Problem mehr darstellt.

Verwandte Themen: So berechnen und interpretieren Sie VIF-Werte in R

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in R beheben können:

So reparieren Sie in R: Der Ersatz hat die Länge Null
So beheben Sie das Problem in R: Argumente umfassen eine unterschiedliche Anzahl von Zeilen
So beheben Sie das Problem in R: Das Argument ist weder numerisch noch logisch: Geben Sie na zurück

Einen Kommentar hinzufügen

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