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