楼主: 大卫科比
277 1

[回归分析求助] 广义倾向得分匹配平衡性检验复现问题求解 [推广有奖]

  • 2关注
  • 0粉丝

本科生

20%

还不是VIP/贵宾

-

威望
0
论坛币
748 个
通用积分
1.5648
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1563 点
帖子
17
精华
0
在线时间
134 小时
注册时间
2020-2-5
最后登录
2024-6-5

20周年荣誉勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
最近在复现一篇中国工业经济的文献的广义倾向得分匹配的模型,通过使用附件的代码和数据跑模型的时候发现数据中的Fractional Logit回归结果都能对的上,但是平衡性检验,通过在stata的doseresponse2命令中删去flag_b(0)这个参数,并加上detail这个参数的条件下,跑出来的平衡性检验却不像原文那么理想,不知道是哪个步骤出现了问题。还有个问题就是在匹配前的平衡性检验怎么做啊,使用pstest命令嘛,类似 pstest [varlist] [if exp] [in range], raw treated(varname)这样的命令嘛,我有看到The Propensity Score with Continuous Treatments(Keisuke,Guido,2004)这篇文献中有给出各cut分段的检验前后的t统计量表,不知是如何实现的
  1. /*Next choose represantitive treatment-level*/
  2. matrix tp=J(101,1,0)
  3. scalar j=0
  4. forvalues i=1/101{
  5. mat tp[`i',1]=j
  6. scalar j=j+0.01
  7. }
复制代码
  1. /*Cutpoints*/
  2. gen cut=0.031 if treat<=0.031
  3. replace cut=0.068 if treat>0.031 & treat<=0.068
  4. replace cut=0.124 if treat>0.068 & treat<=0.124
  5. replace cut=0.440 if treat>0.124 & treat<=0.440
  6. replace cut=1 if treat>0.440 & treat<=1
复制代码
  1. doseresponse2 lgross_value lnk tfp finan age ex RD subsidy NZ _I*, outcome(export_avg) ///
  2. t(treat) gpscore(gps) predict(t_hat) sigma(sd) cutpoints(cut) index(mean) ///
  3. nq_gps(4) dose_response(dose_res) reg_type_t(cubic) reg_type_gps(cubic) ///
  4. family(bin) link(logit) tpoints(tp) bootstrap(yes) boot_reps(100) analysis(yes) ///
  5. analysis_level(0.95) filename("output_avg_cubic_boostap_2010") ///
  6. graph("graph_avg_cubic_boostrap_2010") detail
复制代码
下面是原文的模型结果
屏幕截图 2024-05-14 160154.png 屏幕截图 2024-05-14 160216.png
以下是我跑出的模型结果Fractional Logit1回归结果
img-2024.05.14-04.36.32.jpg
Fractional Logit2回归结果
img-2024.05.14-04.11.46.jpg 以下是平衡性检验的stata结果
img-2024.05.14-04.43.39.jpg 屏幕截图 2024-05-14 162753.png 屏幕截图 2024-05-14 162812.png 屏幕截图 2024-05-14 162828.png 屏幕截图 2024-05-14 162849.png

最后再附一下那篇英文文献的平衡性检验,其使用的是LotteryDataSet.dta这个文件
屏幕截图 2024-05-14 162351.png






二维码

扫码加我 拉你入群

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

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

关键词:倾向得分匹配 问题求解 倾向得分 propensity Continuous 平行趋势检验不通过

屏幕截图 2024-05-14 162849.png (13.3 KB)

屏幕截图 2024-05-14 162849.png

屏幕截图 2024-05-14 162828.png (14.19 KB)

屏幕截图 2024-05-14 162828.png

img-2024.05.14-04.24.59.jpg (84.13 KB)

img-2024.05.14-04.24.59.jpg

数据与程序.rar

15.18 MB

中国工业经济那篇文献的原文附件

沙发
赵安豆 发表于 2024-5-15 08:37:27 |只看作者 |坛友微信交流群
在复现广义倾向得分匹配(GPSM)模型时,遇到平衡性检验结果不理想的问题可能有以下几个原因:

1. 数据处理:确保原始数据与文献中的数据一致,包括变量定义、缺失值处理和异常值处理等。
2. GPS估计:再次确认Fractional Logit回归的设定和参数是否正确,包括控制变量的选择和模型的设定。
3. 匹配方法:检查匹配的方法(如 propensity score matching, nearest neighbor, caliper 等)是否与文献一致,并调整匹配窗口或比例以提高平衡性。
4. 平衡性检验:在stata中,`doseresponse2`命令用于评估处理效应,而`pstest`命令用于检查倾向得分的平衡性。如果匹配前的平衡性检验,可以使用`pstest`命令,格式如你所述。为了更详细地了解匹配前后的平衡性,你可以计算并比较处理组和对照组在匹配前后的协变量均值或标准差。

对于The Propensity Score with Continuous Treatments文献中给出的各cut分段的检验,可以按照以下步骤进行:

1. 将连续治疗变量转化为多个二元变量(例如,每5个单位切分一次)。
2. 对每个二元变量分别估计倾向得分模型。
3. 使用`pstest`命令对每个二元处理组进行平衡性检验。

为了解决你的问题,建议逐步检查以上提到的步骤,并根据需要调整模型设定或匹配参数。如果仍然无法解决问题,可能需要更详细地分析代码和数据以找出具体原因。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-10 11:45