首页 文章

使用多因子预测变量从GLM中删除截距

提问于
浏览
1

我在R中使用logit link函数运行二项Logistic回归 . 我的响应是factorial [0/1]我有两个多级因子预测器 - 让我们称它们为a和b,其中a有4个因子级别(a1,a2,a3) ,a4)和b有9个因子水平(b1,b2 ... b9) . 因此:

mod <- glm(y~a+b, family=binomial(logit),data=pretend) summary(mod)

然后,模型输出将显示有关模型的所有信息以及系数 .

从摘要输出中有a和b缺失(a1和b1)的因子级别 . 我知道它固定在模型的“拦截”中 . 我已经读过,如果我想删除截距项并查看这些因子水平的估计值,我可以在模型公式中加上-1或0,即:

mod2 <- glm(y~a+b-1, family=binomial(logit),data=pretend)

... OR ... mod2 < - glm(y~a b 0,family = binomial(logit),data = pretend)summary(mod2)

在新模型(mod2)中,截距项随后消失,并且在系数列表中给出变量a的因子水平a1 . 但是,变量b的因子水平b1仍然缺失,并且假设不再存在拦截项,那么我如何解释该因子水平的优势比呢?

有人可以向我解释如何获得b1的系数以及为什么会发生这种情况?

谢谢 .

3 回答

  • 0

    您可以尝试调整对比度 . 我最喜欢的是

    options(contrasts = c('contr.sum','contr.poly'))
    

    这里的假设是a_i的总和= 0和b_i的总和= 0(尽管我刚刚发现这可能不是GLM的情况)对于那些对比,它通常会留下最后的a和b因为它们可以通过分别取另一个a或b的总和相反来恢复(因为它们总和为0)

    检查这个问题或更多参考 . https://stats.stackexchange.com/questions/162381/how-to-fit-a-glm-with-sum-to-zero-constraints-in-r-no-reference-level

  • 0

    有趣的是 a1 给出了 . 可以预期一个因子级别用作'reference',因此输出中不会有任何OR(因为它是1.0) .

    我认为 b1 是你的参考,因此是隐藏的,因此是1.0 .

  • 0

    为什么要删除截距项并获得 a1 的系数?

    具有因子变量的逻辑回归模型拟合第一因子水平作为参考 . 此因子级别的对数赔率(系数)设置为1.0 .

    当比较因子(或组)之间的对数几率时,所得因子水平的所有对数几率都是指基数 . 因此,您可以计算不同组之间的优势比,并预测事件是否或多或少可能发生(与基本因子水平相比) .

    如果 a 中没有参考级别,我不知道什么作为 a 的任何级别的参考 . 如果 a 的参考是 b1 那么,你怎么解释这个?有没有提到删除拦截有意义? (真的很好奇,还没有听说过这种方法)

    顺便说一句,你不需要截距来计算因子水平之间的比值比 . 这是一个计算随机二项式 glm 的优势比的小例子:

    library(oddsratio)
    fit.glm <- glm(admit ~ gre + gpa + rank, data = data.glm, family = "binomial") # fit model
    
    # Calculate OR for specific increment step of continuous variable
    calc.oddsratio.glm(data = data.glm, model = fit.glm, incr = list(gre = 380, gpa = 5))
    
    predictor oddsratio CI.low (2.5 %) CI.high (97.5 %)          increment
    1     gre     2.364          1.054            5.396                380
    2     gpa    55.712          2.229         1511.282                  5
    3   rank2     0.509          0.272            0.945 Indicator variable
    4   rank3     0.262          0.132            0.512 Indicator variable
    5   rank4     0.212          0.091            0.471 Indicator variable
    

相关问题