Wie berechnet glmnet den maximalen Lambdawert?

Dasglmnet Paket verwendet eine Reihe vonLASSO Tuning-Parameterlambda skaliert vom Maximumlambda_max unter denen keine prädiktoren ausgewählt sind. Ich möchte herausfinden, wieglmnet berechnet dieslambda_max Wert. Zum Beispiel in einem trivialen Datensatz:

set.seed(1)
library("glmnet")
x <- matrix(rnorm(100*20),100,20)
y <- rnorm(100)
fitGLM <- glmnet(x,y)
max(fitGLM$lambda)
# 0.1975946

Die Verpackungsvignette (http://www.jstatsoft.org/v33/i01/paper) beschreibt in Abschnitt 2.5, dass es diesen Wert wie folgt berechnet:

sx <- as.matrix(scale(x))
sy <- as.vector(scale(y))
max(abs(colSums(sx*sy)))/100
# 0.1865232

Welches ist eindeutig nahe, aber nicht der gleiche Wert. Also, was verursacht diesen Unterschied? Und in einer verwandten Frage, wie könnte ich berechnenlambda_max für eine logistische Rückführung?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage