楼主: sqzdk
17557 20

[Stata高级班] psmatch2 [推广有奖]

  • 0关注
  • 0粉丝

VIP

硕士生

94%

还不是VIP/贵宾

-

威望
0
论坛币
738 个
通用积分
0.0387
学术水平
2 点
热心指数
2 点
信用等级
1 点
经验
2368 点
帖子
142
精华
0
在线时间
124 小时
注册时间
2006-3-27
最后登录
2021-5-22

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

请教如何做propensity score matching?

比如,

.psmatch2 training age gender, out(wage)

然后呢?STATA的网站上好象并没有给出如何interpret 运行结果或者接下来应该怎么做。是不是把得到的propensity score 作为一个regressor 带到原模型里面再回归呢, 如

.logit wage training age gender _pscore

谢谢了。

[此贴子已经被作者于2009-6-4 18:46:00编辑过]

二维码

扫码加我 拉你入群

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

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

关键词:psmatch2 Match ATCH ATC SMA interpret matching training 模型 如何

本帖被以下文库推荐

沙发
arlionn 在职认证  发表于 2009-5-31 17:28:00 |只看作者 |坛友微信交流群

下面是个简单的例子。

* -psmatch2- 命令
    global x "size lev  prof tobin gpay hhi5"
    global xv "_Isicmen* _Igfinal*"
    global if56 "if year==2005|year==2006"
    
    
  *- 比较各变量匹配前后的情况
    
   *- 最近邻匹配
      cap drop u
      gen u = uniform()
      sort u
      psmatch2 jili $x $xv $if56, neighbor(3)  logit 
      order id year jili _pscore- _pdif


   *- 匹配前后解释变量的差异对比
      pstest $x, sum

*===============================
*        -ATT- 比较
*===============================

* xx 里包含了带比较的outcome变量。
  global xx "roe2 roa cash ac invt salegr tagr"
  
  *- 基本统计量
    tabstat $xx if year>2004,  ///
            stat(mean sd p50 min max) format(%6.3f) c(s)

使用道具

藤椅
sqzdk 发表于 2009-6-4 19:25:00 |只看作者 |坛友微信交流群

re

老师,您的这个例子没有太能看懂。汗~

我还是想重申一下上面举的例子:想看看在对training 对于wage的作用的估计中有没有 selection bias的问题,即是不是存在这样的情形——那些接受了training的人本身已经具有了挣高wage的素质,他们的wage高可能并不是traning的结果。

我目前的理解是,解决这个问题应该用

. psmatch2 training age gender, out(wage) neighbor(3)  logit 

但是不知道这样做以后应该怎么从stata的输出结果中分辨出到底是不是有selection bias的情况。或者这么做根本就是不对的。

希望您能百忙之中解答一下,谢谢!

[此贴子已经被作者于2009-6-4 19:28:20编辑过]

使用道具

板凳
arlionn 在职认证  发表于 2009-6-5 16:39:00 |只看作者 |坛友微信交流群

用如下的命令即可达到你的分析目的:

   *- 匹配前后解释变量的差异对比

      global x x1 x2 x3 /*你的解释变量*/
      pstest $x, sum

使用道具

报纸
sqzdk 发表于 2009-6-6 07:42:00 |只看作者 |坛友微信交流群

老师,在运行完 pstest之后,得到的是一个表, 我截了一个control变量(gender)的结果(如下):


--------------------------------------------------------------------------------------------------------------------
                                    |           Mean                             %reduct |       t-test
          Variable     Sample | Treated    Control           %bias       |bias| |    t           p>|t|
-----------------------------------+------------------------------------------------------------+-------------------
 _Igender_2  Unmatched | .39178      .41259              -4.2              |  -1.01       0.314
                       Matched | .38781       .31086             15.7   -269.7 |    3.77       0.000


 

 请问应该怎么interpret结果呢?怎么看出是不是存在 selection bias 呢?

另外,我也运行了psgraph,但是如何从图上看出来结果呢?

谢谢!!!

