全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
39096 11
2021-04-21

原贴地址:https://zhuanlan.zhihu.com/p/244789177      感谢原作者分享,很实用!


Heckman两阶段模型适用于解决由样本选择偏差(sample selection bias)造成的内生性问题。在经济学领域,样本选择偏差的典型例子是研究女性的受教育情况对女性工资的影响。按照这个思路,一般会去问卷收集或在哪个网站下载部分女性的受教育情况,工资,及其他特征数据,例如年龄,毕业院校等级等个人特征,然后做回归。不过这样做有一个问题,就是登记的女性,都是在工作的,但是许多受教育程度较高的女性不工作,选择做家庭主妇,这部分样本就没有算在内,样本失去随机性。这就导致模型只是用到了在工作的女性,这样得出的结论是有偏差的。在管理学领域,一个典型的问题是企业的某个特征,或者董事/CEO的某个特征,对企业R&D投入的影响。也是同样的问题,企业的R&D投入是企业自愿披露的内容,有的企业不披露,这时你做回归时就不能包括这部分样本,也会造成样本选择偏差,结果有偏。


对于这种情况,Heckman提出了一个方法,赫克曼矫正法(Heckman Correction,又称两阶段方法)。赫克曼矫正法分两个步骤进行:第一步骤,研究者根据管理学理论设计出一个计算企业披露R&D投入概率的模型,而该模型的统计估计结果可以用来预测每个个体的概率;第二步骤,研究者将这些被预测个体概率合并为一个额外的解释变量,与其他控制变量等变量一起来矫正自选择问题。这个比率叫逆米尔斯比率,inverse Mills ration, imr,也就是说,在第一步计算出imr,在第二步把imr当作一个控制变量。


以企业R&D投入问题为例,假设全样本是1000家公司,其中800家公司披露了其R&D投入。


第一阶段的模型,是一个包括全样本(1000家)的Probit模型,用来估计一家公司是否会披露其R&D投入的概率。这里的因变量是二元的,表示是否披露R&D投入;自变量是一些会影响是否披露R&D的外生变量,比如其他收入营业收入,杠杆率,公司规模,所属行业等等。然后根据这个Probit模型,为每一个样本计算出imr,imr作用是为每一个样本计算出一个用于修正样本选择偏差的值。


第二阶段,在原来的回归方程,也就是原来只有800家公司的样本的方程假如imr作为控制变量,其他都不变,然后估计出回归参数。这时不管imr显著不显著都不重要,imr显著说明样本选择偏差的确影响了你最初模型的估计,这正表明了使用Heckman两步法纠正样本选择偏差的必要性。imr不显著说明原模型不存在严重的样本选择偏差,这时Heckman第二步得到的结果应该与原模型得到的结果差不多。(关于imr的显著性是否说明样本选择偏差存在目前还有争议,不过imr不是关注的变量)。第二步关注的对象是核心解释变量是否显著。只要核心解释变量显著,就说明结果稳健。


在stata上的实现,还是刚才的例子。假设问题是研究董事会的连锁懂事比例对企业R&D投入的影响,各变量如下:

因变量:企业R&D投入额度(rd)

自变量:董事会连锁懂事比例 (interlockratio)

控制变量:公司规模(firmsize),杠杆率(leverage), 公司成长性(growth),公司年龄(age),行业R&D投入(industryrd),行业集中度(cr4),行业净资产收益率(industryroa)等。其中前三个控制变量还会影响企业R&D投入的概率。

总样本数1000家,其中800家披露了R&D投入,不考虑其他变量的缺失值。


Heckman两步法第一步,命名一个新的因变量,企业是否披露R&D投入,ifrd
xi: probit ifrd firmsize leverage growth i.year i.ind  r//Heckman两阶段的第一阶段回归,这里的r可加可不加,看需不需要控制异方差问题。
estimate store First
predict y_hat, xb
gen pdf = normalden(y_hat)  
gen cdf = normal(y_hat)  
gen imr = pdf/cdf//生成imr
第二步回归,把imr当作控制变量加入原模型,用原来的数据。
reg rd interlockratio leverage growth industryrd cr4 industryroa imr i.year i.ind , r if ifrd==1

需要注意的是,在第一步,确定哪些变量会影响企业披露其R&D数据时,这些变量不一定是原模型的因变量,可以是可以不是,是不是要说明理由。

参考文献

Heckman JJ. 1976. The common structure of statistical models of truncation, sample selection and limited dependent variables and a simple estimator for such models. Annals of Economic and Social Measurement 5(4): 475–492.


二维码

扫码加我 拉你入群

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

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

