Stata clogit 命令与具有手动固定效果的 logit 不(完全)可重现:系数加倍

Stata clogit command versus logit with manual fixed effects not (quite) reproducible: Coefficients double

感谢您解答我的问题!我正在 Stata 中实施条件逻辑回归。我有长格式的选择数据,其中每个选择都包含两个可用选项,决策者只能选择一个。我已经使用 Stata clogit 命令实现了它,在我的理解中,它为数据中的每个选择创建了固定效果,并在对因变量回归逻辑回归中剩余的解释变量之前将它们部分化。为了让自己相信 clogit 确实如我所想,我尝试使用 logit 命令重现我得到的结果并手动添加固定效果。考虑到 Stata 对解释变量数量的限制,FWIW 对于大型数据集并不简单,但问题仍然存在于以下较小的 MWE 中:

* Retrieve MWE data set
webuse lowbirth2, clear

* Add arbitrary cluster variable, because in my real problem the data is clustered
gen cluster = ceil(_n/14)

clogit low lwt smoke ptd ht ui i.race, group(pairid) cluster(cluster)
    Conditional (fixed-effects) logistic regression

                                                Number of obs     =        112
                                                Wald chi2(7)      =     211.55
                                                Prob > chi2       =     0.0000
Log pseudolikelihood = -25.794271               Pseudo R2         =     0.3355

                                (Std. Err. adjusted for 8 clusters in cluster)
------------------------------------------------------------------------------
             |               Robust
         low |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         lwt |  -.0183757   .0111176    -1.65   0.098    -.0401657    .0034144
       smoke |   1.400656   .4670183     3.00   0.003     .4853172    2.315995
         ptd |   1.808009   .6162347     2.93   0.003      .600211    3.015807
          ht |   2.361152   .9149873     2.58   0.010     .5678096    4.154494
          ui |   1.401929   .5968851     2.35   0.019     .2320559    2.571802
             |
        race |
      black  |   .5713643   .5699717     1.00   0.316    -.5457596    1.688488
      other  |  -.0253148   .5197248    -0.05   0.961    -1.043957    .9933272
------------------------------------------------------------------------------

logit low lwt smoke ptd ht ui i.race i.pairid, cluster(cluster)
Logistic regression                             Number of obs     =        112
                                                Wald chi2(6)      =          .
                                                Prob > chi2       =          .
Log pseudolikelihood = -51.588542               Pseudo R2         =     0.3355

                                (Std. Err. adjusted for 8 clusters in cluster)
------------------------------------------------------------------------------
             |               Robust
         low |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         lwt |  -.0367513   .0222351    -1.65   0.098    -.0803314    .0068288
       smoke |   2.801312   .9340365     3.00   0.003     .9706343     4.63199
         ptd |   3.616018   1.232469     2.93   0.003     1.200422    6.031613
          ht |   4.722303   1.829975     2.58   0.010     1.135619    8.308988
          ui |   2.803858    1.19377     2.35   0.019     .4641118    5.143605
             |
        race |
      black  |   1.142729   1.139943     1.00   0.316    -1.091519    3.376977
      other  |  -.0506296    1.03945    -0.05   0.961    -2.087913    1.986654
             |
      pairid | ... omitted for brevity ...

查看这两个输出,我们可以看到系数、标准误差和对数似然不仅不同,而且正好翻倍,就好像因变量已经被按因子 2 缩放。我应该补充一点,当我不对标准误差进行聚类时,它们不再完全翻倍。所以,clogit 似乎不仅仅是在后端部分排除固定效果,但它有什么作用呢? documentationclogit.ado 文件本身都没有为我解决这个问题。

您观察到的估计差异是由于在有限面板中估计 logit 的附带参数问题导致的偏差。

有关此偏差的讨论,请参阅 Greene (2004),并注意偏差 (1) 远离零,并且 (2) 当 T=2 时高达 100%。

在你的例子中,T 不是时间,而是一对中的个体数量(即 2),因此你应该期望偏差在 100% 附近。

如果您重读 pdf documentation for clogit,尤其是 Fixed-effects logit 部分的第二段 备注和示例 你会看到 clogit 如何避免这个问题。

由于使用 logit 的偏差相对于 clogit 是 100%,因此您记录的估计系数之间的关系是预期的行为(或者 logit 中的真正不当行为两个估计量的情况。