楼主: zhuangshaocheng
5004 3

[stata资源分享] stata 倾向性评分 分享 (我加了些注解) [推广有奖]

  • 0关注
  • 1粉丝

本科生

13%

还不是VIP/贵宾

-

威望
0
论坛币
17 个
通用积分
29.2157
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
349 点
帖子
11
精华
0
在线时间
135 小时
注册时间
2020-4-16
最后登录
2022-1-16

楼主
zhuangshaocheng 发表于 2020-4-16 15:39:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

倾向评分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"

//打开之前保存的pscoredta数据库

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"


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:stata倾向性评分

沙发
zhoubole 学生认证  发表于 2020-4-16 17:43:19 来自手机
谢谢分享

藤椅
zhoubole 学生认证  发表于 2020-4-16 18:51:01 来自手机
实践操作了一下  是OK的,困惑很久 终于明白了  实在感谢

板凳
zhuangshaocheng 发表于 2020-4-16 19:19:07
zhoubole 发表于 2020-4-16 18:51
实践操作了一下  是OK的,困惑很久 终于明白了  实在感谢
嗯嗯 你验证一片。我也肯定了没错。谢谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-3-2 03:08