Stata基础:合成控制法
学术
2024-11-15 11:28
四川
合成控制法的核心在于为处理组构建一个在政策干预前与处理组具有相似特征的合成控制组。其基本假设是如果没有政策干预,处理组的发展趋势将与合成控制组相似。在具体操作中,我们将多个潜在的控制单元通过线性组合来构建合成控制组。假设我们有了J+1个单元,其中单元1是处理组,其余J个单元是控制组。我们用Yit表示单元i在时间t的观测结果,Xit表示相应的协变量。在政策干预前的时期t=1,2,…,T,我们希望找到控制组的权重w=(w2,w3,…,wJ+1)',使得合成控制组的特征尽可能接近处理组的特征。这通常通过最小化一个距离函数来实现,常见的距离函数是均方预测误差(Mean Squared Prediction Error, MSPE):求解上述优化问题,得到最优权重 w*,从而构建合成控制组.在政策干预后的时期t= T0+1,T0+2,…,T,通过比较处理组和合成控制组的结果差异来评估政策效果。为了更好地理解合成控制法的原理,我们可以通过一个简单的例子来说明。假设我们要评估某地区实施一项新的经济政策对当地 GDP 增长的影响。我们有多个潜在的可比地区作为控制组,这些地区在政策实施前与处理地区在经济结构、人口特征等方面具有一定的相似性。通过合成控制法,我们为处理地区构建一个合成的对照地区,其经济特征是多个控制地区的加权平均。如果在政策实施后,处理地区的 GDP 增长明显高于合成对照地区,那么我们可以初步认为该政策对经济增长产生了积极的影响。需要注意的是,合成控制法的有效性在很大程度上依赖于数据的质量和可获得性,以及合理选择协变量和控制组。同时,对于一些复杂的情况,可能需要结合其他方法进行综合评估。假设我们研究J+1个地区,地区1是处理组,其余J个地区是控制组。令Yit表示地区i在时间t的观测结果,比如可以是经济增长率、失业率等。假设政策干预发生在时间 T0。我们首先定义一个指示变量 D it,如果地区i在时间t受到了政策干预,则 D it =1,否则 D it =0。其中,a1是常数项,β1表示时间趋势,θ1是政策干预的效应,ε1t是误差项。对于控制组(地区j=2,3,…,J+1),其观测结果可以表示为:在合成控制法中,我们的目标是找到控制组的最优权重w=(w2,w3,…,wJ+1)',使得合成控制地区的结果尽可能接近处理组在政策干预前的结果。具体来说,我们希望最小化以下均方预测误差(MSPE):通过求解这个优化问题,得到最优权重 w*,从而构建合成控制地区的结果:最后,通过比较处理组在政策干预后的实际结果 Yit 和合成控制地区的结果来评估政策干预的效果。如果Yit显著不同于,则可以认为政策干预产生了显著的影响。例如,假设我们研究某个城市实施的环保政策对空气质量的影响。我们选取了多个相似的城市作为控制组。在政策实施前,通过优化权重来使合成控制城市的空气质量指标与处理城市尽可能相似。政策实施后,如果处理城市的空气质量明显优于合成控制城市,那么我们可以认为该环保政策是有效的。 需要注意的是,在实际应用中,我们需要合理选择纳入模型的变量,以确保合成控制地区能够准确地模拟处理地区在政策干预前的情况。同时,还需要对模型的假设和局限性有清晰的认识。import delimited 命令用于按照指定的格式导入数据文件。gen 命令用于生成新的变量,如定义处理组的指示变量。通过 globa1 定义全局变量,方便在后续命令中统一使用和修改。synth 命令执行合成控制法的估计,指定结果变量、预测变量和处理组。estat synth 输出关于合成控制估计的统计信息。estimates store 用于保存估计结果,便于后续分析和比较。后续的代码片段展示了如何进行t检验、安慰剂检验和敏感性分析,以进一步评估结果的可靠性和稳定性。 为了验证合成控制法结果的稳健性,可以进行以下几种检验:(1)安慰剂检验:随机选择一些控制组作为“假处理组”,如果这些“假处理组”的结果与真实处理组差异显著,说明原结果可能是偶然的。(2)敏感性分析:改变控制组的范围或权重计算方法,观察结果是否有较大变化。