Memahami hasil regresi ridge

9

Saya baru mengenal ridge regression. Ketika saya menerapkan regresi linear ridge, saya mendapat hasil berikut:

>myridge = lm.ridge(y ~ ma + sa + lka + cb  + ltb , temp, lamda = seq(0,0.1,0.001))
> select(myridge)
modified HKB estimator is 0.5010689 
modified L-W estimator is 0.3718668 
smallest value of GCV  at 0 

Pertanyaan:

  • Apakah boleh mendapatkan nol GCV?
  • Apa sebenarnya artinya?
  • Apakah ada masalah dengan model saya?
  • Bagaimana saya dapat menemukan nilai ?R2myridge
samarasa
sumber
Ubah lamda menjadi lambda. Saya pikir urutan yang Anda tentukan diabaikan.

Jawaban:

20

Anda mungkin lebih baik dengan paket penalti atau paket glmnet ; keduanya menerapkan laso atau jaring elastis sehingga menggabungkan sifat-sifat laso (pemilihan fitur) dan regresi ridge (menangani variabel collinear). dihukum juga tidak bubungan. Kedua paket ini jauh lebih lengkap daripada lm.ridge()di paket MASS untuk hal-hal seperti itu.

Bagaimanapun, menyiratkan penalti nol, maka estimasi kuadrat terkecil optimal dalam arti mereka memiliki skor GCV (validasi silang umum) terendah. Namun, Anda mungkin tidak mengizinkan penalti yang cukup besar; dengan kata lain, estimasi kuadrat terkecil optimal dari sekumpulan kecil nilai Anda lihat. Plot jalur punggungan (nilai koefisien sebagai fungsi dan lihat apakah jejak telah stabil atau tidak. Jika tidak, tingkatkan kisaran nilai dievaluasi.λ λ λλ=0λλλ

Gavin Simpson
sumber
5

Alasan Anda mendapatkan 0 GCV adalah karena Anda menggunakan:

myridge = lm.ridge (y ~ ma + sa + lka + cb + ltb, temp, lamda = seq (0,0.1,0.001))

dari pada

myridge = lm.ridge (y ~ ma + sa + lka + cb + ltb, temp, lambda = seq (0,0.1,0.001))

Prashanth
sumber