查看原文
其他

玩转Stata | Heckman两阶段-内生性处理利器​

会计Stata成长 会计学术联盟 2023-02-24




青年会计学者联合发起会计领域NO.1高端自媒体


点击:高层次会计人才招聘免费推送!


传播会计前辈思想,引领青年一代成长

因缘分相聚,因互助成长,因智慧光华




*Heckman两步法及STATA应用案例

*---------------------------

*-1. 主要解决问题

Heckman两步法主要用于解决实证研究中所获得的数据不能代表研究总体而导致的样本选择问题。样本选择问题既可能是由收集样本的规则所导致的,也可能是由研究对象自己的行为所导致的。前一种情形是指研究人员根据自己设定的规则抽取样本,而不是随机抽样。例如,研究人员在研究公司治理问题时只收集了发达地区的公司作为样本。后一种情形被称之为(样本)自选择问题。例如,若我们想研究妇女的工资收入,虽然我们可以观测到有工作的妇女的实际工资收入,但是不知道没有工作的妇女的“保留工资”(即愿意工作的最低工资)。于是我们收集数据时就会缺失没有工作的妇女样本。在以上两种情况下,被选择的样本都无法代表总体,使用这样的样本进行研究是得不到准确的结果的。


      如何形象地理解样本选择带来偏误这个问题呢?请看下图:



 图中,白点加黑点是全样本的散点图,但是由于样本选择问题,我们只选择了黑色散点所代表的样本。如图可知,实线是根据总样本(黑点加白点所代表的样本)回归所得,而虚线是根据我们选择的样本回归所得。两线斜率、截距明显不同,即样本选择会带来偏误。

*--------------------

*-2.基本思想



  第一步,研究者根据经济理论设计出一个模型(称为“选择方程”),来计算考察对象做出某种行为的概率;第二步,研究者在原来的模型中加入考察对象做出该种行为的概率,作为一个额外的解释变量,以修正自选择行为。




       如何形象理解heckman两步法的基本思想呢?
       承接上例,既然我们得不到没有工作的女性数据,但我们又要在回归中考虑此类样本的影响,那么,我们就要在回归中调整现有样本的比重(即加入“女性工作的概率”这一变量)。
       于是,我们找到一些因素(married children educ age)算出女性工作的概率lambda,然后将lambda带入回归模型中,如果lambda显著,则说明“是否工作”确实影响到了回归结果,即存在自选择问题。如果lambda不显著,则不存在自选择问题。如果存在问题,带入lambda以后得到的结果即为修正过的结果。



*-------------------------------------

*-3 Heckman 模型stata案例

    *--------

*-3.1  Heckman 模型设定

      help heckman

  shellout "$R\Stata_Heckman.pdf"  // Bookmark: The model


      *-Regression equation: 

  *

      *    y = xb + u_1

      *

      *-Selection equation:    Z is varlist_s

  *

      *    y observed if  Zg + u_2 > 0   (根据 y 是否缺漏确定 1/0 变量)

      *

      * where:

      *          u_1 ~ N(0, sigma^2)

      *          u_2 ~ N(0, 1)

      *          corr(u_1, u_2) = rho


    *------

    *-3.2  Heckman 模型估计方法


 *-最大似然估计 (Maxlikelihood Estimation, MLE)

 

   *-基于二元联合正态分布函数

 

     *-两步法 (Two-step Estimation)

   

   *-Step1: Probit (Treat Equation) --> Prob(Z=1) 

   *        Pr(y_j observed | z_j) = Normal(zg)

   *        Inverse Mill's Ratio: IMR = normalden(wb)/Normal(wb) 

   *        逆米尔斯比率:用以修正 self-selection 导致的偏误

   *-Step2: reg y x IMR  //回归方程中加入 inverse Mill' ratio

   

   *-Note: 

   *  normalden() 表示正态分布的密度函数,

   *  Normal()    表示正态分布的累积分布函数.

   

    *------

    *-3.3  Heckman 应用举例

  use womenwk.dta, clear  // 参考 [U] heckman, p.649

  des

  sum age educ married children wage

  

   *-Stata 中对 y 中缺漏值的处理  // 参考 [U] heckman, p.649

       *  假设 y 中的缺漏值是不可观察的部分

   *  新生成一个变量 Q=0 (若 y 是缺失值), Q=1 (otherwise)

   *  这是 Probit 回归中的被解释变量

   *  注意:所有的 X 变量都不存在缺漏值

  

  *---------

  *-MLE 估计


    heckman wage educ age, select(married children educ age)

est store mle

*-education,age 同时出现在了主方程和选择方程中,这很普遍

* 为了保证模型能够识别,主方程和 select 方程中的变量至少有一个不同

*-Lamda: 表明存在显著的样本选择偏误

*-虽然 rho 的显著性已经可以表明存在样本选择偏误,

* 但文献中普遍使用的是 Lamda = rho*sigma

  dis "lamda= " e(rho)*e(sigma)

  dis "lamda= " 0.67284*5.9473529  // 等价


  *-------

  *-两步法  Two-step

 

    heckman wage educ age, select(married children educ age) twostep

est store twostep

    heckman wage educ age, select(married children educ age) twostep first

    *-手动计算

  dropvars Yes w IMR

  * 0/1 observable?

  gen Yes = (wage!=.) 

  * probit

  probit Yes married children educ age

  predict w, xb

  * Inverse Mills Ratio

  generate IMR = normalden(w)/normal(w)

  * Heckit two-step

  regress wage educ age IMR




“会计学术联盟”旗下优质社群推荐

“玩转Stata微信社群(470人)”欢迎加入!


欢迎热爱Stata的发烧友,加入“会计学术联盟—玩转Stata群2,加群请联系小秘书微信:zhanghuialina



  • 填加好友主题:称呼+专业+学历/职称

  • 请注明需要加的微信群!

  • 信息不对外公开!


欢迎邀请与本群文化相匹配的正能量,积极向上的,又好玩的同仁入群!


玩转Stata微信群


20171221



▼点击查看更多精彩

玩转stata:分组回归的秘密武器-statsby

玩转Stata|巧用Stata进行主成分分析

玩转Stata | 倾向得分配对(PSM)内生性检验利器



整理自:田田说公众号

欢迎分享转发朋友圈


1

Stata与实证会计论文学习试听


https://v.qq.com/txp/iframe/player.html?vid=x1328vthei3&width=500&height=375&auto=0


2

学习试听(1.5倍加速播放版)


https://v.qq.com/txp/iframe/player.html?vid=y1328h9ij7s&width=500&height=375&auto=0


更多stata学习资料

欢迎点击左下方阅读原文




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

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