我正在探索在逻辑回归模型中删除截距的影响。
假设一个模型:
和和是分类变量,每个级别有 2 个级别,没有截距。
我知道,没有与分类预测变量的截距会产生比较在针对空情况的两个预测变量的每个级别中或者.
我注意到一个可以理解的现象。如果您在公式右侧更改变量的顺序,则在 R 中使用 glm() 函数,系数也会发生变化。但更奇怪的是,第一个变量的系数总是相同的。
这是一个R演示:
y <- as.factor(sample(rep(1:2), 30, T))
x <- as.factor(sample(rep(1:2), 30, T))
z <- as.factor(sample(rep(1:2), 30, T))
coef(glm(y ~ x + z - 1, binomial)
# x1 x2 z2
#-0.1764783 0.3260739 -0.1335192
coef(glm(y ~ z + x - 1, binomial))
# z1 z2 x2
#-0.1764783 -0.3099976 0.5025523
如您所见,第一个预测变量在两个模型中具有相同的系数,而另一个则不同。
这是我所期望的,但行为与我的不同:
- 由于两个预测变量的每个级别都与相同的空值情况进行比较,因此我希望在两个模型中具有相同的系数,而与我使用它们的顺序无关。
- 我希望看到每个预测变量的每个级别的系数,而不是第二个预测变量的第一个级别的系数没有显示。
因此,我假设仅将第一个变量与 null 情况进行比较,而将第二个变量与参考水平进行比较;但是这个级别是多少?是吗? 用我们得到的截距复制其中一个模型:
coef(glm(y ~ x + z - 1, binomial) # x1 x2 z2 #-0.1764783 0.3260739 -0.1335192 coef(glm(y ~ x + z, binomial)) #(Intercept) x2 z2 #-0.1764783 0.5025523 -0.1335192
正如预期的那样,x1 成为截距,x2 可能与 x1 相关。在这种情况下 z1 也缺失,z2 与没有截距的模型相同。
因此,我应该假设与 null 情况的比较仅针对公式中的第一个变量,而另一个与通常的截距进行比较?这种行为正常吗?无论公式中预测变量的顺序如何,第一个系数都具有相同的值这一事实又如何呢?如果我想将每个预测变量的所有级别与 null 情况进行比较并为所有级别设置一个系数怎么办?或者由于某种原因我不明白理论上是不可能的?