首页 > 解决方案 > Stata clogit 命令与具有手动固定效果的 logit 不可(相当)重现:系数加倍

问题描述

感谢您回答我的问题!我正在Stata中实施条件逻辑回归。我有长格式的选择数据,其中每个选择都包含两个可用选项,决策者只能选择一个。我已经使用 Stataclogit命令实现了它,据我了解,该命令会为数据中的每个选择创建固定效果,并在将因变量回归到逻辑回归中剩余的解释变量之前将其部分化。为了说服自己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似乎不只是部分排除了后端的固定效果,但它有什么作用呢?文档和文件本身都clogit.ado没有为我解决这个问题。

标签: regressionstata

解决方案


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

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

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

如果您重新阅读pdf 文档,特别是clogit备注和示例下的固定效应 logit部分的第二段,您将看到如何避免此问题。clogit

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


推荐阅读