玩转Stata | Heckman两阶段-内生性处理利器
青年会计学者联合发起会计领域NO.1高端自媒体
点击:高层次会计人才招聘免费推送!
传播会计前辈思想,引领青年一代成长
因缘分相聚,因互助成长,因智慧光华
*Heckman两步法及STATA应用案例
*---------------------------
*-1. 主要解决问题
Heckman两步法主要用于解决实证研究中所获得的数据不能代表研究总体而导致的样本选择问题。样本选择问题既可能是由收集样本的规则所导致的,也可能是由研究对象自己的行为所导致的。前一种情形是指研究人员根据自己设定的规则抽取样本,而不是随机抽样。例如,研究人员在研究公司治理问题时只收集了发达地区的公司作为样本。后一种情形被称之为(样本)自选择问题。例如,若我们想研究妇女的工资收入,虽然我们可以观测到有工作的妇女的实际工资收入,但是不知道没有工作的妇女的“保留工资”(即愿意工作的最低工资)。于是我们收集数据时就会缺失没有工作的妇女样本。在以上两种情况下,被选择的样本都无法代表总体,使用这样的样本进行研究是得不到准确的结果的。
图中,白点加黑点是全样本的散点图,但是由于样本选择问题,我们只选择了黑色散点所代表的样本。如图可知,实线是根据总样本(黑点加白点所代表的样本)回归所得,而虚线是根据我们选择的样本回归所得。两线斜率、截距明显不同,即样本选择会带来偏误。
*--------------------
*-2.基本思想
*-------------------------------------
*-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微信群
2017年12月21日
▼点击查看更多精彩
整理自:田田说公众号
欢迎分享转发朋友圈
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学习资料
欢迎点击左下方阅读原文
▼点击查看更多精彩
▼学习充电推荐
近50000本硕博关注
会计领域NO.1高端自媒体
汇聚会计学子、学者、学师
投稿及战略合作,请联系微信:610997158,自我介绍下,注明事由
投稿:Accounting_AU@yeah.net