Bagaimana Anda bisa menangani estimasi tidak stabil dalam regresi linier dengan multi-collinearity tinggi tanpa membuang variabel?

13

Stabilitas beta dalam regresi linier dengan multi-collinearity tinggi?

Katakanlah dalam regresi linier, variabel dan memiliki multi-collinearity tinggi (korelasi sekitar 0,9).x 2x1x2

Kami khawatir tentang stabilitas koefisien sehingga kami harus memperlakukan multi-collinearity.β

Solusi buku teks akan hanya membuang salah satu variabel.

Tetapi kami tidak ingin kehilangan informasi yang berguna hanya dengan membuang variabel.

Ada saran?

Luna
sumber
5
Sudahkah Anda mencoba semacam skema regularisasi (misalnya regresi ridge)?
Néstor

Jawaban:

11

Anda dapat mencoba pendekatan regresi ridge dalam kasus ketika matriks korelasi dekat dengan singular (yaitu variabel memiliki korelasi tinggi). Ini akan memberi Anda perkiraan .β

Satu-satunya pertanyaan adalah bagaimana memilih parameter regularisasi . Ini bukan masalah sederhana, meskipun saya sarankan untuk mencoba nilai yang berbeda.λ

Semoga ini membantu!

Paul
sumber
2
Validasi silang adalah hal yang biasa dilakukan untuk memilih ;-). λ
Néstor
memang (+1 untuk jawaban dan komentar Nestors '), dan jika Anda melakukan perhitungan dalam "formulir kanonik" (menggunakan dekomposisi eigen , Anda dapat menemukan meminimalkan kesalahan validasi silang keluar-keluar-keluar yang keluar) dengan metode Newton dengan sangat murahλXTXλ
Dikran Marsupial
Terima kasih banyak! Adakah tutorial / catatan untuk bagaimana melakukannya termasuk validasi silang dalam R?
Luna
Lihatlah bab 3 dalam buku ini: stanford.edu/~hastie/local.ftp/Springer/ESLII_print5.pdf . Implementasi regresi ridge dilakukan dalam R oleh beberapa penulis (Google adalah teman Anda!).
Néstor
2
Anda dapat menggunakan lm.ridgerutin dalam paket MASS. Jika Anda memberikan serangkaian nilai untuk , misalnya, panggilan seperti , Anda akan mendapatkan kembali statistik validasi silang umum , dan dapat memplotnya dengan : untuk memilih minimum. λλfoo <- lm.ridge(y~x1+x2,lambda=seq(0,10,by=0.1))fooλplot(foo$GCV~foo$lambda)
jbowman
10

Nah, ada satu metode ad hoc yang pernah saya gunakan sebelumnya. Saya tidak yakin apakah prosedur ini memiliki nama tetapi masuk akal secara intuitif.

Misalkan tujuan Anda adalah agar sesuai dengan model

Yi=β0+β1Xi+β2Zi+εi

di mana dua prediktor - - sangat berkorelasi. Seperti yang telah Anda tunjukkan, menggunakan keduanya dalam model yang sama dapat melakukan hal-hal aneh pada estimasi koefisien dan nilai . Alternatif lain adalah menyesuaikan model pXi,Zip

Zi=α0+α1Xi+ηi

Maka sisa akan tidak berkorelasi dengan X i dan dapat, dalam beberapa hal, dianggap sebagai bagian dari Z i yang tidak dimasukkan oleh hubungan liniernya dengan X i . Kemudian, Anda dapat melanjutkan untuk menyesuaikan modelηiXiZiXi

Yi=θ0+θ1Xi+θ2ηi+νi

yang akan menangkap semua efek dari model pertama (dan akan, memang, memiliki sama persis dengan model pertama) tetapi prediktor tidak lagi collinear.R2

Sunting: OP telah meminta penjelasan mengapa residu tidak, secara definitif, memiliki korelasi sampel nol dengan prediktor ketika Anda menghilangkan intersep seperti yang mereka lakukan ketika intersep dimasukkan. Ini terlalu panjang untuk dikirim dalam komentar, jadi saya mengedit di sini. Derivasi ini tidak terlalu mencerahkan (sayangnya saya tidak bisa memberikan argumen intuitif yang masuk akal) tetapi ini menunjukkan apa yang diminta OP :

Ketika mencegat dihilangkan dalam regresi linier sederhana , β = Σ x i y i , jadiei=yi-xixiyiβ^=xiyixi2 . Korelasi sampel antaraxidaneisebanding dengan ¯ x e - ¯ x ¯ e di mana ¯ menunjukkan rata-rata sampel dari kuantitas di bawah bilah. Saya sekarang akan menunjukkan ini belum tentu sama dengan nol.ei=yixixiyixi2xiei

xe¯x¯e¯
¯

Pertama yang kita miliki

xe¯=1n(xiyixi2xiyixi2)=xy¯(1xi2xi2)=0

tapi

x¯e¯=x¯(y¯x¯xy¯x2¯)=x¯y¯x¯2xy¯x2¯

eixix¯e¯0

y¯=x¯xy¯x2¯

x,y

Makro
sumber
Ini mengingatkan saya pada plot regresi parsial .
Andy W
3
(X,Z)
3
XZ
1
Hai Makro, Terima kasih atas buktinya. Ya sekarang saya mengerti. Ketika kita berbicara tentang korelasi sampel antara x dan residu, diperlukan istilah intersep untuk memasukkan korelasi sampel menjadi 0. Di sisi lain, ketika kita berbicara tentang ortogonalitas antara x dan residual, itu tidak memerlukan istilah intersep untuk dimasukkan, agar ortogonalitas tetap berlaku.
Luna
1
@Luna, saya tidak terlalu tidak setuju dengan menggunakan regresi ridge - ini hanya apa yang pertama kali terjadi pada saya (saya menjawab sebelum itu disarankan). Satu hal yang bisa saya katakan adalah bahwa estimasi regresi ridge bias, jadi, dalam beberapa hal, Anda benar-benar memperkirakan kuantitas yang sedikit berbeda (menyusut) daripada Anda dengan regresi biasa, membuat interpretasi koefisien mungkin lebih menantang (seperti gung). menyinggung). Juga, apa yang saya jelaskan di sini hanya membutuhkan pemahaman tentang regresi linier dasar dan mungkin secara intuitif lebih menarik bagi sebagian orang.
Makro
4

