Cara menguji multikolinearitas di r
Dalam analisis regresi, multikolinearitas terjadi ketika dua atau lebih variabel prediktor berkorelasi tinggi satu sama lain sehingga tidak memberikan informasi yang unik atau independen dalam model regresi.
Jika tingkat korelasi antar variabel prediktor cukup tinggi, hal ini dapat menimbulkan masalah saat menyesuaikan dan menafsirkan model regresi.
Cara paling sederhana untuk mendeteksi multikolinearitas dalam model regresi adalah dengan menghitung metrik yang dikenal sebagai faktor inflasi varians, sering disingkat VIF .
VIF mengukur kekuatan korelasi antar variabel prediktor dalam suatu model. Dibutuhkan nilai antara 1 dan positif tak terhingga.
Kami menggunakan aturan praktis berikut untuk menafsirkan nilai VIF:
- VIF = 1: Tidak ada korelasi antara variabel prediktor tertentu dan variabel prediktor lainnya dalam model.
- VIF antara 1 dan 5: Terdapat korelasi moderat antara variabel prediktor tertentu dan variabel prediktor lain dalam model.
- VIF > 5 : Terdapat korelasi yang kuat antara variabel prediktor tertentu dan variabel prediktor lain dalam model.
Contoh berikut menunjukkan cara mendeteksi multikolinearitas pada model regresi di R dengan menghitung nilai VIF untuk setiap variabel prediktor dalam model.
Contoh: pengujian multikolinieritas pada R
Misalkan kita mempunyai kerangka data berikut yang berisi informasi tentang berbagai pemain bola basket:
#create data frame df = data. frame (rating = c(90, 85, 82, 88, 94, 90, 76, 75, 87, 86), points=c(25, 20, 14, 16, 27, 20, 12, 15, 14, 19), assists=c(5, 7, 7, 8, 5, 7, 6, 9, 9, 5), rebounds=c(11, 8, 10, 6, 6, 9, 6, 10, 10, 7)) #view data frame df rating points assists rebounds 1 90 25 5 11 2 85 20 7 8 3 82 14 7 10 4 88 16 8 6 5 94 27 5 6 6 90 20 7 9 7 76 12 6 6 8 75 15 9 10 9 87 14 9 10 10 86 19 5 7
Misalkan kita ingin menyesuaikan model regresi linier berganda dengan menggunakan scoring sebagai variabel respon dan points , assist , dan rebound sebagai variabel prediktor.
Untuk menghitung VIF setiap variabel prediktor dalam model, kita dapat menggunakan fungsi vive() dari paket car :
library (car) #define multiple linear regression model model <- lm(rating ~ points + assists + rebounds, data=df) #calculate the VIF for each predictor variable in the model lively(model) points assists rebounds 1.763977 1.959104 1.175030
Kita dapat melihat nilai VIF dari masing-masing variabel prediktor:
- poin: 1,76
- membantu: 1,96
- rebound: 1.18
Karena masing-masing nilai VIF variabel prediktor model mendekati 1, maka multikolinearitas tidak menjadi permasalahan dalam model.
Catatan : Jika multikolinearitas ternyata menjadi masalah dalam model Anda, solusi tercepat dalam banyak kasus adalah menghapus satu atau lebih variabel yang berkorelasi tinggi.
Ini sering kali merupakan solusi yang dapat diterima karena variabel yang Anda hapus bersifat mubazir dan hanya menambahkan sedikit informasi unik atau independen ke dalam model.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:
Cara melakukan regresi linier berganda di R
Cara membuat plot QQ di R
Cara membuat plot sisa di R