用分类变量解释 logit 回归中的交互项

机器算法验证 r 物流 分类数据 相互作用 解释
2022-02-10 07:16:06

我有来自调查实验的数据,其中受访者被随机分配到四个组之一:

> summary(df$Group)
       Control     Treatment1     Treatment2     Treatment3 
            59             63             62             66 

虽然三个治疗组在施加的刺激方面确实略有不同,但我关心的主要区别是控制组和治疗组之间的区别。所以我定义了一个虚拟变量Control

> summary(df$Control)
     TRUE FALSE 
       59   191 

在调查中,受访者被要求(除其他事项外)选择他们更喜欢的两件事中的哪一件:

> summary(df$Prefer)
      A   B  NA's 
    152  93   5 

然后,在接受了他们的治疗组确定的一些刺激后(如果他们在对照组则没有),受访者被要求在相同的两件事之间做出选择:

> summary(df$Choice)
  A    B 
149  101 

我想知道在三个治疗组之一中是否对受访者在最后一个问题中做出的选择有影响。我的假设是接受治疗的受访者AB.

鉴于我正在处理分类数据,我决定使用 logit 回归(如果您认为这是不正确的,请随时加入)。由于受访者是随机分配的,我的印象是我不一定需要控制其他变量(例如人口统计),所以我在这个问题上忽略了这些。我的第一个模型如下:

> x0 <- glm(Product ~ Control + Prefer, data=df, family=binomial(link="logit"))
> summary(x0)

Call:
glm(formula = Choice ~ Control + Prefer, family = binomial(link = "logit"), 
    data = df)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8366  -0.5850  -0.5850   0.7663   1.9235  

Coefficients:
                    Estimate Std. Error z value Pr(>|z|)    
(Intercept)           1.4819     0.3829   3.871 0.000109 ***
ControlFALSE         -0.4068     0.3760  -1.082 0.279224    
PreferA              -2.7538     0.3269  -8.424  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 328.95  on 244  degrees of freedom
Residual deviance: 239.69  on 242  degrees of freedom
  (5 observations deleted due to missingness)
AIC: 245.69

Number of Fisher Scoring iterations: 4

我的印象是,具有统计意义的截距并不是具有可解释意义的东西。我想也许我应该包括一个交互项,如下所示:

> x1 <- glm(Choice ~ Control + Prefer + Control:Prefer, data=df, family=binomial(link="logit"))
> summary(x1)

Call:
glm(formula = Product ~ Control + Prefer + Control:Prefer, family = binomial(link = "logit"), 
    data = df)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.5211  -0.6424  -0.5003   0.8519   2.0688  

Coefficients:
                                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)                         3.135      1.021   3.070  0.00214 ** 
ControlFALSE                       -2.309      1.054  -2.190  0.02853 *  
PreferA                            -5.150      1.152  -4.472 7.75e-06 ***
ControlFALSE:PreferA                2.850      1.204   2.367  0.01795 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 328.95  on 244  degrees of freedom
Residual deviance: 231.27  on 241  degrees of freedom
  (5 observations deleted due to missingness)
AIC: 239.27

Number of Fisher Scoring iterations: 5

现在,作为治疗组的受访者状态具有预期的效果。这是一组有效的步骤吗?我如何解释交互项ControlFALSE:PreferA其他系数仍然是对数几率吗?

3个回答

我假设当一个人更喜欢 A 时 PreferA = 1,否则为 0,当处理时 ControlFALSE = 1,当控制时为 0。

当一个人以前没有这样做并且没有接受过治疗(ControlFALSE=0 和 PreferA=0)时,偏爱 A 的几率是,即有 23 个这样的人对每个这样的人都偏爱 A那更喜欢B。所以A很受欢迎。exp(3.135)=23

治疗的效果是指一个人以前不喜欢A(PreferA=0)。在这种情况下,当她或他接受治疗时,基线几率会降低系数因此,对于那些之前接受过治疗但不喜欢 A 的人来说,选择 A 的几率是,所以每个喜欢 B 的人都有 2.3 个喜欢 A 的人。所以在这个群体中,A 仍然更受欢迎低于 B,但低于未治疗/基线组。exp(2.309)=.099(1.099)×100%=90.1%.09923=2.3

以前偏好 A 的效果是指一个人是一个控制者 (ControlFALSE = 0)。在这种情况下,当有人以前更喜欢 A 时,基线几率会降低(所以那些以前喜欢 A 的人现在不太可能这样做。这有意义吗?).00699.4%

交互效应比较了那些以前更喜欢 A 的人和那些不喜欢 A 的人的治疗效果。如果一个人以前更喜欢 A (PreferA =1),那么治疗的优势比会增加一个因子因此,以前更喜欢 A 的人的治疗优势比是或者,对于那些以前更喜欢 A 的人来说,这种治疗的优势比可以计算为exp(2.850)=17.317.3×.099=1.71exp(2.8502.309)

因此,取幂常数为您提供基线优势,当其他变量等于 0 时,主效应的取幂系数为您提供优势比,交互项的取幂系数告诉您优势比变化的比率

我还发现这篇论文有助于解释逻辑回归中的交互:

陈俊杰 (2003)。传达复杂信息:多元逻辑回归分析中统计交互作用的解释美国公共卫生杂志93 (9),1376-1377。

在试图解释逻辑回归中的相互作用时,我自己的偏好是查看分类变量的每个组合的预测概率。在您的情况下,这只是 4 个概率:

  1. 首选A,控制真
  2. 首选A,控制假
  3. 首选B,控制真
  4. 首选B,控制假

当我有连续变量时,我通常会查看中位数、第一和第三四分位数的预测值。

虽然这并不能直接解释每个系数,但我发现它经常让我(和我的客户)清楚地看到正在发生的事情。