全部回复
2021-4-21 10:32:42
参考另一贴 https://blog.csdn.net/Claire_chen_jia/article/details/109299560[/url] 的方法,差不多就能懂了,感谢原作者!

3.1 实现步骤
我们还是一如既往以女性年龄与工资的研究为例,具体步骤如下:

第一步:利用从全部女性(包括出来工作的和留在家里的)中随机抽取的样本,估计女性出来工作的倾向模型;并利用估计结果计算逆米尔斯比的值。
第二步,利用选择性样本观测值和计算得到的逆米尔斯比的值,将(ρσ,)作为- 一个待估计参数,估计女性年龄与工资模型,得到β的估计。
-注意,在抽取样本时间必须保证所有选择性样本包含于全部样本之中。
实现方法有两种途径:
方法一:Heckman Y(因变量) X(控制变量), select (D(自变量哑变量) =Z(工具变量其他影响因素) X(控制变量)) twostep
这种方法成为最大似然估计 (Maxlikelihood Estimation, MLE)

方法二:先在第一阶段中计算出除逆米尔斯比率IMR,再在第二阶段中将逆米尔斯比率imr作为控制变量,予以考察。基本步骤如下:
步骤1: 通过运用probit模型计算影响所考察变量的哑变量(0-1)的影响因素(即“第一阶段”),
步骤2: 在上述一步基础上,计算预测:predict w,xb,
步骤3: 再次,计算生成:gen IMR=normalden(w)/normal(w),
步骤4: 最后,将所生成的逆米尔斯比率IMR引入主要考察模型,并予以控制(即“第二阶段”)。
这种方法就是常用的两步法。

————————————————
版权声明:本文为CSDN博主「Claire_chen_jia」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Claire_chen_jia/article/details/109299560
二维码

扫码加我 拉你入群

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

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

2021-4-21 10:38:24
接上:

3.2 实现示例


这里搬运的是一个大家都使用的示例,都是女性与工资,不过是女性教育与女性工资的关系。会用上面的第一种和第二种方法分别示例。

首先,我们还是来先谈一下如何选择排他xing变量来处理选择性偏误。

了解女性教育对工资的影响,那么这里需要注意到,有些受了教育但也没有参加工作,那这部分样本需要特殊处理。所以,我们就先预测一个女性参加工作的可能性,然后再在那些参加了工作的女性样本中回归工资和教育水平。

预测一个女性参加工作的可能性通过age(年龄) education(教育) married(是否结婚) children(孩子数量)
通常我们认为结婚与孩子的数量一般会与女性愿不愿出来工作有关,但是与女性获得工资无关,所以满足排他xing和相关xing要求,选择为排他xing变量

*数据来源: https://gitee.com/arlionn/data
use womenwk.dta, clear   

*描述性统计数据
sum age educ married children wage

*简单的ols模型,存在选择性偏误
reg wage educ age
est store OLS

*第一种方法  heckman maximum likelihood
heckman wage educ age, select(married children educ age) //默认最大似然估计
est store HeckMLE

*第二种方法  heckman two-step  all-in-one 不可以进行cluster调整
heckman wage educ age, select(married children educ age) twostep
est store Heck2s

*第二种方法  heckman two-step  step-by-step 可以进行cluster调整
probit work married children educ age
est store First
predict y_hat, xb
gen pdf = normalden(y_hat)  //概率密度函数
gen cdf = normal(y_hat)     //累积分布函数
gen imr = pdf/cdf           //计算逆米尔斯比率
reg  wage educ age imr if work == 1  //女性工作子样本
est store Second
vif  //方差膨胀因子

*对比结果
local m "OLS HeckMLE Heck2s First Second"
esttab `m', mtitle(`m') nogap compress pr2 ar2

4 Heckman两阶段法注意事项
虽然有人在运用该方法时,在第一步没有选择排他xing变量,但一般模型的运用是需要一个工具变量问题。因为在前面我们也讲过,如果不加入会存在共线xing问题,估计也存在偏误。
工具变量的选择需要很多的思考。我看到之前有很多人用变量密度或者区域经济变量均值作为工具变量。在选择工具变量的时候,我们需要解释一下为何选择要有具有的支撑。
————————————————
版权声明:本文为CSDN博主「Claire_chen_jia」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Claire_chen_jia/article/details/109299560
二维码

扫码加我 拉你入群

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

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

2022-12-22 15:48:05
不错!
二维码

扫码加我 拉你入群

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

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

2023-2-24 12:43:45
哇,好棒!
二维码

扫码加我 拉你入群

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

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

2023-3-17 20:00:47
请问probit work married children educ age语句出现work变量未发现是为什么呀
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群