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 ?
myridge
ridge-regression
samarasa
sumber
sumber
Jawaban:
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 λ λ λ
sumber
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))
sumber