传播会计前辈思想,引领青年一代成长 因缘分相聚,因互助成长,因智慧光华 *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 |
|