Qual è glm o glmnet più accurato?


10

R glm e glmnet usano algoritmi diversi.

Noto differenze non banali tra i coefficienti stimati quando uso entrambi.

Sono interessato a quando uno è più preciso di un altro e il tempo di risolvere / accuratezza è compromesso.

In particolare mi riferisco al caso in cui si imposta lambda = 0 in glmnet st sta valutando la stessa cosa di glm.


1
Stai chiedendo differenze di prestazioni e precisione quando lambda = 0, dove i due dovrebbero teoricamente essere identici. Penso che dovresti aggiungerlo alla tua domanda.
smci,

Risposte:


14

Glmnet è per la regressione della rete elastica. Ciò penalizza la dimensione dei coefficienti stimati (tramite un mix di penalità L1 e L2). Cerca di spiegare quanta più varianza possibile nei dati attraverso il modello mantenendo piccoli i coefficienti del modello. Ho trovato queste diapositive utili per capirlo.

Glm non usa un termine di penalità.

L'effetto, a quanto ho capito, che con la rete elastica potresti accettare una certa distorsione in cambio di una riduzione della varianza dello stimatore. Pertanto, ciò che è meglio deve dipendere da come definisci "migliore" in termini di distorsione e varianza. (Ad esempio, so che glmnet ha dei vantaggi quando si hanno molte funzionalità rispetto alle osservazioni)


il collegamento sembra interrotto
ndoogan,

il link funziona ora
smci

Beh, stai solo spiegando cosa fa glmnet - ma l'OP si riferiva alla situazione quando hai impostato lambda = 0 in glmnet, nel qual caso il risultato dovrebbe in linea di principio restituire lo stesso di un glm (non putalizzato) (salvo qualche piccolo numero differenze legate al metodo di adattamento della discesa ciclica delle coordinate utilizzato in glmnet).
Tom Wenseleers il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.