您的位置:

全面了解Statapsm

一、PSM检验Stata命令

    psmatch2 treatment_var, outcome_var, outcome_treated "cov1 cov2 cov3 ..." treatment(att)

为了对处理效应进行估计,我们需要做处理效应的检验。常用的一种方法是 Propensity Score Matching (PSM)。在 Stata 中,可以使用 psmatch2 命令进行 PSM。psmatch2 接受四个参数。第一个参数是处理组的变量名,第二个参数是结果变量名,第三个参数指定的是控制组的样本,第四个参数是倾向得分估计 y 对 x 的回归模型。

psmatch2的实现过程首先进行倾向得分估计,然后设置一个阈值(att)将倾向得分相近的处理组和控制组进行匹配,匹配的结果满足倾向得分分布相似的条件。

二、PSM的ATT是什么

在 PSM 中,ATT 是Average Treatment Effect on the Treated的缩写,意指处理组对于受处理的对象而言的平均处理效应。也就是说,ATT 是指在处理组中,只针对那些确实接受了处理的个体而言,处理效应的平均值。

ATT 的计算方式如下:
ATT = (1/n) sum(from i=1 to n)[Yi(Ti=1) - Yi(Ti=0)]

三、PSM的ATT显著说明什么

ATT 试图在不需要控制其他变量的情况下,来衡量处理效应。在大多数情况下,ATT 都需要确保足够的样本量,才能在显著性水平上得到合理的结果。同时,一个显著的 ATT 值,还可以指出该变量对于处理效应有显著的影响,这意味着处理组和控制组之间,在 ATT 上存在着显著的差异。

四、PSM匹配ATT值应该为多少

ATT 的合理值取决于研究对象和目的。在实际应用中,我们可以通过一系列的尝试来得到合适的 ATT 值。通常来说,可以使用 psmatch2 命令中的 ncontrols 选项来控制匹配样本中的个体数量。同时,注意到 ATT 值不能过小或过大,以免导致过拟合或欠拟合等问题。一般来说,合理的 ATT 值在 0.2 ~ 0.5 左右。

五、Statapsm UI示例

如下是一个简单的 Statapsm UI 的演示:

        webuse lalonde (1978)
        webuse cps_controls, clear
        
        statapsm psm {
            title: "Effect of Job Training on Earnings: Propensity score matching"
            dataset: "lalonde (1978)"
            treatment: "treat"
            outcome: "re78"
            controls: "age educ black hispan married nodegree"
            att: "0.3" 
        }  
    

在这个例子中,我们使用了一个公共数据集 lalonde (1978) 和一个控制组数据集 cps_controls。其中,lalonde(1978) 中包含了来自国家劳工局的数据,这组数据记录了对于两个相似的服刑释放者群体(当时可能因为缺失数据等原因无法判断该释放群体和控制群体是否相同),两者之中有一部分人接受了一项名为“就业培训”(treat,0/1) ,而另一部分人则没有接受此项培训(RCT)。cps_contorls 数据集中包含了另一组与case 非常类似的人群,主要用于控制其他变量的影响。该数据集中共包含18个变量。在这个例子中,我们设定了处理组变量(treat)、结果变量(re78)、控制组变量(cps_controls 中的变量)和att 值(匹配阈值)。最终输出的是处理组和控制组的 ATT 值反映了 “就业培训” 对于薪资水平的影响。