如何解释逻辑回归中的回归系数?

机器算法验证 r 物流 解释
2022-04-06 14:42:15

我运行了以下逻辑回归:

glm(formula = DecisionasReceiver ~ L1 + L2 + L3, 
  family = binomial("logit"), data = lue)

其中 L1 L2 和 L3 代码表示 no.GREEN 条件的差异。L1: 1,-1,0,0 :DecisionasReceiver 是否有区别,因为 no.GREEN 从 1 变为 2?

L2:0,1,-1,0:DecisionasReceiver 是否有区别,因为 no.GREEN 从 2 变为 3?

L2:0,0,1,-1:DecisionasReceiver 是否有区别,因为 no.GREEN 从 3 变为 4?

对于 MessageReceived 为 BLUE 和 MessageReceived RED 的情况,我正在运行此回归。

我有以下输出:

   Coefficients:
      Estimate Std. Error z value Pr(>|z|)    
(Intercept)  -0.9535     0.3659  -2.606  0.00916 ** 
L1            2.2753     0.5406   4.209 2.56e-05 ***
L2            3.1234     0.7318   4.268 1.97e-05 ***
L3            1.9369     0.8134   2.381  0.01726 *  

查看我的图表,系数为正且截距为 -0.953 似乎很奇怪。我应该如何根据图表准确地解释这些结果?

http://dl.dropbox.com/u/22681355/graph.png

1个回答

由于与丹尼尔进行了长时间的交谈,我完全改变了我的答案。我将尝试提供一些背景信息,以便感兴趣的读者能够理解我的回答。

据我了解这个问题,丹尼尔试图评估 no.Green 对实验中受试者选择红色概率的影响。no.Green 是球的数量(1、2、3 或 4)。并且实验是在几个条件下进行的,nameley:在no.Red下等于5、7和9;在消息为蓝色且消息为红色的情况下。所以,我们总共有 4 * 3 * 2 = 24 个条件(4 个来自 no.Green 的条件,3 个来自 no.Red 的条件和 2 个来自消息蓝色或红色的条件)。

一个包含所有交互项的单一回归解释起来非常复杂。然而,他的主要任务相当简单,即:证明 no.green 对选择红色的概率有影响。所以,我的建议是对 message == blue 和 message == red 条件进行单独的回归,并对每个 no.red 条件进行单独的回归。此外,我将通过假设 no.Green 是连续的来简化事情(似乎可以将其视为连续的,或者至少是一个区间变量)。在 R 中,对于 message == blue case,只需执行以下操作:

fit.1 = glm(DecisionasReceiver ~ no.GREEN, family=binomial, data=subset(lue, messagereceived=="blue" & no.RED==5) )

fit.2 = glm(DecisionasReceiver ~ no.GREEN, family=binomial, data=subset(lue, messagereceived=="blue" & no.RED==7) )

fit.3 = glm(DecisionasReceiver ~ no.GREEN, family=binomial, data=subset(lue, messagereceived=="blue" & no.RED==9) )

现在,为了正确评估 no.green 的影响,您必须考虑估计的不确定性。查看标准错误,您会发现 no.green 很重要。但是,仅寻找标准误差并不能让您正确理解不确定性的范围。例如,假设您有兴趣知道与 no.green == 1 的受试者相比,no.green == 2 的受试者(在条件 no.red ==5 下)选择红色的可能性有多大。回答这个问题类型的问题,我认为看预测概率会更好,但要考虑到估计的不确定性。为此,我将使用 arm 包的“sim”功能。

require(arm)
n.sims = 1000
sim.1 = sim(fit.1, n.sims)
with(subset(lue, messagereceived=="blue" & no.RED==5), plot(no.GREEN,jitter(DecisionasReceiver, .1),
ylab="Probability of Choosing Red", xlab="Number of Green", 
main="Effect of Green under no.Red equals 5"))
for (s in 1:100)
curve(invlogit(coef(sim.1)[s,1] +coef(sim.1)[s,2]*x), col="gray", xlim=c(1,4), add=T)

结果是一个包含 100 条逻辑曲线的图形。每条曲线代表 no.green 对选择红色概率的可能影响。从图中,我们可以看到对于 no.green 的每个值,哪个是最可能的预测概率范围。

我希望它有所帮助。