Hangisi daha doğru glm veya glmnet?


10

R glm ve glmnet farklı algoritmalar kullanır.

Her ikisini de kullandığımda tahmin edilen katsayılar arasında önemsiz farklılıklar olduğunu fark ediyorum.

Birinin diğerinden daha doğru olduğu zaman ve ilgilenmek için zaman / doğruluk ticaretiyle ilgileniyorum.

Özellikle bir glmnet st lambda = 0 ayarlar durumda glm ile aynı şeyi tahmin durumda.


1
Lamda = 0 olduğunda, ikisinin teorik olarak aynı olması gereken performans ve doğruluk farklarını soruyorsunuz. Bence bunu sorunuza eklemelisiniz.
smci

Yanıtlar:


14

Glmnet elastik ağ regresyonu içindir. Bu, tahmini katsayıların boyutunu cezalandırır (L1 ve L2 cezalarının bir karışımı yoluyla). Model katsayılarını küçük tutarken, verilerdeki modelde olabildiğince fazla varyans açıklamaya çalışır. Bu slaytları anlamak için yararlı buldum .

Glm bir ceza terimi kullanmaz.

Anladığım kadarıyla, etki elastik ağ ile tahmin edicinin varyansında bir azalma için bazı önyargıları kabul ediyor olabilirsiniz. Bu yüzden hangisi en iyisi, önyargı ve sapma açısından 'en iyi' yi nasıl tanımladığınıza bağlıdır. (Örneğin gözlemlerle karşılaştırıldığında birçok özelliğiniz olduğunda glmnet'in avantajları olduğunu biliyorum)


bağlantı kopmuş gibi görünüyor
ndoogan

bağlantı şimdi çalışıyor
smci

Sadece glmnet'in ne yaptığını açıklıyorsunuz - ancak glmnet'te lambda = 0'ı ayarladığınızda OP bu duruma atıfta bulunuyordu, bu durumda sonuç prensipte (nonpenalized) bir glm ile aynı şekilde dönmelidir (bazı küçük sayısallar için tasarruf edin) glmnet'te kullanılan çevrimsel koordinat inişe geçme yöntemi ile bağlantılı farklılıklar).
Tom Wenseleers
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.