Saya suka kedua jawaban yang diberikan sejauh ini. Biarkan saya menambahkan beberapa hal.

Pilihan lain adalah Anda juga bisa menggabungkan variabel. Ini dilakukan dengan menstandarisasi keduanya (yaitu, mengubahnya menjadi skor-z), membuat rata-rata, dan kemudian menyesuaikan model Anda dengan hanya variabel komposit. Ini akan menjadi pendekatan yang baik ketika Anda yakin itu adalah dua ukuran berbeda dari konstruksi dasar yang sama. Dalam hal ini, Anda memiliki dua pengukuran yang terkontaminasi dengan kesalahan. Nilai true kemungkinan besar untuk variabel Anda benar-benarpeduli ada di antara mereka, sehingga rata-rata mereka memberikan perkiraan yang lebih akurat. Anda membakukan mereka terlebih dahulu untuk menempatkan mereka pada skala yang sama, sehingga masalah nominal tidak mencemari hasil (misalnya, Anda tidak ingin rata-rata beberapa pengukuran suhu jika ada yang Fahrenheit dan ada yang Celsius). Tentu saja, jika mereka sudah pada skala yang sama (misalnya, beberapa jajak pendapat publik yang sangat berkorelasi), Anda dapat melewati langkah itu. Jika Anda berpikir salah satu variabel Anda mungkin lebih akurat daripada yang lain, Anda bisa melakukan rata-rata tertimbang (mungkin menggunakan kebalikan dari kesalahan pengukuran).

r>.98telah menggabungkan mereka, tetapi mengapa repot-repot? Namun, ini sangat tergantung pada fakta bahwa variabel Anda berkorelasi karena mereka adalah dua versi berbeda dari hal yang sama; jika ada alasan yang berbeda mengapa mereka berkorelasi, ini bisa benar-benar tidak sesuai.

X1X2YXZ Xx1x2XZ

Saya setuju bahwa regresi ridge bisa dibilang lebih baik, karena memungkinkan Anda untuk menggunakan variabel yang Anda maksudkan dan cenderung menghasilkan beta yang sangat dekat dengan nilai sebenarnya (meskipun mereka akan bias - lihat di sini atau di sini untuk informasi lebih lanjut ). Meskipun demikian, saya pikir juga memiliki dua kelemahan potensial: Lebih rumit (membutuhkan kecanggihan statistik yang lebih besar), dan model yang dihasilkan lebih sulit untuk ditafsirkan, menurut pendapat saya.

Saya kumpulkan bahwa mungkin pendekatan akhir adalah menyesuaikan model persamaan struktural. Itu karena itu akan memungkinkan Anda untuk merumuskan set tepat hubungan yang Anda yakini operatif, termasuk variabel laten. Namun, saya tidak tahu SEM cukup baik untuk mengatakan apa pun di sini, selain menyebutkan kemungkinan. (Saya juga menduga itu akan berlebihan dalam situasi yang Anda gambarkan hanya dengan dua kovariat.)

gung - Pasang kembali Monica
sumber
4
X1eX1X2=X1+eX1Y=eYX1X2YX1X2Y=X2X1X1X2YY
Terima kasih banyak, Gung! Q1. Mengapa pendekatan ini bekerja: "Ini dilakukan dengan menstandarisasi keduanya (yaitu, mengubahnya menjadi skor-z), rata-rata, dan kemudian menyesuaikan model Anda dengan hanya variabel komposit."? Q2. Mengapa Ridge Regression lebih baik? Q3. Mengapa SEM lebih baik? Adakah yang bisa menjelaskan ini? Terima kasih!
Luna
Hai Luna, senang bisa membantu. Saya sebenarnya akan mengedit kembali ini; @whuber lebih benar dari yang saya sadari. Saya akan mencoba memasukkan lebih banyak untuk membantu dengan pertanyaan tambahan Anda, tetapi itu akan memakan banyak waktu, jadi mungkin perlu waktu. Kita akan lihat bagaimana kelanjutannya.
gung - Reinstate Monica