查看原文
其他

倾向匹配得分教程【pscore、psmatch2、官方命令Teffects操作及应用】

数量经济学 数量经济学 2022-12-31

本文主要包括倾向匹配得分命令简介、语法格式、倾向匹配得分操作步骤 思路,涉及倾向匹配得分应用、平衡性检验、共同取值范围检验、核密度函数图等内容。


1

命令简介


Stata没有一个内置的倾向评分匹配的命令,一种非实验性的抽样方法,它产生一个控制组,它的协变量分布与被处理组的分布相似。但是,这个方法有几个用户编写的模块。以下是最受欢迎的模块(主要有如下几个外部命令)


psmatch2.ado

pscore.ado

nnmatch.ado

上述主要介绍了如何获得PSM相关的命令,本文主要介绍如何使用pscore、psmatch2以及Stata官方的PSM命令Teffects。


2

语法格式


pscore语法格式为:

pscore treatment varlist [weight] [if exp] [in range] , pscore(newvar) [blockid(newvar) detail logit comsup level(#) numblo(#) ]


选项含义为:

pscore(newvar)是必需的,它要求用户为估计的倾向评分指定变量名,并将其添加到数据集中。


blockid(newvar)允许用户为估计倾向分数指定变量名,并将其添加到数据集中。


detail显示更详细的输出,说明为获得最终结果而执行的步骤。


logit使用logit模型来估计倾向评分,而不是默认的probit模型


本文将平衡特性的分析局限于所有处理和共同支撑区域的控制。选项comsup表示使用具有共同支撑区域样本。


level(real)允许设置平衡属性测试的显著性水平。默认值是0.01。


teffects语法格式为:

help teffects

teffects psmatch (ovar) (tvar tmvarlist [, tmodel]) [if] [in] [weight] [, stat options]


选项含义为:

ovar 结果变量


tvar 处理变量


tmvarlist 预测变量


logit指定使用logit模型进行拟合,默认的是probit模型;



psmatch2语法

 psmatch2 depvar [indepvars] [if exp] [in range] [, outcome(varlist)                     pscore(varname) neighbor(integer) radius caliper(real)                     mahalanobis(varlist) ai(integer) population altvariance                     kernel llr kerneltype(type) bwidth(real) spline                     nknots(integer) common trim(real) noreplacement                     descending odds index logit ties quietly w(matrix) ate]


选项含义为:

depvar因变量 ;

indepvars表示协变量;

outcome(varlist)表示结果变量;

logit指定使用logit模型进行拟合,默认的是probit模型;


neighbor(1)指定按照1:1进行匹配,如果要按照1:3进行匹配,则设定为neighbor(3);

radius表示半径匹配

核匹配 (Kernel matching)

其他匹配方法

广义精确匹配(Coarsened Exact Matching)  || help cem

局部线性回归匹配 (Local linear regression matching)

样条匹配 (Spline matching)

马氏匹配 (Mahalanobis matching)


pstest $X, both做匹配前后的均衡性检验,理论上说此处只能对连续变量做均衡性检验,对分类变量的均衡性检验应该重新整理数据后运用χ2检验或者秩和检验。但此处对于分类变量也有一定的参考价值。 


psgraph对匹配的结果进行图示。


3

案例应用1


背景数据描述:

这是国家支持工作示范(NSW)处理组数据的子样本和当前人口调查(CPS)的比较样本。Lalonde(1986)、Dehejia和Wahba(1999)对这些数据进行了广泛的分析。


1、首先进行数据结构查看

use "ldw_exper.dta", clear     eddesc

结果为:


2、描述性分析 

tabstat age edu black hisp married re74 re75 u74 u75,statistics(mean) by(t)

结果为:


3、Pscore命令进行操作

pscore t age edu black hisp married re74 re75 u74 u75, logit blockid(myblock) comsup pscore(mypscore)

结果为:



4、使用attnd命令进行后续分析

attnd re78 t, pscore(mypscore)

结果为:



等价于下面命令

attnd re78 t age edu black hisp married re74 re75 u74 u75, logit

结果为:


5、psmatch2命令进行操作

psmatch2 t age edu black hisp married re74 re75 u74 u75, out(re78) neighbor(1) ate ties logit common

结果为:



6、teffects命令进行操作

teffects psmatch (re78) (t married age edu black hisp married re74 re75 u74 u75,logit), atet nneighbor(1)


结果为:


7、平衡性检验,需要在psmatch2后面做,上述teffects实现不了。

7.1 倾向匹配得分

local v1 "t"local v2 "age edu black hisp married re74 re75 u74 u75"global x "`v1' `v2' "
psmatch2 $x, out(re78) neighbor(1) ate ties logit common // 1:1 匹配$表示引用宏变量,
等价于 psmatch2 t age edu black hisp married re74 re75 u74 u75, out(re78) neighbor(1) ate ties logit common

结果为:



7.2 查看匹配后数据

结果为:

打开数据编辑窗口,会发现软件自动生成了几个新变量:

其中_pscore是每个观测值对应的倾向值;

_id是自动生成的每一个观测对象唯一的ID(事实上这列变量即是对_pscore排序);

_treated表示某个对象是否试验组;

_n1表示的是他被匹配到的对照对象的_id(如果是1:3匹配,还会生成_n2, _n3);

_pdif表示一组匹配了的观察对象他们概率值的差。


7.3 均衡性检验

pstest $v2, both graph


结果为:


7.4 共同取值范围

psgraph


结果为:


7.5 核密度函数图

twoway(kdensity _ps if _treat==1,legend(label(1 "Treat")))(kdensity _ps if _treat==0, legend(label(2 "Control"))),xtitle(Pscore> ) title("Before Matching")
. twoway(kdensity _ps if _treat==1,legend(label(1 "Treat")))(kdensity _ps if (_weight!=1&_weight!=.), legend(label(2 "Control"))),> xtitle(Pscore) title("After Matching")


结果为:




4

案例应用1


1、首先进行数据结构查看

webuse cattaneo2
Estimate the average treatment effect of mbsmoke on bweight, using a logistic model (the default) to predict each subject's propensity scoreteffects psmatch (bweight) (mbsmoke mmarried c.mage##c.mage fbaby medu)
Refit the previous model, but only consider a pair of observations a match if the absolute difference in the propensity score is less than 0.1teffects psmatch (bweight) (mbsmoke mmarried c.mage##c.mage fbaby medu), caliper(0.1)

结果为:





5

2020国庆Stata研讨班


为了帮助大家全面系统的掌握stata,我们在一贯坚持高水平授课办会的基础上,特别打造“小班教学、理论与软件并重、精品课程解析”的课程培训亮点,现推出2020年Stata国庆班!

课程详情


 
截至目前,计量经济学服务中心已经在西安、北京、上海、广州等地成功举办了15场stata高级班,并在深圳南方科技大学举办了一场stata编程研讨班。

由于种种原因,很多学员一直想学却没有学,2020,给自己一个勇敢的理由,一起来放大你的小目标。

零基础入门
循序渐进学会高级计量及Stata应用
系统学习,助你成长
聚焦Stata在高级计量的应用

大纲


零基础起步,高级计量及Stata应用远程班,采用线上的授课模式进行授课。以理论+软件+案例+操作+讲解答疑的模式,初级+高级课程,涵盖数据管理+横截面+时间序列+面板数据+门限回归+因果推断(倾向匹配得分+合成控制法)+空间计量等专题,帮助你建立系统的计量体系,具体内容如下:


Class 1. A Quick Tour of Stata

  • stata简介Why Stata?/what is stata

  • 软件界面The Stata Interface/What Stata looks like

  • 参考书籍推荐Textbooks

  • log工作日志和do文档What to do first?Set a working directory/Keeping track of things(Do-files and log-files )

  • 命令以及帮助the command & Getting Help(包括help的使用以及ssc install 、findit等外部命令获取和使用)


Class 2. DATABASE MANIPULATION数据管理

  • 导入导出 Import and Export

  • 面板数据、时间数据、官方数据Time series data &Panel data & Example Datasets

  • 变量以及数据Variable and data types/Indicator or data variables

  • 数据管理Data management

  • 排序Order, aorder, and move

  • 变量标签Variable Labels and Notes

  • 文字变量处理之数据类型转换Converting strings to numerics and vice versa(encode 、decode、 destring、 tostring 等)

  • 数据横向合并和纵向合并Append and merge(merge,包括一对一、一对多、多对一等合并,append、cross、joinby等,)

  • 数据生成Generating new variables

  • 描述分析Describing the data (summarize)

  • 基础命令Basic commands(table tabulate)

  • tabstat命令

  • CSMAR及中经网数据库复杂的使用技巧


Class 3. 相关分析Correlation analysis(相关分析简介、相关命令corr、pwcorr、pwcorr_a等应用介绍、分析结果输出等)


Class 4.  回归分析Estimation

  • 线性回归模型估计方法OLS

  • 回归估计标准流程应用讲解

  • 估计系数统计推断

  • 假设检验(多重共线性、自相关、异方差等)

  • Stata与Word、Excel结合的估计结果输出等

  • 主题范文讲解


Class 5. 时间序列

  • 平稳性检验

  • 协整检验

  • 格兰杰检验

  • 课程总结以及论文讲解


Class 6&7. 静态面板与动态面板数据

  • 面板数据描述性分析

  • 面板数据平稳性检验

  • 静态面板数据回归分析:随机效应模型和固定效应模型、Hausman检验

  • 动态面板模型


Class 8. 门限回归

  • 包括横截面与面板模型的门限回归,主讲xthreg、xtthres、threshold等命令,并与Eviews软件对比,让大家对门限回归有一个全面的了解。

  • 门限回归理论介绍

  • 门限回归操作流程图

  • 门限回归操作以及结果解释等

  • 论文讲解以及课程总结


Class 9. 内生性问题专题I:倾向匹配得分

  • 倾向匹配得分简介、为何使用 PSM ?、传统的配对方法、配对过程中的两个核心问题、匹配方法、优缺点

  • 倾向匹配得分建模流程图

  • PSM操作命令及其具体应用

  • 论文讲解

  • 课程总结

Class 10. 内生性问题专题II:合成控制法


Class 11. 结果输出Extracting results

  • Post summary statistics(summarize、tabstat)

  • Post correlation coefficients (pwcorr、correlate、logout )

  • Coefficients/equations

  • Basic syntax and usage

  • estout、esttab、estadd and other useful Stata commands

  • Standard errors, p-values, and summary statistics

  • Use with Word/Rtf/Excel/LaTeX

  • Other Advanced Examples(esttab、outreg2、logout等)

Class  12. 经济金融数据库(国泰安数据库、中经网)使用技巧

Class  13. 论文写作专题(从源头数据处理到分析)


Class  14. 空间计量经济学模型(横截面空间计量模型与面板空间模型,包括空间自相关检验、空间效应检验、SAR、SEM模型以及空间面板随机与固定效应检验等)

  • 空间计量发展概述

  • 空间回归模型动因

  • 空间效应

  • 空间权重矩阵

  • 空间相关性度量

  • 空间计量模型简介、流程图、识别检验、判别准则等

  • 横截面空间计量模型及stata应用

  • 面板空间计量模型及stata应用(面板固定效应与随机效应等检验)


精彩板书
硬核代码
理论与软件并重
手把手教学
带你建立系统计量体系

2020国庆Stata研讨班

时间:2020年10月1日-10月4日(四天)

 

学习优势


重软件操作、重实战是课程一直以来的优势与好评。控制人数的小班教学以确保每一位学员真正学到操作技能。


理论与软件并重,手把手教学,零基础起步,小白也能学会的Stata研讨班!


重要的事情说三遍,我们课程手把手带大家操作学习,并提供完整do文档以及数据、讲义、资料书等,手把手教学和操作学习!


学习礼包


1,课程互动以及微信群等答疑;

2,学术学习资料大礼包一份;

3,课后赠送三个配套精品课程视频:《零基础学空间计量:空间计量及Geoda、stata应用》+初级班视频《零基础学stata,让每一个文科生都成为计量高手》+高级班视频《高级量化回归分析:让每一个文科生都能学会回归分析》,全网累计1000人订阅,价值1000元;

4,后续相同课程现场班可以五折优惠参加。


立体化的服务体系,真正保障学有所成!

1、系统化的知识体系。15场线上+线下班成功举办的经验积累,知识点精细,学习成长路径更放心;

2、在线直播。授课以直播形式,能够及时答疑,互动性更强,感受线下课堂学习氛围

3、课后答疑。有学习上的疑问,可与老师1对1沟通解答。

4、零基础起步,理论与软件并重,手把手教学,小白也能学会的计量班。


学习礼包


课程形式:远程在线直播,实时互动,一共4天


开课时间:

时间:2020年10月1日-10月4日(四天)


参会人数:限额60人,报名成功与否以实际付款为准,不接受口头报名。


价格:原价4000元 /3600元 (学生价,仅限全日制本科生和硕士在读);


授课形式:老师讲授指导、学员操作练习、线上答疑解惑。


课程资料:提供PPT、课程讲义以及完整的do文档等。



优惠信息


缴费成功后都享受如下优惠

1.同一单位3人以上报名,9折优惠;

2.同一单位5人以上报名,8折优惠(前2项优惠不能叠加)


学习目标


1、掌握计量经济学及Stata操作,能够运用Stata完成复杂的数据处理工作,并熟练运用Stata完成写作;        


2、了解常用模型的思路、原理和建模方法,从源头数据库等数据下载、搜集、整理、管理,到stata数据操作,培养数据分析能力;


3、通过中心精心准备的do文档讲义来完成学习,并实现do文档中现成命令的可复制性(只需要修改部分do文档命令的变量,就可以一键实现数据分析和数据管理的结果,具有复制性),然后根据相关计量经济学知识学习,能够独立完成计量经济学模型建模以及实证分析!


学习对象


经济及社科类青年教师、博士生、硕士生、高年级本科生。(1 Stata爱好学习者。2  经济管理以及人文社科领域人员、各类市场调查公司、咨询公司、互联网公司和科研机构需要进行数据处理的人士。)


报名流程


支持网络付款以及对公转账

报名流程  

1、电话咨询,给予反馈,确认报名信息。

2、交费(微信、支付宝或者对公转账等),报名前请确认信息。

3、开课前发送培训通知以及软件准备,电子版预习资料等。

4、开课后领取发票及邀请函。 


网络付款:扫描下方二维码立即报名哦

▲(教师)扫码报名


▲(学生价)扫码报名


 

注意事项


1、即日起接受报名,具体报名截止日期根据实际招生而定,人员招满将关闭报名通道。

2、如人数满15人,即可开班;若报名人数不够15人,本次训练营自动取消,学员所缴纳报名费全额返还。

3、如您报名后有事不能参加,请及时告知!2020年9月150日17:00之后不再接受退费。

4、本次会议可提供增值税普通发票,如需开具(请联系微信:Xindream1992),并根据自己单位财务部门要求填写抬头和类目信息(一旦开具不能重开),发票类目为:会议服务费、信息服务费、培训费、会议费、咨询费等,报名时可以直接任选其一,其他类目无法开具。

5、会议邀请函通知及课程试看和报名咨询等直接联系王老师。请学员自己网络搜索下载stata15.0/16.0。本次会议最终解释权归计量经济学服务中心所有。

在线咨询:

王老师

电话:18729083980

微信:Xindream1992

扫码添加微信






您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存