楼主: 句容5
24823 36

[编程问题求助] 请问PSM配对完成后如何只留下配对成功的样本 [推广有奖]

21
江河1703 学生认证  发表于 2019-12-29 21:38:46
提示: 该帖被管理员或版主屏蔽  愫音丶 语言不文明或人身攻击 2020-8-12 16:51

22
fine9527 发表于 2020-1-1 19:49:43
江河1703 发表于 2019-12-29 21:38
你就想着赚钱,真的是钻钱眼里了,就你这样还为人师表,恶心到我了
你有什么资格评价一个为论坛贡献了那么多的大师? river帮助的人不计其数。

23
江河1703 学生认证  发表于 2020-1-1 23:06:40
fine9527 发表于 2020-1-1 19:49
你有什么资格评价一个为论坛贡献了那么多的大师? river帮助的人不计其数。
我就我看到的发表我的看法,我有言论自由权,你这么挺他,那他为什么没有解答大家关于这个问题的回复,反而一味地推销自己的课程,不是钻到了钱眼里吗

24
苦鬼2014 学生认证  发表于 2020-1-30 01:37:52
铁锷未残 发表于 2019-3-2 15:52
https://stata-club.github.io/stata_article/2017-04-14.html
如果这可以帮助到你,请帮我评分,评分选项 ...
老师好,这里李老师【keep if _weight==1 】做法应该有误。这显然是保留了实验组的样本。而删掉了对照组的。

25
复亲亲 发表于 2020-2-14 18:16:11
江河1703 发表于 2019-12-29 21:38
你就想着赚钱,真的是钻钱眼里了,就你这样还为人师表,恶心到我了
老师也是正当合法的啊,倒是你这样说很不礼貌而且太言重了,老师都道歉了为什么要穷追不舍呢,而且老师在论坛里经常无偿回答学生们提出的问题啊!

26
circlewei 学生认证  发表于 2020-3-12 14:08:51
eva_1023 发表于 2019-10-16 11:39
我的有一些_weight等于5、6啥的,也算是匹配上了对么
请问您解决这个问题了吗?我也是做完psm之后有很多是2、3、4、5、6、7、8、9……这些值,我完全不知道这个值是什么意思

27
辉辉灰 发表于 2020-4-20 16:02:48
circlewei 发表于 2020-3-12 14:08
请问您解决这个问题了吗?我也是做完psm之后有很多是2、3、4、5、6、7、8、9……这些值,我完全不知道这个 ...
你好,请问你的解决了吗?咋选出已经匹配了的样本?谢谢!

28
S.t.c 发表于 2020-4-28 22:33:24
在一篇文章里看到的做法,感觉比较可靠:
psmatch2 $treat $x , out(y) logit ate neighbor(1) common caliper(.05) ties
gen pair=_id if _treated==0
replace pair=_n1 if _treated==1
bysort pair: egen paircount5=count(pair)
drop if paircount5!=2  //把不等于2的删除掉就好
能否匹配成功主要看_pdif是否相同,在1:1匹配的情况下,若只保留配对数据,会损失不少样本。如果通过drop if _weight==.来保留匹配样本会多很多。

29
S.t.c 发表于 2020-4-28 22:45:59
补充:
其中_pscore是每个观测值对应的倾向值;_id是自动生成的每一个观测对象唯一的ID(事实上这列变量即是对_pscore排序);_treated表示某个对象是否试验组;_n1表示的是他被匹配到的对照对象的_id(如果是1:3匹配,还会生成_n2, _n3);_pdif表示一组匹配了的观察对象他们概率值的差。

30
yani233 发表于 2020-5-5 17:05:10
S.t.c 发表于 2020-4-28 22:33
在一篇文章里看到的做法,感觉比较可靠:
psmatch2 $treat $x , out(y) logit ate neighbor(1) common cal ...
非常感谢您的回答,看了后很是解惑,还有一个疑问,drop if _weight==.这步是有必要的吗?

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

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