[此贴子已经被作者于2009-6-6 7:51:09编辑过]

使用道具

地板
arlionn 在职认证  发表于 2009-6-6 16:58:00 |只看作者 |坛友微信交流群

请耐心研读一下下面这篇文章,里面有相关的介绍:

[1] Abadie, A., D. Drukker, J. Herr, G. Imbens, 2004, Implementing matching estimators for average treatment effects in Stata, The Stata Journal, 4: 290-311.

使用道具

7
sqzdk 发表于 2009-6-7 23:22:00 |只看作者 |坛友微信交流群

老师,我读了这篇文章。但是这一篇中出现的命令是 match, 不是现在常用的 psmatch2。我没有能够通过 findit 搜到 match, 估计现在已经不用了。

文章中match的语法是

. match depvar treatvar varlist    ; 然后直接得到的是ATE的系数估计,以及t值和p-value.

但由于现在match已经不再用(我想是这样),我只能用psmatch2来做,

.psmatch2 treatvar varlist, out(depvar)  ate

最后得到ATT的t值为2(见下表)。根据我对这篇文章的理解,这是不是说明 selection bias 不存在呢? 至于ATE,只能得到值,结果并没有给出t值。请老师看一下我理解的事不是正确? Thank you!!!


----------------------------------------------------------------------------------------
        Variable     Sample |    Treated     Controls   Difference         S.E.   T-stat
----------------------------+-----------------------------------------------------------
       depvar  Unmatched | .734072022   .723076923   .010995099   .021410793     0.51
                        ATT | .766435986    .71583045   .050605536    .02530052     2.00
                        ATU | .719188768   .766120645   .046931877
                        ATE |                           .048673776
----------------------------+-----------------------------------------------------------

[此贴子已经被作者于2009-6-7 23:25:28编辑过]

使用道具

8
arlionn 在职认证  发表于 2009-6-8 08:46:00 |只看作者 |坛友微信交流群


----------------------------------------------------------------------------------------
        Variable     Sample |    Treated     Controls   Difference         S.E.   T-stat
----------------------------+-----------------------------------------------------------
       depvar     Unmatched | .734072022   .723076923   .010995099   .021410793     0.51
                        ATT | .766435986    .71583045   .050605536    .02530052     2.00
----------------------------+-----------------------------------------------------------

可以看出,在Matched之前,“Treated”组和“Controls”组之间不存在显著差异,t值仅为0.51,而在完成匹配后,t值为2.0,在5%水平上显著。这表明没有匹配前存在selection bias。

使用道具

9
sqzdk 发表于 2009-6-8 09:40:00 |只看作者 |坛友微信交流群

老师,

那请问这该如何解决呢?是不是就没有办法了?!!

还有,如果匹配前和匹配后都不显著怎么办呢?(有的specification下,匹配后也是不显著的)

烦劳您一定回答一下,不知道有没有什么补救的办法啊???

[此贴子已经被作者于2009-6-8 9:43:08编辑过]

使用道具

10
arlionn 在职认证  发表于 2009-6-8 16:27:00 |只看作者 |坛友微信交流群

看来你还没有理解PSM的含义。

从8楼的例子来看,匹配前不显著,而匹配后显著。这表明,匹配前可能存在选择偏误(我们的假设是匹配方法合理,能够克服选择偏误),而匹配后的结果更为可信,表明这种政策有显著的饿效果。

至于匹配前后都不显著,并没有什么可以大惊小怪的。只能说明这种政策即使在控制了选择偏误问题后仍然没有显著效果。类似于传统的回归分析,我们并没有要求所有变量一定都显著,不显著的变量也有其特定的经济含义。

最后需要提醒的是,技术上的问题通常都很容易解决,但对于基本原理和基础知识的学习不可忽视。要踏实一点,呵呵。

已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
知识2012 + 5 + 3 + 3 + 3 这么耐心的讲解,谢谢,看后有启发,

总评分: 论坛币 + 5  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

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

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

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

GMT+8, 2024-4-27 05:39