火腿肠杀手 2024-06-19 10:06 采纳率: 66.7%
浏览 4
已结题

Stata平行趋势图


HDFE Linear regression                            Number of obs   =      1,104
Absorbing 1 HDFE group                            F(  18,     92) =       6.66
Statistics robust to heteroskedasticity           Prob > F        =     0.0000
                                                  R-squared       =     0.1591
                                                  Adj R-squared   =     0.1340
                                                  Within R-sq.    =     0.1325
Number of clusters (id)      =         93         Root MSE        =     0.7237

                                    (Std. Err. adjusted for 93 clusters in id)
------------------------------------------------------------------------------
             |               Robust
       lnPro |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
     Before7 |  -.0327544    .073458    -0.45   0.657    -.1786483    .1131395
     Before6 |   .0303077   .0743653     0.41   0.685    -.1173881    .1780036
     Before5 |  -1.046869   .8959284    -1.17   0.246     -2.82626    .7325221
     Before4 |    .025505    .075636     0.34   0.737    -.1247146    .1757246
     Before3 |   .0322761   .0618159     0.52   0.603    -.0904956    .1550478
     Before2 |   .0031933   .0545201     0.06   0.953    -.1050883    .1114749
     Current |   .1526822   .0709339     2.15   0.034     .0118013    .2935631
      After1 |   .1627927   .0664201     2.45   0.016     .0308767    .2947086
      After2 |   .1236279   .0713264     1.73   0.086    -.0180325    .2652883
      After3 |   .1527216   .0569315     2.68   0.009     .0396507    .2657925
      After4 |   .1037156   .0591502     1.75   0.083    -.0137619    .2211931
      After5 |   .1020989   .0524865     1.95   0.055    -.0021437    .2063416
      After6 |   .1066453   .0538163     1.98   0.051    -.0002385    .2135292
      After7 |     .13915   .0564038     2.47   0.015     .0271272    .2511728
         lev |  -.5219806   .2298997    -2.27   0.026    -.9785813     -.06538
        dual |  -.0088396   .0066952    -1.32   0.190    -.0221369    .0044577
      liquid |  -.0017114   .0091014    -0.19   0.851    -.0197876    .0163648
     lnsize1 |   .1617767   .0471173     3.43   0.001     .0681977    .2553557
       _cons |    18.9146   1.013321    18.67   0.000     16.90206    20.92714
------------------------------------------------------------------------------
Stata平行趋势回归的结果,其余年份都正常,只有Before5系数异常,导致作图很难看。有没有解决方案,或者说能否直接删除Before5?这种做法有没有依据?
  • 写回答

6条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2024-06-19 10:07
    关注

    🕖上午好,题主!目前:🟢[在线]
    📢参考通义千问、由郭老师整理提供!
    📣今日诗号:醉后不知天在水,满船清梦压星河。

    在平行趋势检验中,Before5系数异常确实会影响结果的解读和图形的美观。直接删除Before5不是一个严谨的做法,因为这会影响模型结果的可靠性,并可能导致错误的结论。

    以下是一些解决方案和建议:

    1. 探究Before5异常的原因:

    • 数据问题:
      • 检查Before5的数据是否存在异常值、输入错误、或者样本选择偏差。
      • 确保Before5的数据与其他年份的数据在定义、测量和收集方法上保持一致。
    • 遗漏变量:
      • 是否存在其他可能影响Before5的因素,但没有被纳入模型中?例如,政策变化、外部冲击等。
    • 非线性关系:
      • 处理组和控制组在Before5时段,对政策的反应可能存在非线性关系。

    2. 针对不同原因的解决方案:

    • 数据问题:
      • 对于异常值,可以考虑删除或进行winsorize处理。
      • 对于输入错误,需要进行修正。
      • 对于样本选择偏差,需要重新选择样本或者采用更合适的模型。
    • 遗漏变量:
      • 尝试将可能影响Before5的因素加入模型中作为控制变量。
    • 非线性关系:
      • 尝试加入Before5的平方项或交互项到模型中。

    3. 稳健性检验:

    • 即使解决了Before5的异常问题,也建议进行稳健性检验,以确保结果的可靠性。例如:
      • 尝试使用不同的控制变量组合。
      • 尝试使用不同的估计方法,如合成控制法。

    4. 结果解释:

    • 如果Before5的异常无法解释或解决,在结果解释时需要谨慎,并明确说明该异常情况及其可能的影响。

    关于代码:

    由于您没有提供完整代码,我无法直接修改。以下是一个通用的平行趋势图代码框架,您可以根据自己的数据和需求进行修改:

    **假设您的数据已经整理成面板数据格式,且包含以下变量:**
    
    * id:  个体ID
    * year:  年份
    * treat:  处理组虚拟变量 (1=处理组, 0=控制组)
    * time_to_treat:  距离处理时间的年数 (例如,处理前3年为-3,处理后2年为2)
    * lnPro:  您感兴趣的结果变量
    * ...其他控制变量...
    
    **平行趋势检验:**
    
    * **回归分析:**
    
    xtset id year
    xtreg lnPro i.time_to_treat##i.treat lev dual liquid lnsize1, fe cluster(id)
    
    * **生成平行趋势图:**
    
    preserve // 保存数据
    keep if inrange(time_to_treat, -7, 7) // 只保留时间窗口内的样本
    
    gen treat_effect = _b[1.time_to_treat#1.treat] // 获取处理组系数
    gen time = time_to_treat
    
    twoway (connected treat_effect time if treat==1, lcolor(red)  msymbol(circle)) ///
           (connected treat_effect time if treat==0, lcolor(blue) msymbol(square)), ///
           xline(0, lpattern(dash)) ///
           ylabel(-1(0.5)1, angle(horizontal)) ///
           xlabel(-7(1)7) ///
           legend(label(1 "Treatment Group") label(2 "Control Group")) ///
           title("Parallel Trends Plot") 
    
    restore // 恢复数据
    

    请注意,以上代码仅供参考,您需要根据自己的数据和需求进行修改。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 6月19日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见