Apa yang dimaksud dengan multikolinearitas sempurna? (definisi & contoh)


Dalam statistik, multikolinearitas terjadi ketika dua atau lebih variabel prediktor berkorelasi tinggi satu sama lain, sehingga tidak memberikan informasi unik atau independen dalam model regresi.

Jika tingkat korelasi antar variabel cukup tinggi, hal ini dapat menimbulkan masalah saat menyesuaikan dan menafsirkan model regresi.

Kasus multikolinearitas yang paling ekstrem disebut multikolinearitas sempurna . Hal ini terjadi ketika dua atau lebih variabel prediktor mempunyai hubungan linier yang tepat satu sama lain.

Misalnya, kita memiliki kumpulan data berikut:

Perhatikan bahwa nilai variabel prediktor x 2 hanyalah nilai x 1 dikalikan 2.

contoh multikolinearitas sempurna

Ini adalah contoh multikolinearitas sempurna .

Masalah multikolinearitas sempurna

Ketika terdapat multikolinearitas sempurna dalam kumpulan data, kuadrat terkecil biasa tidak dapat menghasilkan estimasi koefisien regresi.

Memang benar bahwa tidak mungkin memperkirakan pengaruh marjinal suatu variabel prediktor (x 1 ) terhadap variabel respons (y) sambil menjaga variabel prediktor lainnya (x 2 ) tetap konstan karena x 2 selalu bergerak tepat pada saat x 1 bergerak.

Singkatnya, multikolinearitas sempurna membuat tidak mungkin memperkirakan nilai setiap koefisien dalam model regresi.

Cara mengatasi multikolinearitas sempurna

Cara paling sederhana untuk menangani multikolinearitas sempurna adalah dengan menghilangkan salah satu variabel yang mempunyai hubungan linier eksak dengan variabel lainnya.

Misalnya, pada kumpulan data sebelumnya, kita cukup menghapus x 2 sebagai variabel prediktor.

Kami kemudian akan menyesuaikan model regresi menggunakan x 1 sebagai variabel prediktor dan y sebagai variabel respon.

Contoh multikolinearitas sempurna

Contoh berikut menunjukkan tiga skenario multikolinearitas sempurna yang paling umum dalam praktiknya.

1. Variabel prediktor merupakan kelipatan variabel lainnya

Katakanlah kita ingin menggunakan “tinggi dalam sentimeter” dan “tinggi dalam meter” untuk memprediksi berat spesies lumba-lumba tertentu.

Seperti inilah tampilan kumpulan data kami:

Perhatikan bahwa nilai “tinggi dalam sentimeter” sama dengan “tinggi dalam meter” dikalikan dengan 100. Ini adalah kasus multikolinearitas sempurna.

Jika kita mencoba menyesuaikan model regresi linier berganda di R menggunakan kumpulan data ini, kita tidak akan dapat menghasilkan estimasi koefisien untuk variabel prediktor “meter”:

 #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. Variabel prediktor adalah versi transformasi dari variabel lain

Katakanlah kita ingin menggunakan “poin” dan “poin berskala” untuk memprediksi rating pemain bola basket.

Misalkan variabel “titik berskala” dihitung sebagai:

Poin berskala = (poin – μ poin ) / σ poin

Seperti inilah tampilan kumpulan data kami:

Perhatikan bahwa setiap nilai “poin berskala” hanyalah versi standar dari “poin”. Ini adalah kasus multikolinearitas sempurna.

Jika kami mencoba menyesuaikan model regresi linier berganda di R menggunakan kumpulan data ini, kami tidak akan dapat menghasilkan estimasi koefisien untuk variabel prediktor “titik berskala”:

 #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. Perangkap variabel tiruan

Skenario lain di mana multikolinearitas sempurna dapat terjadi dikenal sebagai perangkap variabel dummy . Ini adalah saat kita ingin mengambil variabel kategori dalam model regresi dan mengubahnya menjadi “variabel dummy” yang bernilai 0, 1, 2, dst.

Misalnya, kita ingin menggunakan variabel prediktor “usia” dan “status perkawinan” untuk memprediksi pendapatan:

Untuk menggunakan “status perkawinan” sebagai variabel prediktor, terlebih dahulu kita harus mengubahnya menjadi variabel dummy.

Untuk melakukan ini, kita dapat membiarkan “Lajang” sebagai nilai dasar, karena ini paling sering terjadi, dan menetapkan nilai 0 atau 1 untuk “Menikah” dan “Perceraian” sebagai berikut:

Kesalahannya adalah membuat tiga variabel dummy baru sebagai berikut:

Dalam hal ini, variabel “Lajang” merupakan kombinasi linier sempurna dari variabel “Menikah” dan “Cerai”. Ini adalah contoh multikolinearitas sempurna.

Jika kami mencoba menyesuaikan model regresi linier berganda di R menggunakan kumpulan data ini, kami tidak akan dapat menghasilkan estimasi koefisien untuk setiap variabel prediktor:

 #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

Sumber daya tambahan

Panduan Multikolinearitas dan VIF dalam Regresi
Cara menghitung VIF di R
Cara menghitung VIF dengan Python
Cara menghitung VIF di excel

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *