服气了。。。。现在很多人回答的时候不看问题的吗。。。。
楼主已经说明了 他的数据集是面板数据集,我记得之前已经回答过楼主的问题了,既然楼主还没太搞清楚,我再详细解释一下。
第一点:普通DID是什么,希望你能搞清楚。
正常教科书上的DID模型,或者说一般论文中使用的基准DID模型的stata语句:
reg y D(treat) D(period) D(treat)*D(period) x1 x2....xN ,r 其中D()是两个虚拟变量
对应数据的特点:处理组事件(政策)发生前数据集 处理组事件发生后数据集 对照组(控制组)事件发生前数据集 对照组事件发生后数据集
这里必须要满足一点:每一个数据集中的个体,都可以看作是“同等”的,或者说是并列的
楼主你思考一下:你的面板数据集符合这一点吗?
面板数据集,如果你用了这个命令,那么可以看作是pooled OLS ,你确定可以这么用?
第二点,面板数据DID与普通DID的区别
二者stata语句上的不同,归根结底在于数据本身的不同。换句话说,普通DID中的数据集只有“事件发生前”和“事件发生后”(two periods)
面板数据集 是个体在不同年度的数据的集合,是多期的。换句话说,普通DID的数据,你可以选择事件发生前后两个时间点对总体随机抽样得到样本数据,而面板数据是相同的个体在不同时间点的数据,直接用pooled OLS无意义——除非你两种方法都进行参数回归,通过检验验证两个模型中变量前系数的差异是不显著的。
针对面板数据(特别是长面板),正确的命令应该是:
xtreg y D(treat) D(period) D(treat)*D(period) x1 x2 ...xN ,fe r
或者
xtreg y D(treat) D(period) D(treat)*D(period) x1 x2 ...xN i.个体, r
以上两种方法回归结果相同,你可以测试一下。因为fe的本质就是控制个体效应
关于时间效应的控制 上个回答已经说得很清楚了,没有控制的意义。