倾向评分1:n配比法在Stata软件中的实现
倾向评分的作用 :1.主要用于观察性研究组间混杂因素的事后均衡,对观察性研究的非研究混杂因素进行类似随机化的均衡处理;
2.将多个混杂变量综合为一个变量——倾向评分,通过平衡两对比组的倾向评分而有效地均衡混杂变量(也称协变量)的分布,从而达到控制混杂偏倚的目的。
Part 1
//联网条件下安装psmatch2程序包
ssc install psmatch2
// 以下两步对所有观测值进行随机排序
gen temp=runiform()
sort temp
//计算倾向评分并为处理组找到相应的对照。psmatch2 因变量 协变量。除吸烟外,匹配其他变量达到均衡,目的是为探讨吸烟与q101的关系。out(q101)指明结局变量。neighbor是指处理组匹配的对照的个数,1:1配比法,因而在此选1。caliper是本例所用的卡钳值。noreplacement是指不重复利用对照。
psmatch2 Smoke Age Gender Height Weight Residence Education Drink Familyhistory ,out( q101 ) logit neighbor(1) common caliper(0.03) ties noreplacemenf
//对一n1变量进行排序
sort _n1
//配比前后各协变量的均衡性比较.对其拟合优度进行评估,如果C值太低,就要考虑一些重要的混杂变量可能没有纳人到模型。有研究者认为,C值越大拟合效果越好,认为C
值≥0.8是模型拟合效果很好的指标,但C值太高,两者的可比性将很差,因此实际应用中不要盲目地以C值越高越好来评价模型拟合的好坏归。
pstest,both
//以图片形式展示匹配结果
psgraph
//至此,倾向得分的计算及为每个处理组寻找合适的对照已完成,建议做到这步可保存一份数据,后面筛选会经常用到这个数据库
save "C:\Users\admin\Desktop\PSM\pscore.dta"
//保留吸烟组,删除不吸烟组
keep if Smoke ==1
//删除未配比成功的
drop if _support==0
//保留不吸烟组的id编号
keep _n1
//删除重复的对照
duplicates drop
//重命名_n1为_id以便后续合并作为关键变量
ren _n1 _id
//选出对照组的id号并保存到相应文件夹
save "C:\Users\admin\Desktop\PSM\_idduizhao.dta"
//打开之前保存的pscore.dta数据库
use "C:\Users\admin\Desktop\PSM\pscore.dta", clear
//与对照组的_idduizhao.dta数据库合并,筛选出对照的数据库
joinby _id using "C:\Users\admin\Desktop\PSM\_idduizhao.dta", unmatched(none)
//根据id大小给对照组的每个观测值编号,并生成一个新变量match
sort _id
egen match=fill(1 2)
//保存筛选出的对照数据库
save "C:\Users\admin\Desktop\PSM\duizhao.dta"
//打开之前保存的pscore.dta数据库
use "C:\Users\admin\Desktop\PSM\pscore.dta", clear
//保留吸烟组,删除不吸烟组
drop if Smoke==0
//删除未配比成功的,剩下的就是配比成功的处理组
drop if _support==0
//删除重复利用对照的研究对象
duplicates drop _n1,force
//对_id进行排序
sort _id
//根据id大小给处理组的每个观测值编号,并生成一个新变量match
egen match=fill(1 2)
//将处理组与对照组合并,该数据库即为倾向评分1:1配比后的数据库
append using "C:\Users\admin\Desktop\PSM\ duizhao.dta"


雷达卡





京公网安备 11010802022788号







