我在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 回答
您可以尝试调整对比度 . 我最喜欢的是
这里的假设是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
有趣的是
a1
给出了 . 可以预期一个因子级别用作'reference',因此输出中不会有任何OR(因为它是1.0) .我认为
b1
是你的参考,因此是隐藏的,因此是1.0 .为什么要删除截距项并获得
a1
的系数?具有因子变量的逻辑回归模型拟合第一因子水平作为参考 . 此因子级别的对数赔率(系数)设置为1.0 .
当比较因子(或组)之间的对数几率时,所得因子水平的所有对数几率都是指基数 . 因此,您可以计算不同组之间的优势比,并预测事件是否或多或少可能发生(与基本因子水平相比) .
如果
a
中没有参考级别,我不知道什么作为a
的任何级别的参考 . 如果a
的参考是b1
那么,你怎么解释这个?有没有提到删除拦截有意义? (真的很好奇,还没有听说过这种方法)顺便说一句,你不需要截距来计算因子水平之间的比值比 . 这是一个计算随机二项式
glm
的优势比的小例子: