r-使用套索回归指定度量的类型



我正在尝试用glmnet和lasso-poisson回归进行变量选择。

如果我使用,它就会运行

model.lasso <- glmnet(X,ED.visits, family="poisson", alpha=1, nlambda=1000)

但我被要求用"偏差"作为衡量标准。运行时出现错误:

model.lasso <- glmnet(X,ED.visits, type.measure=c("deviance"), family="poisson", alpha=1, nlambda=1000)

根据以下文件,type.measure是正确的规范。

参数:type.measure不是glmnet函数的一部分,而是cv.glmnet函数。您调用的参数不是上述函数的一部分。

对于poisson族回归,默认情况下,它使用偏差进行拟合(最小化偏差(。cv.glmnet的目的是使用交叉验证来找到最佳lambda,但由于您已经指定了它,因此使用cv.glmet和glmnet的结果是相同的:

library(glmnet)
x = matrix(rnorm(10000),1000,10)
y = rpois(1000,10)
cv.lasso <- cv.glmnet(x,y, 
type.measure="deviance", family="poisson", 
alpha=1, nlambda=1000)
model.lasso <- glmnet(x,y, family="poisson", 
alpha=1, nlambda=1000)
> identical(cv.lasso$glmnet.fit$beta,model.lasso$beta)
[1] TRUE

你需要找到最佳λ吗?如果不是,只使用不带type="measure"参数的glmnet。

最新更新