文章目录
STATA19借助全新的 cate命令,在因果效应分析中,你可以超越对总体治疗效果的估计,进而估计个体化和特定群体的治疗效果。比较不同的干预措施和政策,探索治疗效果的异质性。
治疗效果用于估计一种治疗手段对结果产生的因果影响。这种影响可能存在异质性。例如,劳动经济学家可能想了解职业培训项目对参与该项目人员收入的影响;一家在线购物公司可能想知道价格折扣对具有不同人口统计学特征(如年龄和收入)的客户购买行为的影响;一个医疗团队可能想衡量吸烟对不同年龄组个体压力水平的影响。
基于一组变量的条件平均治疗效果(CATEs)有助于我们理解异质性治疗效果。平均治疗效果(ATEs)是对整个人群求平均值,而条件平均治疗效果是对亚群体求平均值。因此,条件平均治疗效果使我们能够探索治疗效果的异质性,并且从构建上来说,它对于评估不同的治疗分配政策如何影响人群中的不同群体非常有用。
cate命令的作用
cate可以帮助我们回答以下问题:
- 治疗效果是否存在异质性?
- 治疗效果如何随某些变量变化?
- 治疗效果在预先指定的群体之间是否存在差异?
- 数据中是否存在治疗效果不同的未知群体?
- 在可能的治疗分配规则中,哪一个是最佳的?
个体化平均治疗效果
我们想要估计401(k)资格(e401k)对净金融资产(asset)的影响,以回答以下问题:
- 401(k)资格对净财富的影响是否存在异质性?换句话说,治疗效果是否因个体或群体而异?
- 如果治疗效果存在异质性,那么在预先指定的群体(如收入类别)中,治疗效果是如何变化的?
数据来自1990年收入与项目参与调查(SIPP)中的一个家庭样本。这些数据包含了户主的信息:收入水平类别(incomecat)、年龄(age)、受教育年限(educ)、是否领取养老金福利(pension)、婚姻状况(married)、是否参与个人退休账户(ira)、是否拥有住房(ownhome)以及同一家庭中是否有两个收入者(twoearn)。
我们想要研究在给定一个人的incomecat、age、educ、pension、married、ira、ownhome和twoearn的情况下,拥有401(k)资格对资产(assets)的影响。例如,使用teffects,我们可以得到一个平均效果。使用cate,我们可以得到每个个体的效果,即个体化平均治疗效果(IATE)。
首先,我们打开assets3数据集。为了减少后续输入量,我们定义一个全局宏catecovars,用于存储我们将作为条件的变量名称。
. use https://www.stata-press.com/data/r18/assets3
(Excerpt from Chernozhukov and Hansen (2004))
. global catecovars age educ i.(incomecat pension married twoearn ira ownhome)
我们准备好使用cate拟合模型。我们在命令名称后指定po,以使用偏置消除估计量。我们在第一组括号中指定结果变量asset和包含预测变量的全局宏$catecovars
,在第二组括号中指定治疗分配变量e401k。我们还指定rseed()
选项以使结果具有可重复性。
. cate po (assets $catecovars) (e401k), rseed(12345671)
Cross-fit fold 1 of 10 ...
Performing lasso for outcome assets ...
Performing lasso for treatment e401k ...
Cross-fit fold 2 of 10 ...
Performing lasso for outcome assets ...
Performing lasso for treatment e401k ...
Cross-fit fold 3 of 10 ...
Performing lasso for outcome assets ...
Performing lasso for treatment e401k ...
Cross-fit fold 4 of 10 ...
Performing lasso for outcome assets ...
Performing lasso for treatment e401k ...
Cross-fit fold 5 of 10 ...
Performing lasso for outcome assets ...
Performing lasso for treatment e401k ...
Cross-fit fold 6 of 10 ...
Performing lasso for outcome assets ...
Performing lasso for treatment e401k ...
Cross-fit fold 7 of 10 ...
Performing lasso for outcome assets ...
Performing lasso for treatment e401k ...
Cross-fit fold 8 of 10 ...
Performing lasso for outcome assets ...
Performing lasso for treatment e401k ...
Cross-fit fold 9 of 10 ...
Performing lasso for outcome assets ...
Performing lasso for treatment e401k ...
Cross-fit fold 10 of 10 ...
Performing lasso for outcome assets ...
Performing lasso for treatment e401k ...
Performing random forest for IATE ...
Estimating AIPW scores ...
Estimating ATE ...
Conditional average treatment effects Number of observations = 9,913
Estimator: Partialing out Number of folds in cross-fit = 10
Outcome model: Linear lasso Number of outcome controls = 17
Treatment model: Logit lasso Number of treatment controls = 17
CATE model: Random forest Number of CATE variables = 17
Robust
assets Coefficient std. err. z P>|z| [95% conf. interval]
ATE
e401k
(Eligible
vs
Not eligi..) 7937.182 1153.017 6.88 0.000 5677.309 10197.05
POmean
e401k
Not eligible 14016.38 833.4423 16.82 0.000 12382.87 15649.9
迭代日志显示了将结果模型拟合到assets以及将治疗模型拟合到e401k的交叉拟合过程。默认情况下,对结果assets使用线性模型的套索回归,对治疗变量e401k使用逻辑模型的套索回归。
输出结果表明,一旦交叉拟合完成,将使用随机森林来估计个体化平均治疗效果(IATE)函数。然后计算由部分线性模型隐含的逆概率加权平均得分(AIPW),并将平均治疗效果(ATE)估计为AIPW得分的平均值。表格中报告的平均治疗效果表明,如果人群中的每个人都有资格参加401(k)计划,那么平均而言,净金融资产将比没有人有资格参加401(k)计划时高出7,937美元。
个体化平均治疗效果的直方图
除了平均治疗效果之外,cate还会估计个体化平均治疗效果,我们可以用它来预测每个观测值的治疗效果。首先,我们使用categraph histogram绘制预测的个体化平均治疗效果的直方图,以查看它们的分布情况。
. categraph histogram
该图表显示,治疗效果大多为正,但右侧尾部较厚。因此,平均治疗效果可能会低估401(k)资格对某些群体资产的影响。
检验治疗效果是否存在异质性
尽管上面的直方图使我们能够直观地检查治疗效果的分布,但我们不应将其用作支持治疗效果异质性的证据。要检验治疗效果是否存在异质性,请使用estat heterogeneity。
. estat heterogeneity
Treatment-effects heterogeneity test
H0: Treatment effects are homogeneous
chi2(1) = 4.11
Prob > chi2 = 0.0427
体化平均治疗效果函数如何随感兴趣变量的水平变化
我们可以进一步探索异质性。我们可能想看看在将所有其他协变量固定在指定值(如它们的均值)时,个体化平均治疗效果函数如何随感兴趣变量的水平变化。例如,我们可以在固定其他变量的同时让educ变化。
我们使用categraph iateplot直观地检查个体化平均治疗效果函数在educ水平上的变化。默认情况下,像age这样的连续变量固定在其样本均值,因子变量固定在其基础水平。
. categraph iateplot educ
Note: IATE estimated at fixed values of covariates other than educ.
Variable Statistic Value Type
age mean 41.05891 continuous
incomecat base 0 factor
ira base 0 factor
married base 0 factor
ownhome base 0 factor
pension base 0 factor
twoearn base 0 factor
除了个体化平均治疗效果函数之外,categraph iateplot还会绘制预测的95%逐点置信区间。在受教育年限低于10年时,效果似乎保持不变。该图表显示,在固定其他变量的情况下,受教育年限为12至15年的人的治疗效果更大。在受教育年限超过15年后,变异性更大,置信区间更宽,这使得很难确定在这些高教育水平下效果是否发生变化。
估计预先指定群体的治疗效果
上面,我们了解到401(k)资格对金融资产的治疗效果存在异质性。为了描述这种异质性效果,我们想知道平均治疗效果在预先指定的群体(如收入类别)之间是如何变化的。
我们首先查看每个收入类别的最低收入、最高收入和中位数收入。
. table incomecat, stat(min income) stat(max income)
stat(median income) nototal
Minimum value Maximum value Median
Income category
0 0 17196 12240
1 17214 26523 21735
2 26526 37275 31482
3 37296 53841 44379
4 53844 242124 69612
我们看到,水平0和1指的是低收入群体,水平2和3指的是中等收入群体,水平4指的是高收入群体。
我们已经估计了个体化平均治疗效果函数;现在我们估计群体平均治疗效果(GATEs),它是个体化平均治疗效果函数在群体变量每个水平上的汇总。因此,无需重新估计个体化平均治疗效果函数;我们可以使用现有的个体化平均治疗效果函数。使用cate,我们指定reestimate选项,以便在不重新估计个体化平均治疗效果函数的情况下重新估计效果。这个选项将节省计算时间。我们指定group(incomecat) 选项来估计收入类别的群体平均治疗效果。
. cate, group(incomecat) reestimate
Estimating GATE ...
Conditional average treatment effects Number of observations = 9,913
Estimator: Partialing out Number of folds in cross-fit = 10
Outcome model: Linear lasso Number of outcome controls = 17
Treatment model: Logit lasso Number of treatment controls = 17
CATE model: Random forest Number of CATE variables = 17
Robust
assets Coefficient std. err. z P>|z| [95% conf. interval]
GATE
incomecat
0 4087.014 987.7124 4.14 0.000 2151.133 6022.895
1 1399.398 1663.193 0.84 0.400 -1860.4 4659.196
2 5154.329 1349.842 3.82 0.000 2508.688 7799.97
3 8532.238 2287.664 3.73 0.000 4048.499 13015.98
4 20510.94 4723.741 4.34 0.000 11252.58 29769.3
ATE
e401k
(Eligible
vs
Not eligi..) 7937.182 1153.017 6.88 0.000 5677.309 10197.05
POmean
e401k
Not eligible 14016.38 833.4423 16.82 0.000 12382.87 15649.9
结果同时显示了平均治疗效果和群体平均治疗效果。例如,高收入群体(水平4)的群体平均治疗效果为20,511美元。对于最高收入群体,与没有401(k)资格时的净金融资产相比,拥有401(k)资格预计会使他们的净金融资产增加20,511美元。相比之下,最低收入群体(水平0)的群体平均治疗效果估计仅为4,087美元。换句话说,收入较高的人从在有401(k)计划的公司工作中受益更多。平均治疗效果估计表明,总体人群的治疗效果预计为7,937美元。因此,仅使用平均治疗效果并不能完全描述不同收入类别之间的治疗效果。
我们可以使用categraph gateplot将群体平均治疗效果估计可视化,以查看是否存在任何趋势。
. categraph gateplot
进一步检验收入群体之间是否存在干预效果异质性
该图表证实了一个上升趋势。为了进一步检验收入群体之间是否存在治疗效果异质性,我们使用estat gatetest。
. estat gatetest
Group treatment-effects heterogeneity test
H0: Group average treatment effects are homogeneous
( 1) [GATE]0bn.incomecat - [GATE]1.incomecat = 0
( 2) [GATE]0bn.incomecat - [GATE]2.incomecat = 0
( 3) [GATE]0bn.incomecat - [GATE]3.incomecat = 0
( 4) [GATE]0bn.incomecat - [GATE]4.incomecat = 0
chi2(4) = 18.44
Prob > chi2 = 0.0010
该检验正式证实了我们在图表中看到的情况。我们有强有力的证据表明效果并非同质。