Saya memiliki 6 variabel ( ) bahwa saya menggunakan untuk memprediksi . Saat melakukan analisis data, saya pertama kali mencoba regresi linier berganda. Dari ini, hanya dua variabel yang signifikan. Namun, ketika saya menjalankan regresi linier yang membandingkan setiap variabel secara individual dengan , semua kecuali satu adalah signifikan ( mana saja dari kurang dari 0,01 menjadi kurang dari 0,001). Disarankan bahwa ini karena multikolinearitas.
Penelitian awal saya tentang ini menyarankan untuk memeriksa multikolinieritas dengan menggunakan VIF . Saya mengunduh paket yang sesuai dari R, dan berakhir dengan VIF yang dihasilkan: 3.35, 3.59, 2.64, 2.24, dan 5.56. Menurut berbagai sumber online, poin Anda harus khawatir tentang multikolinearitas dengan VIF Anda adalah pada 4 atau 5.
Saya sekarang bingung tentang apa artinya ini untuk data saya. Apakah saya atau saya tidak memiliki masalah multikolinieritas? Jika saya melakukannya, lalu bagaimana saya harus melanjutkan? (Saya tidak dapat mengumpulkan lebih banyak data, dan variabelnya adalah bagian dari model yang tidak jelas terkait) Jika saya tidak memiliki masalah ini, maka apa yang harus saya ambil dari data saya, terutama fakta bahwa variabel-variabel ini sangat signifikan secara individual, tetapi tidak signifikan sama sekali ketika dikombinasikan.
Sunting: Beberapa pertanyaan telah diajukan mengenai dataset, dan jadi saya ingin memperluas ...
Dalam kasus khusus ini, kami ingin memahami bagaimana isyarat sosial tertentu (gesture, tatapan, dll) mempengaruhi kemungkinan seseorang menghasilkan isyarat lainnya. Kami ingin model kami menyertakan semua atribut yang signifikan, jadi saya tidak nyaman menghapus beberapa yang tampak berlebihan.
Tidak ada hipotesis dengan ini sekarang. Sebaliknya, masalahnya tidak dipelajari, dan kami mencari untuk mendapatkan pemahaman yang lebih baik tentang atribut apa yang penting. Sejauh yang saya tahu, atribut-atribut ini harus relatif independen satu sama lain (Anda tidak bisa hanya mengatakan bahwa tatapan dan gerak tubuh adalah sama, atau satu himpunan bagian dari yang lain). Alangkah baiknya bisa melaporkan nilai p untuk semuanya, karena kami ingin peneliti lain memahami apa yang telah dilihat.
Sunting 2: Karena muncul di suatu tempat di bawah ini, saya adalah 24.
sumber
Jawaban:
Untuk memahami apa yang bisa terjadi, penting untuk menghasilkan (dan menganalisis) data yang berperilaku seperti yang dijelaskan.
Untuk mempermudah, mari kita lupakan variabel independen keenam itu. Jadi, pertanyaannya menggambarkan regresi satu variabel dependen terhadap lima variabel independen x 1 , x 2 , x 3 , x 4 , x 5 , di manay x1, x2, x3, x4, x5
Setiap regresi biasa signifikan pada level dari 0,01 menjadi kurang dari 0,001 .y∼ xsaya 0,01 0,001
Regresi berganda menghasilkan koefisien signifikan hanya untuk x 1 dan x 2 .y∼ x1+ ⋯ + x5 x1 x2
Semua variance inflation factor (VIFs) rendah, menunjukkan pengondisian yang baik dalam matriks desain (yaitu, kurangnya collinearity di antara ).xsaya
Mari kita wujudkan ini sebagai berikut:
Hasilkan nilai yang terdistribusi normal untuk x 1 dan x 2 . (Kami akan memilih n nanti.)n x1 x2 n
Biarkan mana ε adalah kesalahan normal rata-rata 0 . Beberapa percobaan dan kesalahan diperlukan untuk menemukan standar deviasi yang cocok untuk ε ; 1 / 100 bekerja dengan baik (dan agak dramatis: y adalah sangat baik berkorelasi dengan x 1 dan x 2 , meskipun itu hanya cukup berkorelasi dengan x 1 dan x 2 individual).y= x1+ x2+ ε ε 0 ε 1/100 y x1 x2 x1 x2
Biarkan = x 1 / 5 + δ , j = 3 , 4 , 5 , di mana δ independen standard error normal. Ini membuat x 3 , x 4 , x 5 hanya sedikit bergantung pada x 1 . Namun, melalui korelasi erat antara x 1 dan y , menginduksi ini kecil korelasi antara y dan ini x j .xj x1/5+δ j=3,4,5 δ x3,x4,x5 x1 x1 y y xj
Inilah intinya: jika kita membuat cukup besar, korelasi kecil ini akan menghasilkan koefisien yang signifikan, meskipun y hampir seluruhnya "dijelaskan" oleh hanya dua variabel pertama.n y
Saya menemukan bahwa berfungsi dengan baik untuk mereproduksi nilai p yang dilaporkan. Berikut adalah matriks sebar dari keenam variabel:n=500
Dengan memeriksa kolom kanan (atau baris bawah) Anda dapat melihat bahwa memiliki korelasi (positif) yang baik dengan x 1 dan x 2 tetapi sedikit korelasi nyata dengan variabel lainnya. Dengan memeriksa sisa dari matriks ini, Anda dapat melihat bahwa variabel independen x 1 , ... , x 5 tampaknya saling tidak berkorelasi (acak δy x1 x2 x1,…,x5 δ sembunyikan dependensi kecil yang kita tahu ada di sana.) Tidak ada data luar biasa - tidak ada yang sangat terpencil atau dengan leverage tinggi. Histogram menunjukkan bahwa keenam variabel terdistribusi secara normal, dengan cara: data ini seperti biasa dan "vanilla biasa" seperti yang mungkin diinginkan.
Dalam regresi terhadap x 1 dan x 2 , nilai-p pada dasarnya adalah 0. Dalam regresi individu y terhadap x 3 , maka y terhadap x 4 , dan y terhadap x 5 , nilai-p adalah 0,0024, 0,0083 , dan 0,00064, masing-masing: yaitu, mereka "sangat signifikan." Tetapi dalam regresi berganda penuh, nilai-p yang sesuai masing-masing mengembang menjadi 0,46, .36, dan .52: tidak signifikan sama sekali. Alasan untuk ini adalah bahwa sekali y telah diregresikan terhadap x 1 dan xy x1 x2 y x3 y x4 y x5 y x1 , satu-satunya hal yang tersisa untuk "menjelaskan" adalah jumlah kecil dari kesalahan dalam residual, yang akan mendekati ε , dan kesalahan ini hampir sama sekali tidak berhubungan dengan sisa x i . ( "Hampir" benar: ada hubungan sangat kecil diinduksi dari fakta bahwa residual dihitung sebagian dari nilai-nilai x 1 dan x 2 dan x i , i = 3 , 4 , 5 , jangan memiliki beberapa lemah hubungan dengan x 1 dan x 2. Hubungan residual ini praktis tidak terdeteksi, seperti yang kita lihat.)x2 ε xi x1 x2 xi i=3,4,5 x1 x2
Jumlah pengkondisian dari matriks desain hanya 2,17: itu sangat rendah, tidak menunjukkan indikasi multikolinieritas tinggi apa pun. (Kurang sempurna collinearity akan tercermin dalam angka 1 pengkondisian, tetapi dalam praktiknya ini hanya terlihat dengan data buatan dan percobaan yang dirancang. Angka-angka pengkondisian dalam kisaran 1-6 (atau bahkan lebih tinggi, dengan lebih banyak variabel) tidak biasa-biasa saja.) Ini melengkapi simulasi: ia telah berhasil mereproduksi setiap aspek dari masalah.
Wawasan penting yang ditawarkan analisis ini mencakup
p-values tidak memberi tahu kita secara langsung tentang collinearity. Mereka sangat bergantung pada jumlah data.
Hubungan antara nilai-p dalam regresi berganda dan nilai-p dalam regresi terkait (melibatkan himpunan bagian dari variabel independen) adalah kompleks dan biasanya tidak dapat diprediksi.
Konsekuensinya, seperti yang orang lain katakan, nilai-p tidak boleh menjadi satu-satunya panduan Anda (atau bahkan panduan utama Anda) untuk pemilihan model.
Edit
Tidak perlu untuk sebesar 500 untuk fenomena ini muncul.n 500 Terinspirasi oleh informasi tambahan dalam pertanyaan, berikut ini adalah dataset yang dibangun dengan cara yang sama dengan (dalam hal ini x j = 0,4 x 1 + 0,4 x 2 + δ untuk j = 3 , 4 , 5 ). Ini menciptakan korelasi 0,38 hingga 0,73 antara x 1 - 2 dan x 3 - 5n=24 xj=0.4x1+0.4x2+δ j=3,4,5 x1−2 x3−5 . Jumlah syarat dari matriks desain adalah 9.05: sedikit tinggi, tetapi tidak mengerikan. (Beberapa aturan praktis mengatakan bahwa angka kondisi setinggi 10 adalah ok.) Nilai-p dari regresi individu terhadap adalah 0,002, 0,015, dan 0,008: signifikan hingga sangat signifikan. Dengan demikian, beberapa multikolinearitas terlibat, tetapi tidak terlalu besar sehingga seseorang akan berusaha mengubahnya. : signifikansi dan multikolinearitas adalah hal yang berbeda; hanya kendala matematika ringan yang ada di antara mereka; dan dimungkinkan untuk inklusi atau eksklusi bahkan satu variabel tunggal untuk memiliki efek mendalam pada semua nilai-p bahkan tanpa multikolinieritas parah menjadi masalah.x3,x4,x5 Wawasan dasar tetap sama
sumber
Ini bukan situasi yang baik atau tidak. Dan saya skeptis tentang pedoman "4 atau 5". Untuk setiap prediktor Anda, kesalahan standar koefisien adalah antara 2,2 dan 5,6 kali lebih besar jika prediktor tidak berkorelasi dengan yang lain. Dan bagian dari prediktor yang diberikan yang tidak dapat dijelaskan oleh yang lain berkisar dari 1 / 2,2 hingga 1 / 5,6, atau 18% hingga 45%. Secara keseluruhan, itu tampaknya jumlah yang cukup besar dari collinearity.
Tapi mari kita mundur sebentar. Apakah Anda benar-benar mencoba memprediksi * Y *, bukannya mencoba menjelaskannya ? Jika yang pertama, maka saya kira Anda tidak perlu peduli apakah tingkat signifikansi dari variabel tertentu berubah ketika orang lain hadir dalam model. Pekerjaan Anda benar-benar jauh lebih mudah daripada jika diperlukan penjelasan yang benar.
Jika penjelasan adalah tujuan Anda, Anda harus mempertimbangkan cara variabel-variabel ini saling terkait - sesuatu yang membutuhkan lebih dari informasi statistik. Jelas mereka tumpang tindih dalam cara mereka berhubungan dengan Y , dan collinearity ini akan membuat sulit untuk membangun, misalnya, urutan peringkat mereka penting dalam akuntansi untuk Y . Dalam situasi ini tidak ada jalan yang jelas untuk Anda ikuti.
Bagaimanapun, saya harap Anda mempertimbangkan metode crossvalidation.
sumber
Anda memiliki multikolinearitas. Analisis awal Anda menunjukkan hal itu. Sejauh ini menjadi masalah, itu pertanyaan lain yang tampaknya memiliki banyak jawaban dalam kasus Anda.
Mungkin jika Anda mendapatkan masalah dasar yang lebih baik akan lebih jelas apa yang harus dilakukan? ...
Dengan multikolinearitas, koefisien regresi Anda adalah tentang kontribusi unik (lebih dekat dengan unik) dari setiap variabel ke model Anda. Jika beberapa berkorelasi satu sama lain maka kontribusi unik masing-masing berkorelasi lebih kecil. Itu mungkin sebagian mengapa tidak ada yang signifikan ketika mereka semua ada bersama tetapi ketika digunakan sendiri mereka bisa.
Hal pertama yang mungkin perlu Anda lakukan adalah mempertimbangkan apa arti interkorelasi di antara variabel-variabel Anda. Sebagai contoh, apakah Anda memiliki banyak variabel yang hanya berdiri untuk hal yang sama? Apakah Anda kebetulan mengukur prediktor Anda dalam skala yang buruk dan mendapatkan korelasi insidental? Jangan mencoba memperbaiki regresi, cobalah memahami variabel Anda.
Pertimbangkan X1 dan X2 dengan korelasi yang sangat kuat di antara mereka, katakanlah r = 0,90. Jika Anda memasukkan X1 dalam model dan itu merupakan prediktor yang signifikan maka model lain dengan X2 saja kemungkinan besar akan signifikan juga karena mereka hampir sama. Jika Anda menempatkan mereka dalam model bersama setidaknya satu dari mereka harus menderita karena regresi berganda akan menyelesaikan kontribusi unik mereka. Keduanya mungkin tidak signifikan. Tapi bukan itu intinya, intinya adalah mengakui mengapa mereka tumpang tindih begitu banyak dan jika mereka bahkan mengatakan sesuatu yang berbeda satu sama lain dan apakah Anda membutuhkannya atau tidak? Mungkin satu mengungkapkan ide yang lebih bermakna dan lebih terkait dengan variabel respons Anda daripada yang lain. Mungkin Anda akan menyimpulkan bahwa mereka adalah hal yang sama dengan tingkat variabilitas yang berbeda.
Juga, ketika melihat model apa pun, tetapi terutama dengan prediktor yang saling terkait, nilai-p adalah cara yang mengerikan untuk mengetahui apakah prediktor baru memberikan kontribusi yang berarti (jika itu yang Anda coba lakukan ... tidak yakin apa yang Anda Sedang coba dilakukan karena sepertinya Anda hanya mencoba untuk membuat regresi baik A) sederhana, atau B) keluar seperti yang Anda inginkan ... tidak ada yang layak). Anda mungkin sebaiknya melihat AIC untuk membantu Anda menentukan prediktor yang harus Anda pertahankan dan yang tidak berkontribusi apa pun.
sumber
Secara pribadi, saya akan menggunakan indeks kondisi dan tabel dijelaskan varians untuk menganalisis collinearity.
Saya juga tidak akan menggunakan nilai p sebagai kriteria untuk pembangunan model, dan ketika membandingkan model dengan 6 IVs dengan model dengan 1, saya akan melihat perubahan dalam ukuran efek parameter untuk variabel yang keduanya.
Tetapi Anda tentu dapat memiliki hasil yang Anda sebutkan tanpa collinearity. Collinearity hanya tentang variabel X dan hubungannya. Tetapi dua variabel keduanya bisa berhubungan kuat dengan Y sementara tidak saling berhubungan kuat satu sama lain.
sumber
Regarding multicollinearity there are various thresholds being mentioned usually converging around a VIF of 10 corresponding to an underlying R Square value of 0.90 between the tested variable vs the other independent variables. The VIFs of your variables appear passable, and you could technically keep them in a model.
Yet, I would use a stepwise regression method to see which are the best combination of variables and how much more explanation (incremental increase in R Square) you get by adding variables. The arbitrating benchmark should be the Adjusted R Square value that adjusts the R Square value downward by penalizing the model for adding variables.
Your variables are somewhat correlated with each other. This is inevitable, it is just a matter of degree. Given the VIFs you mention, I suspect intuitively that you will get the vast majority of the information/explanation bit from the best 2 variable combination. And, that adding variables may add only marginal incremental value.
When looking at the combination of variables that are selected by the stepwise regression process, I would also look at what variables are selected and if their regression coefficient signs are consistent with their correlation with y. If they are not, it can be due to a legitmate interaction between the variables. But, it could also be a result of model overfitting and that the regression coefficients are spurious. They reflect a mathematical fit, but are meaningless in terms of underlying causality.
Another way to select your variables is to decide from a logic standpoint which ones are the main 2 or 3 variables that should be in the model. You start with those and then check how much more information do you get by adding a variable. Check the adjusted R Square, consistency of the regression coefficient relative to the original regression, and obviously test all the models with hold out period. Pretty soon, it will be evident what is your best model.
sumber
fortune(224)
: no troll here, just want to highlight that you don't necessarily need to trust what software automagically gives (or offers) you as an option.If your explanatory variables are count data, and it is not unreasonable to assume that they are normally distributed, you can transform them into standard normal variates using the R
scale
command. Doing this can reduce the collinearity. But that will probably not solve the whole problem.A useful batch of R commands for analyzing and dealing with collinearity are found on Florian Jaeger's blog, including:
The
z.
fungsi mengkonversi vektor ke dalam variate standar normal. Ther.
kembali fungsi standar residu untuk regresi satu prediktor terhadap yang lain. Anda dapat menggunakan ini untuk secara efektif membagi penyimpangan model ke dalam tahapan yang berbeda sehingga hanya beberapa variabel yang memiliki akses ke tahap paling senior, maka tahap berikutnya akan ditawarkan ke variabel residual. (Maaf untuk terminologi tenunananku) Jadi jika model formulirY ~ A + B
menderita multicollinearity, maka Anda dapat menjalankan keduanya
Y ~ A + r.(B)
Y ~ r.(A) + B
sehingga hanya residual dari variabel "junior tranche" (ketika diregresikan dengan variabel "senior tranche") yang sesuai dengan model. Dengan cara ini, Anda terlindung dari multikolinieritas, tetapi memiliki serangkaian parameter yang lebih rumit untuk dilaporkan.
sumber