Saya telah membaca bahwa regresi ridge dapat dicapai dengan hanya menambahkan baris data ke matriks data asli, di mana setiap baris dibangun menggunakan 0 untuk variabel dependen dan akar kuadrat dari atau nol untuk variabel independen. Satu baris tambahan kemudian ditambahkan untuk setiap variabel independen.
Saya bertanya-tanya apakah mungkin untuk mendapatkan bukti untuk semua kasus, termasuk untuk regresi logistik atau GLM lainnya.
logistic
generalized-linear-model
ridge-regression
Kepingan salju
sumber
sumber
Jawaban:
Regresi meminimalkan .∑ni = 1( ysaya- xTsayaβ)2+ λ ∑halj = 1β2j
(Seringkali sebuah konstanta diperlukan, tetapi tidak menyusut. Dalam hal ini dimasukkan dalam dan prediktor - tetapi jika Anda tidak ingin mengecilkannya, Anda tidak memiliki baris yang sesuai untuk pengamatan semu. Atau jika Anda ingin mengecilkan itu, Anda jangan memiliki baris untuk itu. aku akan menulis seolah-olah itu tidak dihitung dalam , dan tidak menyusut, karena itu kasus yang lebih rumit. kasus lainnya adalah perubahan sepele dari ini .)pβ hal
Kita dapat menulis istilah kedua sebagai -pseudo-observasi jika kita dapat menulis setiap "y" dan masing-masing vektor (x sesuai "x" sehingga( p + 1 )hal ( p + 1 )
Tetapi dengan inspeksi, cukup biarkan , biarkan dan biarkan semua lainnya (termasuk biasanya).yn + j= 0 xn + j , j= λ--√ xn + j , k= 0 xn + j , 0= 0
Kemudian
Ini berfungsi untuk regresi linier. Itu tidak bekerja untuk regresi logistik, karena regresi logistik biasa tidak meminimalkan jumlah residu kuadrat.
[Regresi Ridge bukan satu-satunya hal yang dapat dilakukan melalui trik pengamatan semu - mereka muncul dalam sejumlah konteks lain]
sumber
Menggeneralisasi resep ini ke GLM memang tidak sulit karena GLM biasanya cocok digunakan dengan kuadrat terkecil yang berulang secara berulang . Oleh karena itu, dalam setiap iterasi seseorang dapat menggantikan langkah kuadrat terkecil tertimbang reguler dengan punggungan dihukum kuadrat terkecil kuadrat langkah untuk mendapatkan punggungan yang dihukum GLM. Faktanya, dalam kombinasi dengan penalti ridge adaptif resep ini digunakan untuk menyesuaikan L0 GLM yang dihukum (alias subset terbaik, yaitu GLMs di mana jumlah total koefisien bukan nol dihukum). Ini telah diterapkan misalnya dalam paket l0ara , lihat makalah ini dan ini untuk detailnya.
Perlu dicatat juga bahwa cara tercepat untuk menyelesaikan regresi ridge biasa adalah bentuk tertutup
untuk kasus di mana
n>=p
, atau menggunakankapan
p>n
dan untuk model tanpa intersep.Ini lebih cepat daripada menggunakan resep augmentasi baris , yaitu melakukan
Jika Anda akan membutuhkan kendala nonnegativitas pada koefisien yang dipasang Anda maka Anda bisa melakukannya
yang kemudian memberikan hasil yang sedikit lebih akurat daripada
(dan sebenarnya hanya solusinya
nnls(A=crossprod(X)+diag(lambdas), b=crossprod(X,Y))$x
yang benar).Saya belum menemukan bagaimana kasus yang dibatasi nonnegativitas dapat dioptimalkan lebih lanjut untuk
p > n
kasus ini - beri tahu saya jika ada yang tahu cara melakukan ini ... [lmridge_nnls_largep = function (X, Y, lambda) t(X) %*% nnls(A=tcrossprod(X)+lambda*diag(nrow(X)), b=Y)$x
tidak berfungsi]sumber