Daftar isi
- Menghitung nilai VIF
- Contoh menghitung VIF secara manual
- Cara melihat VIF di SPSS
- Cara mengatasi VIF yang tinggi
- Pertanyaan yang sering diajukan
- VIF adalah singkatan dari apa?
- Berapa nilai VIF yang baik?
- Apa hubungan VIF dan tolerance?
- Apakah uji VIF perlu untuk regresi linear sederhana?
- Apakah VIF tinggi pada variabel interaksi atau dummy selalu masalah?
Jawaban singkatnya: VIF (Variance Inflation Factor) adalah ukuran seberapa besar varians koefisien regresi “membengkak” akibat multikolinearitas, yaitu korelasi antarvariabel independen. Rumusnya VIFj = 1 ÷ (1 − Rj²), dengan Rj² dari regresi variabel Xj terhadap variabel independen lainnya. Patokan umum: VIF < 10 (atau tolerance > 0,10) berarti tidak ada multikolinearitas serius; patokan yang lebih ketat memakai VIF < 5.
| Rj² | VIF = 1/(1 − Rj²) | Tolerance = 1 − Rj² | Interpretasi |
|---|---|---|---|
| 0 | 1,00 | 1,00 | Tidak ada korelasi dengan X lain |
| 0,50 | 2,00 | 0,50 | Aman |
| 0,75 | 4,00 | 0,25 | Aman |
| 0,80 | 5,00 | 0,20 | Batas patokan ketat |
| 0,90 | 10,00 | 0,10 | Batas patokan umum |
| 0,95 | 20,00 | 0,05 | Multikolinearitas kuat |
Variance Inflation Factor atau VIF adalah sebuah indeks yang mencerminkan hubungan antar variabel independen dalam sebuah fungsi atau persamaan. Nilainya dikaitkan dengan multikolinearitas yang merupakan salah satu uji asumsi klasik yang harus dipenuhi dalam proses regresi. Sebuah persamaan yang memiliki nilai VIF dibawah 5 menandakan lolos uji multikolinearitas, tetapi jika nilai VIF lebih dari 5 maka kemungkinan besar terdapat dua atau lebih variabel independen yang memiliki hubungan dalam persamaan tersebut. Apalagi jika sebuah persamaan atau model memiliki nilai VIF diatas 10, maka multikolinearitasnya sangat kuat.
Artikel Mengapa Regresi tidak boleh terkena Multikolinearitas? sudah menjelaskan mengapa sebuah persamaan regresi tidak boleh terkena multikolinearitas dan bagaimana cara mengatasinya. artikel ini akan fokus kepada nilai VIF yang menjadi tanda dari kehadiran multikolinearitas tersebut.

Gambar diatas merupakan rumus mencari VIF. Namun, perlu menjadi catatan bahwa pencarian nilai VIF itu dengan cara meregresikan variabel independennya saja. Jadi dalam hal ini variabel dependen tidak diajak. Kasian?
Agar lebih mudah memahami saya memberikan contoh:
Terdapat sebuah persamaan dengan Y1 = a + bX1 + cX2 + dX3 + eX4,
maka, untuk mencari VIF di setiap variabel independennya adalah mencari nilai R-squared:
VIF X1 >> mencari R squared pada persamaan X1 = a + bX2 + cX3 + dX4,
VIF X2 >> mencari R squared pada persamaan X2 = a + bX1 + cX3 + dX4,
VIF X3 >> mencari R squared pada persamaan X3 = a + bX1 + cX2 + dX4,
VIF X4 >> mencari R squared pada persamaan X4 = a + bX1 + cX2 + dX3,
Masih bingung, yuk praktek!
Menghitung nilai VIF
Saya memiliki data fiktif seperti dibawah ini:

Kemudian saya regresikan dengan menggunakan SPSS, cara menampilkan nilai VIF pada SPSS 25 adalah dengan klik statistic dan memberi centang pada collinearity diagnostic, pada saat kita memasukkan variabel independen dan variabel dependen (perhatikan gambar).

