Cara memperbaikinya di r: ada koefisien alias di model
Kesalahan yang mungkin Anda temui di R adalah:
Error in vive.default(model): there are aliased coefficients in the model
Kesalahan ini biasanya terjadi ketika terdapat multikolinearitas dalam model regresi. Artinya, dua atau lebih variabel prediktor dalam model berkorelasi tinggi (atau sempurna).
Jika hal ini terjadi, kita dapat mengatakan bahwa suatu variabel merupakan “alias” dari variabel lain, yang menyebabkan masalah saat menyesuaikan model regresi.
Contoh berikut menunjukkan cara memperbaiki kesalahan ini dalam praktiknya.
Bagaimana cara mereproduksi kesalahan tersebut
Misalkan kita menerapkan model regresi berikut di R:
#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)
Kita dapat menggunakan fungsi vive() pada paket mobil untuk menghitung nilai VIF untuk setiap variabel prediktor dalam model guna menentukan apakah multikolinearitas merupakan masalah:
library (car)
#calculate VIF values for predictor variables
lively(model)
Error in vive.default(model): there are aliased coefficients in the model
Kami menerima kesalahan yang menyatakan ” ada koefisien alias dalam model”. “
Hal ini menunjukkan bahwa dua atau lebih variabel prediktor dalam model berkorelasi sempurna.
Bagaimana cara memperbaiki kesalahan tersebut
Untuk menentukan variabel prediktor mana yang berkorelasi sempurna, kita dapat menggunakan fungsi cor() untuk membuat matriks korelasi untuk variabel tersebut:
#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
Kita dapat melihat bahwa variabel x2 dan x3 memiliki koefisien korelasi sebesar 1. Hal ini menunjukkan bahwa kedua variabel tersebut menyebabkan kesalahan karena keduanya berkorelasi sempurna.
Untuk memperbaiki kesalahan ini, cukup sesuaikan kembali model regresi dan hilangkan salah satu dari dua variabel ini.
Tidak masalah variabel mana yang kita hilangkan karena keduanya memberikan informasi yang persis sama dalam model regresi.
Untuk mempermudah, mari kita hapus x3 dan sesuaikan model regresi lagi:
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
Perhatikan bahwa kali ini kami tidak menerima kesalahan apa pun saat menghitung nilai VIF untuk model karena multikolinearitas tidak lagi menjadi masalah.
Terkait: Cara Menghitung dan Menafsirkan Nilai VIF di R
Sumber daya tambahan
Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya di R:
Cara memperbaiki di R: penggantian memiliki panjang nol
Cara memperbaikinya di R: argumen melibatkan jumlah baris yang berbeda
Cara memperbaikinya di R: argumen bukan numerik atau logis: return na