处理效应模型及 Stata 具体操作步骤
通过倾向得分匹配,找到在这些因素上相似但一组接受治疗,一组未接受治疗的个体进行比较,从而更准确地评估治疗效果。选取实施政策的城市作为处理组,未实施政策的相似城市作为控制组,比较政策实施前后两组城市空气质量的变化差异,以评估政策效果。对于倾向得分匹配,查看匹配质量的统计结果,判断协变量是否在处理组和控制组间达到平衡。时,说明处理组和控制组的结果变量均值有显著差异,即处理有显著效果。如果协变量的系数显
目录
一、引言
处理效应模型是一种用于评估干预或处理对结果变量影响的统计方法。在许多研究领域,如经济学、社会学和医学等,处理效应模型被广泛应用以解决选择性偏差和内生性问题。
二、理论原理
处理效应模型主要有两种常见类型:倾向得分匹配(Propensity Score Matching,PSM)和双重差分法(Difference-in-Differences,DID)。
- 倾向得分匹配(PSM)
- 基本思想:倾向得分匹配的核心思想是基于“可观测的协变量”来模拟一个随机实验的环境。通过构建一个综合反映个体接受处理可能性的倾向得分,然后根据这个得分对处理组和控制组的个体进行匹配,使得匹配后的处理组和控制组在可观测的特征上尽可能相似,从而减少由于个体特征差异导致的选择性偏差。
- 数学原理:倾向得分定义为在给定可观测协变量的情况下个体接受处理的条件概率。通过逻辑回归或其他方法估计出这个概率。
- 优点:能够在一定程度上解决由于不可观测因素导致的选择性偏差问题;相对简单直观,易于理解和解释。
- 局限性:依赖于正确的模型设定和可观测协变量的完整性,如果存在重要的不可观测因素未被纳入模型,可能仍然存在偏差;对于连续型处理变量的处理相对复杂。
例如,假设我们研究某种药物治疗对疾病康复的效果。个体的年龄、性别、基础健康状况等会影响是否接受治疗以及康复情况。通过倾向得分匹配,找到在这些因素上相似但一组接受治疗,一组未接受治疗的个体进行比较,从而更准确地评估治疗效果。
- 双重差分法(DID)
- 基本思想:双重差分法通过比较处理组在处理前后的变化与控制组在相同时间段内的变化,从而分离出处理的净效应。其前提是假设在没有处理的情况下,处理组和控制组的变化趋势是相同的。
- 数学原理:利用两组(处理组和控制组)在两个时间点(处理前和处理后)的数据,构建双重差分估计量。
- 优点:可以较好地控制随时间不变的不可观测因素的影响;适用于评估政策或干预的动态效果。
- 局限性:要求处理组和控制组在处理前具有平行趋势;可能受到其他同时期政策或事件的干扰。
例如,研究某个城市实施新的环保政策对空气质量的影响。选取实施政策的城市作为处理组,未实施政策的相似城市作为控制组,比较政策实施前后两组城市空气质量的变化差异,以评估政策效果。
三、数据准备
我们使用一个虚构的数据集 treatment_data.dta
,其中包含个体特征、是否接受处理的变量 treated
以及结果变量 outcome
等。
use "treatment_data.dta", clear
四、倾向得分匹配(PSM)操作步骤
- 估计倾向得分
logit treated x1 x2 x3 // 其中 x1, x2, x3 为影响接受处理的协变量
predict ps // 生成倾向得分
这里,logit
命令用于估计二值选择模型以得到倾向得分,predict
命令用于生成预测值。
- 进行匹配
psmatch2 treated x1 x2 x3, outcome(outcome) neighbor(1) ties
psmatch2
命令执行匹配操作,neighbor(1)
表示使用 1 对 1 近邻匹配,ties
处理得分相同的情况。
- 评估匹配质量
sum treated x1 x2 x3 if _weight!=. // 查看处理组和控制组在协变量上的均值
browse if _weight!=. // 直观查看匹配后的样本
- 估计处理效应
ttest outcome, by(treated) // 比较处理组和控制组结果变量的均值差异
五、双重差分法(DID)操作步骤
- 生成处理组和时间的交互项
gen treated_time = treated * post // 假设 post 为处理时间的虚拟变量
- 回归分析
reg outcome treated post treated_time x1 x2 x3
- 稳健性检验
- 平行趋势检验:可以通过绘制处理组和控制组在处理前的结果变量趋势图来直观判断平行趋势是否成立。
- 安慰剂检验:随机设定处理组和控制组,重新进行估计,观察结果是否显著。
六、代码运行结果解释
对于倾向得分匹配,查看匹配质量的统计结果,判断协变量是否在处理组和控制组间达到平衡。例如:
- 估计倾向得分后的结果:
Logistic regression Number of obs = 1000
LR chi2(3) = 150.00
Prob > chi2 = 0.0000
Log likelihood = -320.0000 Pseudo R2 = 0.1500
treated Coef. Std. Err. z P>|z| [95% Conf. Interval]
x1 0.50 0.10 5.00 0.000 0.30 0.70
x2 0.30 0.12 2.50 0.012 0.06 0.54
x3 -0.20 0.08 -2.50 0.012 -0.36 -0.04
如果协变量的系数显著,说明这些协变量对接受处理的概率有显著影响。
- 匹配质量评估结果:
Variable | Treated | Control | Diff | Std. Err. | t | P>|t|
---------+-------------+------------+--------+-------------+-----+----------
x1 | 20.00 | 18.50 | 1.50 | 2.00 | 0.75 | 0.45
x2 | 15.00 | 14.00 | 1.00 | 1.50 | 0.67 | 0.50
x3 | 8.00 | 7.50 | 0.50 | 1.00 | 0.50 | 0.62
若Diff
较小且 P>|t|
较大,说明匹配效果较好,处理组和控制组在协变量上差异不显著。
- 处理效应估计结果:
Two-sample t test with equal variances
Group | Obs | Mean | Std. Err. | Std. Dev. | [95% Conf. Interval]
------+------------+------------+---------------+---------------+-----------------------
treated | 200 | 50.00 | 5.00 | 15.00 | 40.00 60.00
control | 200 | 40.00 | 4.00 | 12.00 | 32.00 48.00
diff = mean(treated) - mean(control)
= 10.00
t = 4.00
Ho: diff = 0
Degrees of freedom = 398
Ha: diff > 0
p = 0.0000
Ha: diff < 0
p = 1.0000
Ha: diff!= 0
p = 0.0000
当 p < 0.05
时,说明处理组和控制组的结果变量均值有显著差异,即处理有显著效果。
对于双重差分法,关注处理时间和处理组交互项的系数及其显著性。例如:
回归结果:
Linear regression Number of obs = 1000
F(5, 994) = 100.00
Prob > F = 0.0000
R-squared = 0.3000
Adj R-squared = 0.2800
Root MSE = 10.0000
outcome | Coef. Std. Err. t P>|t| [95% Conf. Interval]
---------+---------------------------------------------------------------
treated | 10.00 2.00 5.00 0.000 6.00 14.00
post | 5.00 1.50 3.33 0.001 2.00 8.00
treated_time | 8.00 2.50 3.20 0.001 3.00 13.00
x1 | 0.50 0.10 5.00 0.000 0.30 0.70
x2 | 0.30 0.12 2.50 0.012 0.06 0.54
x3 | -0.20 0.08 -2.50 0.012 -0.36 -0.04
若treated_time
的系数显著为正,说明处理有正向效果。
处理效应异质性分析——机器学习方法带来的机遇与挑战https://shxyj.ajcass.com/Admin/UploadFile/Issue/20210121043316WU_FILE_0.pdf
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)