Qual é o glm ou glmnet mais preciso?

10

R glm e glmnet usam algoritmos diferentes.

Percebo diferenças não triviais entre os coeficientes estimados quando uso os dois.

Estou interessado em saber se um é mais preciso que o outro e o momento de resolver / trocar a precisão.

Refiro-me especificamente ao caso em que se define lambda = 0 no glmnet st, está estimando a mesma coisa que o glm.

Will Beauchamp
fonte
11
Você está perguntando sobre diferenças de desempenho e precisão quando lambda = 0, onde os dois deveriam teoricamente ser idênticos. Eu acho que você deveria adicionar isso à sua pergunta.
22414 smci

Respostas:

14

Glmnet é para regressão líquida elástica. Isso penaliza o tamanho dos coeficientes estimados (através de uma combinação de penalidades de L1 e L2). Ele tenta explicar o máximo possível de variação nos dados através do modelo, mantendo os coeficientes do modelo pequenos. Achei esses slides úteis para entender.

Glm não usa um termo de penalidade.

O efeito, como eu o entendo, que com a rede elástica, você pode estar aceitando algum viés em troca de uma redução na variação do estimador. Portanto, o que é melhor deve depender de como você define 'melhor' em termos de tendência e variação. (Por exemplo, eu sei que o glmnet tem vantagens quando você tem muitos recursos em comparação com as observações)

conjecturas
fonte
o link parece estar quebrado
ndoogan 5/05
o link funciona agora
smci 10/03
Bem, você está apenas explicando o que o glmnet faz - mas o OP estava se referindo à situação em que você define lambda = 0 no glmnet; nesse caso, o resultado deve, em princípio, retornar o mesmo que um glm (não-peralizado) (exceto por um pequeno número numérico). diferenças ligadas ao método de ajuste de descida por coordenadas cíclicas usado no glmnet).
Tom Wenseleers