Glm atau glmnet yang lebih akurat?

10

R glm dan glmnet menggunakan algoritma yang berbeda.

Saya melihat perbedaan yang tidak sepele antara estimasi koefisien ketika saya menggunakan keduanya.

Saya tertarik ketika satu lebih akurat daripada yang lain, dan waktu untuk menyelesaikan / akurasi trade off.

Secara khusus saya mengacu pada kasus di mana satu set lambda = 0 di glmnet st itu memperkirakan hal yang sama dengan glm.

Will Beauchamp
sumber
1
Anda bertanya tentang perbedaan kinerja dan akurasi ketika lambda = 0, di mana keduanya secara teoritis harus identik. Saya pikir Anda harus menambahkan itu ke dalam pertanyaan Anda.
smci

Jawaban:

14

Glmnet adalah untuk regresi bersih elastis. Ini menghukum ukuran perkiraan koefisien (melalui campuran hukuman L1 dan L2). Ia mencoba menjelaskan varians dalam data melalui model sebanyak mungkin sambil menjaga koefisien model tetap kecil. Saya menemukan slide ini bermanfaat untuk memahaminya.

Glm tidak menggunakan istilah penalti.

Efeknya, seperti yang saya pahami, bahwa dengan jaring elastis Anda mungkin menerima beberapa bias sebagai imbalan atas pengurangan varian penaksir. Jadi mana yang terbaik harus bergantung pada bagaimana Anda mendefinisikan 'terbaik' dalam hal bias dan varians. (Misalnya saya tahu glmnet memiliki kelebihan ketika Anda memiliki banyak fitur dibandingkan dengan pengamatan)

dugaan
sumber
tautannya tampaknya rusak
ndoogan
tautan berfungsi sekarang
smci
Yah, Anda baru saja menjelaskan apa yang dilakukan glmnet - tetapi OP merujuk pada situasi ketika Anda mengatur lambda = 0 di glmnet, dalam hal ini hasilnya pada prinsipnya mengembalikan sama dengan glm (nonpenalized) glm (simpan untuk beberapa numerik kecil perbedaan terkait dengan metode fitting keturunan koordinat siklikal yang digunakan dalam glmnet).
Tom Wenseleers