glmnet
包使用一系列LASSO
调整参数lambda
,这些参数是从最大的lambda_max
开始缩放的,该值下没有选择任何预测变量。我想知道glmnet
如何计算lambda_max
值。例如,在一个简单的数据集中:set.seed(1)
library("glmnet")
x <- matrix(rnorm(100*20),100,20)
y <- rnorm(100)
fitGLM <- glmnet(x,y)
max(fitGLM$lambda)
# 0.1975946
包说明文档(http://www.jstatsoft.org/v33/i01/paper) 第2.5节描述了它计算此值的方法如下:
sx <- as.matrix(scale(x))
sy <- as.vector(scale(y))
max(abs(colSums(sx*sy)))/100
# 0.1865232
这明显是接近但不完全相同的值。那么,是什么原因导致了这种差异呢?在一个相关的问题中,我如何计算逻辑回归的lambda_max
?