
Pengarang: Nitin Chauhan
Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.
Esensi Ilmu Data — Multikolinearitas
Multikolinearitas Data Science Essentials; Courtesy: Gambar oleh Penulis
pengantar
Saya menyadari Multikolinearitas karena latar belakang saya dalam statistik, tetapi saya telah mengamati bahwa banyak profesional tidak menyadari bahwa itu ada.
Ini tersebar luas untuk praktisi pembelajaran mesin yang tidak berasal dari latar belakang matematika. Meskipun Multikolinearitas mungkin bukan topik yang paling penting untuk dipahami dalam perjalanan Anda, itu tetap merupakan topik penting yang layak dipelajari. Terutama jika Anda melamar posisi ilmuwan data.
Pada artikel ini, kita akan membahas apa itu Multikolinearitas, mengapa menjadi masalah, apa yang menyebabkan Multikolinearitas, serta cara mendeteksi dan memperbaikinya.
Topik yang Dicakup
Apa itu Multikolinearitas? Jenis-Jenis Multikolinearitas Pengertian Multikolinearitas Penyebab Multikolinearitas Mendeteksi Multikolinearitas Mengatasi Multikolinearitas
Apa itu Multikolinearitas?
Multikolinearitas dapat didefinisikan sebagai adanya korelasi yang tinggi antara dua atau lebih variabel bebas (prediktor). Ini pada dasarnya adalah fenomena di mana variabel independen berkorelasi satu sama lain.
Ini mengukur sejauh mana dua variabel terkait berdasarkan korelasinya. Korelasi antara dua variabel bisa positif (perubahan dalam satu variabel menyebabkan perubahan variabel lain dalam arah yang sama), negatif (perubahan dalam satu variabel menyebabkan perubahan dalam arah yang berlawanan), atau tidak.
Mengingat beberapa contoh membantu kita mengingat istilah-istilah ini.
Berat badan dan tinggi badan dapat menjadi contoh korelasi positif. Semakin tinggi Anda, semakin berat Anda (jika kita mengabaikan kasus pengecualian, ini dianggap sebagai tren umum). Misalnya, semakin tinggi Anda pergi, semakin rendah tingkat oksigen Anda. Ini adalah contoh sederhana dari korelasi negatif.
Kembali ke konsep multikolinearitas kami, ketika lebih dari satu prediktor dalam analisis regresi berkorelasi tinggi, mereka disebut multikolinear. Tingkat pendidikan yang lebih tinggi umumnya dikaitkan dengan pendapatan yang lebih tinggi, sehingga satu variabel dapat dengan mudah diprediksi menggunakan variabel lain. Sebagai hasil dari menjaga kedua variabel ini dalam analisis kami, kami mungkin mengalami masalah.
Jenis Multikolinearitas
Ada dua jenis dasar multikolinearitas:
Multikolinearitas struktural: Ini hasil dari peneliti (orang-orang seperti kita) menciptakan prediktor baru berdasarkan prediktor yang diberikan untuk memecahkan masalah. Misalnya, variabel x2 dibuat dari variabel prediktor x; dengan demikian, jenis multikolinearitas ini dihasilkan dari model yang ditentukan dan bukan merupakan konsekuensi dari data itu sendiri. Multikolinearitas Data: Jenis multikolinearitas ini muncul dari eksperimen yang dirancang dengan buruk yang bersifat observasional. Itu bukan sesuatu yang telah ditentukan atau dikembangkan oleh peneliti.
Komentar: Dalam studi observasional, kami mensurvei anggota sampel tanpa berusaha mempengaruhi mereka. Misalnya, penelitian observasional menanyakan orang apakah mereka minum susu atau kopi sebelum tidur dan melaporkan bahwa data menunjukkan bahwa orang yang minum susu cenderung tidur lebih awal. Anda dapat mempelajari lebih lanjut tentang ini dengan mengklik di sini.
Inspeksi visual multikolinearitas:
Multikolinearitas sempurna: Dalam model regresi, multikolinearitas sempurna terjadi ketika dua atau lebih prediktor independen menunjukkan hubungan linier yang dapat diprediksi secara sempurna (tepat atau tidak acak). Misalnya, berat dalam pound dan kilogram memiliki koefisien +1 atau -1. Namun, kita jarang menemui masalah dengan multikolinearitas sempurna. Multikolinearitas tinggi: Biasanya ini sering menjadi masalah umum dalam fase persiapan data. Umumnya, multikolinearitas yang tinggi dapat bersifat positif atau negatif. Misalnya, inflasi adalah di mana permintaan dan penawaran sangat berkorelasi tetapi dalam arah yang berlawanan.
Analisis kami didasarkan pada pendeteksian dan pengelolaan multikolinearitas tinggi/tidak sempurna/hampir, yang terjadi ketika lebih dari satu prediktor independen terkait secara linier.
Pengertian Multikolinearitas
Model regresi multikolinear dapat menjadi masalah karena tidak mungkin untuk membedakan antara pengaruh variabel bebas terhadap variabel terikat. Sebagai contoh, perhatikan persamaan linier berikut:
Y = W0+W1*X1+W2*X2
Koefisien W1 mewakili peningkatan Y untuk peningkatan unit X1 sementara X2 tetap konstan. Namun, karena X1 dan X2 sangat berkorelasi, perubahan X1 juga akan mempengaruhi X2, dan kita tidak akan dapat membedakan pengaruhnya terhadap Y secara independen.
Akibatnya, tidak mudah untuk membedakan antara efek X1 dan X2 pada Y.
Kami mungkin tidak kehilangan akurasi karena Multikolinearitas. Namun, kami mungkin kehilangan keandalan saat menentukan efek fitur individual dalam model Anda, yang dapat menjadi masalah dalam menafsirkannya.
Penyebab Multikolinearitas
Masalah berikut dapat menyebabkan Multikolinearitas:
Multikolinearitas data dapat disebabkan oleh masalah dengan kumpulan data pada saat pembuatannya, yang dapat mencakup eksperimen yang dirancang dengan buruk, data yang sangat observasional, atau ketidakmampuan untuk memanipulasi data: Misalnya, kami menentukan konsumsi listrik rumah tangga dari pendapatan rumah tangga dan jumlah peralatan listrik. Dalam hal ini, kita tahu bahwa jumlah peralatan listrik akan meningkat seiring dengan pendapatan rumah tangga. Akibatnya, ini tidak dapat dihapus dari kumpulan data. Selain itu, Multikolinearitas dapat terjadi ketika variabel baru dibuat yang bergantung pada variabel lain: Menambahkan variabel untuk BMI ke variabel tinggi dan berat badan akan menambahkan informasi yang berlebihan ke model. Dataset harus mencakup variabel identik berikut: Akan sangat membantu untuk memasukkan variabel suhu dalam Fahrenheit dan suhu dalam Celcius, misalnya. Kesalahan dalam menggunakan variabel dummy juga dapat menyebabkan masalah multikolinearitas yang dikenal sebagai perangkap variabel Dummy. Akan berlebihan untuk membuat variabel dummy untuk variabel status pernikahan yang berisi nilai yang sama: ‘menikah’ dan ‘lajang.’ Sebagai gantinya, kita dapat menggunakan satu variabel yang berisi 0/1 untuk setiap status. Data yang tidak mencukupi dalam beberapa kasus juga dapat menyebabkan masalah multikolinearitas.
Dampak Multikolinearitas
Prediktor berkorelasi tidak meningkatkan analisis regresi kami untuk data. Prediktor yang berkorelasi dapat membuat interpretasi data kita menjadi kurang akurat.
Dalam masalah ini, empat prediktor hadir – usia, jenis kelamin, jumlah jam belajar, dan tingkat pendidikan orang tua. Variabel terikat (variabel yang harus diprediksi) adalah prestasi siswa dalam ujian.
Pertimbangkan kasus di mana jumlah jam belajar dan tingkat pendidikan orang tua sangat berkorelasi.
Model regresi menentukan variabel mana yang menentukan kinerja ujian siswa. Diasumsikan bahwa jumlah jam belajar dan pendidikan orang tua berkorelasi positif dengan kinerja (mungkin satu lebih kuat dari yang lain). Namun, model menunjukkan bahwa tidak satu pun dari kedua variabel ini signifikan.
Kinerja siswa tampaknya tidak terpengaruh oleh jumlah jam mereka belajar atau tingkat pendidikan orang tua mereka.
Memahami mengapa model membuat pernyataan ini sangat penting.
Model regresi yang menggabungkan prediktor yang sangat berkorelasi akan memperkirakan masing-masing efeknya sambil mengendalikan dampak dari sebuah prediktor, menjelaskan semua variasi dalam kinerja yang dapat dijelaskan oleh prediktor itu sendiri. Masalah yang sama dialami oleh prediktor kami, sehingga tidak ada prediktor yang signifikan.
Nilai R-kuadrat yang dikembalikan oleh model dapat menunjukkan bahwa satu atau lebih prediktor cenderung akurat.
Oleh karena itu, multikolinearitas menyebabkan model menghasilkan hasil yang menyesatkan dan membingungkan.
Mendeteksi Multikolinearitas
Mari kita coba mendeteksi multikolinearitas dalam kumpulan data untuk memberi Anda gambaran tentang apa yang bisa salah. Cobalah sendiri Deteksi Penipuan Eter, tautan ke notebook Kaggle di sini
# Impor perpustakaan untuk VIF
dari statsmodels.stats.outliers_influence impor variance_inflation_factor
def calc_vif(X):
# Menghitung VIF
vif = pd.DataFrame()
vif[“variables”] = X.kolom
vif[“VIF”] = [variance_inflation_factor(X.values, i) for i in range(X.shape[1])]
kembali (vif)
hasil = calc_vif(newdf)
# Identifikasi variabel dengan multi-kolinearitas tinggi
hasil[result[‘VIF’]>10]
Deteksi Penipuan Eter, memeriksa multikolinearitas antar set fitur; Courtesy: Gambar oleh Penulis
Multikolinearitas dapat dideteksi melalui berbagai metode. Pada artikel ini, kita akan fokus pada yang paling umum — VIF (Faktor Inflasi Variabel).
VIF menentukan kekuatan korelasi antara variabel independen. Diprediksi dengan mengambil sebuah variabel dan melakukan regresi terhadap setiap variabel lainnya.
Nilai R² ditentukan untuk mengetahui seberapa baik suatu variabel bebas dideskripsikan oleh variabel bebas lainnya. Nilai R² yang tinggi berarti variabel tersebut sangat berkorelasi dengan variabel lainnya. Ini ditangkap oleh VIF, yang ditunjukkan di bawah ini:
Rumus untuk menghitung Variance Inflation Factor; Courtesy: Gambar oleh Kaggle
Jadi, semakin mendekati nilai R² dengan 1, semakin tinggi nilai VIF dan semakin tinggi multikolinearitas dengan variabel independen tertentu.
Disini kita dapat melihat bahwa ‘total Ether Sent’ dan ‘total Ether Received’ memiliki nilai VIF yang tinggi sama dengan infinite, artinya dapat diprediksi oleh variabel independen lain dalam dataset.
Meskipun matriks korelasi dan plot pencar juga dapat digunakan untuk menemukan multikolinearitas, temuan mereka hanya menunjukkan hubungan bivariat antara variabel independen. VIF lebih disukai karena dapat menunjukkan korelasi suatu variabel dengan sekelompok variabel lainnya.
Menghadapi Multikolinearitas
Menjatuhkan salah satu fitur yang berkorelasi akan membantu menurunkan multikolinearitas antara fitur yang berkorelasi:
Pertimbangkan kasus multikolinearitas yang kuat antara ‘Berat Badan’ & ‘Tinggi Badan’ dalam memprediksi kebugaran fisik seseorang. Jika kami dapat menghapus variabel ‘Berat badan’ & ‘Tinggi’ dari dataset karena informasinya ditangkap oleh variabel ‘BMI’. Ini telah mengurangi redundansi dalam dataset kami.
Menjatuhkan variabel harus merupakan proses iteratif yang dimulai dengan variabel yang memiliki nilai VIF terbesar karena trennya sangat ditangkap oleh variabel lain. Jika Anda melakukan ini, Anda akan melihat bahwa nilai VIF untuk variabel lain juga akan berkurang, meskipun pada tingkat yang bervariasi.
Dalam contoh kami, setelah menghapus variabel ‘Berat’ & ‘Tinggi’, nilai VIF untuk semua variabel telah menurun ke tingkat yang bervariasi.
df_temp = df.copy() # Buat fitur baru yang menggabungkan kedua informasi fitur
df_temp[‘BMI’] = df.apply(lambda x: x[‘Weight’]/(x[‘Height’]*x[‘Height’])) # Jatuhkan kolom yang digunakan untuk fitur baru dengan multikolinearitas tinggi
df_temp.drop([‘Weight’, ‘Height’]inplace=Benar, sumbu=1)
Takeaways Kunci
Multikolinearitas seringkali dapat menyebabkan prediksi yang dilebih-lebihkan pada serangkaian fitur tertentu yang berdampak pada signifikansi variabel lain yang mungkin memiliki daya prediksi yang lebih baik. Secara umum, menangani multikolinearitas cukup mudah baik dengan memilih fitur yang relevan (pengetahuan domain) atau membuat fitur baru yang menangkap informasi dari fitur asli (untuk dihapus).
Signifikansi fitur Ether Fraud Detection menggunakan nilai Shap setelah menangani masalah multikolinearitas; Courtesy: Gambar oleh Penulis
Untuk blog baru, atau peringatan artikel, klik berlangganan. Juga, jangan ragu untuk terhubung dengan saya di LinkedIn, dan mari menjadi bagian dari jaringan yang menarik.
Data Science Essentials — Multikolinearitas awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.
Diterbitkan melalui Menuju AI