Hasil pengolahan model tersebut menghasilkan nilai vif sebagai berikut:

Hasil menunjukkan adanya nilai VIF sangat tinggi pada variabel X1, X2, dan X3 (memang disengaja menyusun data agar VIF tinggi sebagai contoh). Nah, pertanyaannya sekarang, bagaimana menghitung VIF secara manual?
Perhatikan gambar berikut, saya memproses ulang R-squared sesuai dengan penjelasan sebelumnya:

Hasil perhitungan manual VIF dengan menggunakan rumus di atas, sesuai dengan hasil regresi. Ada selisih sedikit dikarenakan output r-squared hanya menggunakan 3 angka di belakang koma.
Selamat Belajar!
Regression SoftwareContoh menghitung VIF secara manual
Misalkan model Y = a + b1X1 + b2X2 + b3X3. Untuk mencari VIF X1, regresikan X1 terhadap X2 dan X3 (Y tidak diikutkan). Jika R² regresi tersebut = 0,85, maka:
- VIF X1 = 1 ÷ (1 − 0,85) = 1 ÷ 0,15 = 6,67
- Tolerance X1 = 1 − 0,85 = 0,15
- Artinya varians koefisien b1 sekitar 6,67 kali lebih besar dibanding jika X1 tidak berkorelasi dengan X lain. Lolos patokan VIF < 10, tetapi tidak lolos patokan ketat VIF < 5.
Cara melihat VIF di SPSS
- Klik Analyze → Regression → Linear.
- Masukkan variabel dependen dan variabel independen.
- Klik Statistics, centang Collinearity diagnostics, lalu Continue dan OK.
- Lihat tabel Coefficients, kolom Tolerance dan VIF di bagian paling kanan.
Cara mengatasi VIF yang tinggi
- Keluarkan salah satu variabel yang saling berkorelasi tinggi, pilih yang paling lemah dasar teorinya.
- Gabungkan variabel yang mengukur hal serupa menjadi satu indeks atau skor komposit.
- Untuk variabel interaksi atau kuadrat, lakukan centering (kurangi dengan rata-ratanya) sebelum dikalikan.
- Tambah jumlah data jika memungkinkan.
- Gunakan metode lain seperti regresi ridge atau analisis komponen utama (PCA).
Penjelasan lebih lengkap ada di artikel mengapa regresi tidak boleh terkena multikolinearitas. Untuk praktik di Python, lihat regresi berganda beserta asumsi klasiknya.
Pertanyaan yang sering diajukan
VIF adalah singkatan dari apa?
VIF adalah singkatan dari Variance Inflation Factor, yaitu faktor inflasi (pembengkakan) varians.
Berapa nilai VIF yang baik?
Nilai VIF yang baik adalah di bawah 10 menurut patokan umum, atau di bawah 5 menurut patokan yang lebih ketat. Nilai VIF minimum adalah 1, yang berarti variabel tersebut sama sekali tidak berkorelasi dengan variabel independen lain.
Apa hubungan VIF dan tolerance?
Tolerance adalah kebalikan VIF: tolerance = 1 ÷ VIF = 1 − Rj². VIF 10 setara dengan tolerance 0,10, sehingga tolerance di bawah 0,10 menandakan multikolinearitas.
Apakah uji VIF perlu untuk regresi linear sederhana?
Tidak. Regresi sederhana hanya memiliki satu variabel independen, sehingga VIF-nya selalu 1. Uji multikolinearitas hanya relevan untuk regresi berganda.
Apakah VIF tinggi pada variabel interaksi atau dummy selalu masalah?
Tidak selalu. VIF tinggi wajar pada variabel interaksi, kuadrat, atau dummy dengan kategori pembanding yang sedikit. Centering variabel atau memilih kategori pembanding yang lebih besar biasanya menurunkan VIF tanpa mengubah kesimpulan.
Keren
Ok