R glm et glmnet utilisent des algorithmes différents.
Je remarque des différences non triviales entre les coefficients estimés lorsque j'utilise les deux.
Je m'intéresse au moment où l'un est plus précis qu'un autre, et au moment de résoudre le compromis / l'exactitude.
Plus précisément, je fais référence au cas où l'on définit lambda = 0 dans glmnet st, il estime la même chose que glm.
r
generalized-linear-model
glmnet
Will Beauchamp
la source
la source
Réponses:
Glmnet est pour la régression nette élastique. Cela pénalise la taille des coefficients estimés (via un mix de pénalités L1 et L2). Il essaie d'expliquer autant de variance dans les données que possible à travers le modèle tout en gardant les coefficients du modèle petits. J'ai trouvé ces diapositives utiles pour le comprendre.
Glm n'utilise pas de terme de pénalité.
L'effet, si je comprends bien, avec un filet élastique, vous pouvez accepter un certain biais en échange d'une réduction de la variance de l'estimateur. Le meilleur choix dépend donc de la façon dont vous définissez le meilleur en termes de biais et de variance. (Par exemple, je sais que glmnet a des avantages lorsque vous avez de nombreuses fonctionnalités par rapport aux observations)
la source