Ich habe die GLMNET-Version des elastischen Netzes für die lineare Regression mit einer anderen Software als R implementiert. Ich habe meine Ergebnisse mit der R-Funktion glmnet im Lasso-Modus für Diabetesdaten verglichen .
Die Variablenauswahl ist in Ordnung, wenn der Wert des Parameters (Lambda) variiert wird, aber ich erhalte leicht unterschiedliche Koeffizientenwerte. Aus diesem und anderen Gründen denke ich, dass es vom Achsenabschnitt in der Aktualisierungsschleife kommt, wenn ich die aktuelle Anpassung berechne, weil ich den Achsenabschnitt (den ich als Mittelwert der Zielvariablen nehme) im gesamten Algorithmus nicht verändere: as erklärt in Trevor Hasties Artikel ( Regularisierungspfade für verallgemeinerte lineare Modelle über Koordinatenabstieg , Seite 7, Abschnitt 2.6):
Der Achsenabschnitt wird nicht reguliert, [...] für alle Werte von [...] Lambda [dem L1-Constraint-Parameter]
Trotz des Artikels liefert die R-Funktion glmnet unterschiedliche Werte für den Achsenabschnitt entlang des Regularisierungspfads (die unterschiedlichen Lambda-Werte). Hat jemand eine Ahnung, wie die Werte des Intercept berechnet werden?