使用插入符号的岭逻辑回归系数的标准误差

Posted

技术标签:

【中文标题】使用插入符号的岭逻辑回归系数的标准误差【英文标题】:Standard Error of Ridge Logistic Regression Coefficient using caret 【发布时间】:2020-05-27 14:18:09 【问题描述】:

我在 R 中使用caret 包来执行岭逻辑回归。 现在我可以找到每个变量的系数了。

问题是:如何知道使用岭逻辑回归产生的每个变量的系数标准误?

这是我的示例代码:-

Ridge1 <- train(Group ~., data = train, method = 'glmnet',
               trControl = trainControl("cv", number = 10),
               tuneGrid = expand.grid(alpha = 0, 
                                      lambda = lambda),
               family="binomial")

岭逻辑回归系数

coef(Ridge1$finalModel, Ridge1$bestTune$lambda)

如何获得逻辑回归模型中的结果(即:标准误差、wald 统计量、p 值等?)

【问题讨论】:

【参考方案1】:

您不会从岭回归或 glmnet 回归中获得 p 值和置信区间,因为当存在惩罚项时,很难估计估计量的分布。 the publication for R package hmi的第一部分涉及到这一点,您可以查看this和this等帖子

我们可以尝试以下方法,例如从 caret 获取最佳 lambda 并在另一个包 hmi 中使用它来估计置信区间和 p 值,但我会谨慎解释这些,它们与自定义的非常不同逻辑glm。

library(caret)
library(mlbench)
data(PimaIndiansDiabetes)

X = as.matrix(PimaIndiansDiabetes[,-ncol(PimaIndiansDiabetes)])
y = as.numeric(PimaIndiansDiabetes$diabetes)-1

lambda = 10^seq(-5,4,length.out=25)

Ridge1 <- train(x=X,y=factor(y), method = 'glmnet',family="binomial",
               trControl = trainControl("cv", number = 10),
               tuneGrid = expand.grid(alpha = 0, 
                                      lambda = lambda))

bestLambda = Ridge1$bestTune$lambda

使用 hdi,但请注意系数与使用插入符号或 glmnet 获得的系数不完全相同:

library(hdi)
fit = ridge.proj(X,y,family="binomial",lambda=bestLambda)

cbind(fit$bhat,fit$se,fit$pval)

                  [,1]         [,2]         [,3]
pregnant  0.1137868935 0.0314432291 2.959673e-04
glucose   0.0329008177 0.0035806920 3.987411e-20
pressure -0.0122503030 0.0051224313 1.677961e-02
triceps   0.0009404808 0.0067935741 8.898952e-01
insulin  -0.0012293122 0.0008902878 1.673395e-01
mass      0.0787408742 0.0145166392 5.822097e-08
pedigree  0.9120151630 0.2927090989 1.834633e-03
age       0.0116844697 0.0092017927 2.041546e-01

【讨论】:

以上是关于使用插入符号的岭逻辑回归系数的标准误差的主要内容,如果未能解决你的问题,请参考以下文章

偏最小二乘法的岭回归分析

python逻辑回归怎么求正系数

回归系数的标准误(S.E)就是它的标准差吗?另外,回归的标准误(S.E of regression)又是啥意思?

机器学习总结线性回归与逻辑回归

回归分析的结果怎么看?

逻辑回归和系数