【问题标题】:Treatment factor variable omitted in stata regressionstata回归中省略了处理因子变量
【发布时间】:2018-09-19 00:03:32
【问题描述】:

我正在使用以下代码运行具有年份和县固定效应的基本差异回归模型:

xtreg ln_murder_rate i.treated##i.after_1980 i.year ln_deprivation ln_foreign_born young_population manufacturing low_skill_sector unemployment ln_median_income [weight = mean_population], fe cluster(fips) robust

i.treated 是衡量一个县在研究期间是否接受治疗的二分法,after_1980 衡量治疗后的时期。然而,当我运行这个回归时,我的治疗变量的估计被忽略了,所以我无法真正解释结果。下面是输出的屏幕截图。希望得到一些关于检查内容的指导,以便我可以在治疗前获得治疗变量的估计值。

xtreg ln_murder_rate i.treated##i.after_1980 i.year ln_deprivation ln_foreign_bo
> rn young_population manufacturing low_skill_sector unemployment ln_median_income
>  [weight = mean_population], fe cluster(fips) robust
(analytic weights assumed)
note: 1.treated omitted because of collinearity
note: 2000.year omitted because of collinearity

Fixed-effects (within) regression               Number of obs     =     15,221
Group variable: fips                            Number of groups  =      3,117

R-sq:                                           Obs per group:
     within  = 0.2269                                         min =          1
     between = 0.1093                                         avg =        4.9
     overall = 0.0649                                         max =          5

                                                F(12,3116)        =      89.46
corr(u_i, Xb)  = 0.0502                         Prob > F          =     0.0000

                                  (Std. Err. adjusted for 3,117 clusters in fips)
---------------------------------------------------------------------------------
                |               Robust
 ln_murder_rate |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
----------------+----------------------------------------------------------------
      1.treated |          0  (omitted)
   1.after_1980 |   .2012816   .1105839     1.82   0.069    -.0155431    .4181063
                |
        treated#|
     after_1980 |
           1 1  |   .0469658   .0857318     0.55   0.584    -.1211307    .2150622
                |
           year |
          1970  |   .4026329   .0610974     6.59   0.000     .2828376    .5224282
          1980  |   .6235034   .0839568     7.43   0.000     .4588872    .7881196
          1990  |   .4040176   .0525122     7.69   0.000     .3010555    .5069797
          2000  |          0  (omitted)
                |
 ln_deprivation |   .3500093    .119083     2.94   0.003     .1165202    .5834983
ln_foreign_born |   .0179036   .0616842     0.29   0.772    -.1030421    .1388494
young_populat~n |   .0030727   .0081619     0.38   0.707    -.0129306    .0190761
  manufacturing |  -.0242317   .0073166    -3.31   0.001    -.0385776   -.0098858
low_skill_sec~r |  -.0084896   .0088702    -0.96   0.339    -.0258816    .0089025
   unemployment |   .0335105    .027627     1.21   0.225    -.0206585    .0876796
ln_median_inc~e |  -.2423776   .1496396    -1.62   0.105    -.5357799    .0510246
          _cons |   2.751071    1.53976     1.79   0.074    -.2679753    5.770118
----------------+----------------------------------------------------------------
        sigma_u |  .71424066
        sigma_e |  .62213091
            rho |  .56859936   (fraction of variance due to u_i)
---------------------------------------------------------------------------------

【问题讨论】:

  • 我不使用 stata 但它显示 1.treated omitted because of collinearity 所以我首先检查 1.treated 是否与您的任何其他预测变量高度相关
  • 我在这里没有看到任何编程问题。一定要向 Statalist 寻求帮助以了解输出。或者,这可能会找到交叉验证的缓慢方法。如前所述;从表面上看,两个变量说的是同一件事:如果是这样,则不可避免地会省略一个。

标签: statistics regression stata linear-regression


【解决方案1】:

这是题外话,因为这本质上是一个统计问题。

处理的变量被丢弃,因为它是时间不变的,并且您正在进行固定效应回归,该回归通过减去每个协变量和结果的每个面板的平均值来转换数据。处理过的观察值都设置为一,因此当您减去每个面板的处理过的平均值(也是一)时,您会得到零。对于控制观察类似,除了它们都被设置为零。结果是处理后的列全为零,Stata 将其丢弃,否则矩阵不可逆,因为没有变化。

你关心的参数被处理#after_1980,这是DID效果,并在你的输出中报告。治疗被丢弃的事实并不重要。

【讨论】:

  • @AndrewWolff 这有帮助吗?
猜你喜欢
  • 2021-10-03
  • 2016-08-02
  • 2021-01-14
  • 2018-03-29
  • 2013-11-28
  • 1970-01-01
  • 1970-01-01
  • 2011-01-30
  • 2019-06-17
相关资源
最近更新 更多