数据分析网

10.3、Stata样本选择模型—零基础入门教程

微信扫码观看完整版Stata视频课程、分析师在线答疑解惑哦~

微信扫码-通用.jpg

课程摘要

Stata是一种统计分析软件,用于数据分析和建模。在经济学和社会科学研究中,样本选择模型(sample selection model)是一种用于处理因为样本选择而导致的偏误问题的方法。Stata提供了命令和函数来进行样本选择模型的估计和推断。通过使用这些命令和函数,可以对样本选择的影响因素进行建模和分析。在Stata中,可以使用命令如heckman进行样本选择模型的估计。这个命令允许用户根据数据的特点,选择适当的模型和估计方法,并进行参数估计、假设检验和模型诊断等操作。使用Stata进行样本选择模型分析可以帮助研究人员更好地理解样本选择的影响和得出准确的结论。

【详细教程】

Stata样本选择模型


一、样本选择模型分析的功能与意义


在很多情况下,因变量是否存在断尾或者截取不是由自己决定的, 而且取决于其他的变量。比如我们要分析一群人年薪的影响因素,那么就会产生这一问题,因为只有参与劳动的人才能获得年薪,如果一个人没有参与劳动就无法获得年薪。所以针对这一类问题,我们不宜简单使用普通最小二乘回归分析进行估计,最好使用样本选择模型。其基本思路是首先基于一些自变量进行样本选择,将预期能够观测到因变量的样本选择出来,然后分析因变量的影响因素,也就是两步法。


二、样本选择模型分析的Stata操作


样本选择模型分析的命令为heckman ,该命令的语法格式为:


heckman depvar [indepvars], select(varlist   s ) [twostep] 或者

heckman depvar [indepvars], select(depvar   s = varlist   s ) [twostep]


heckman为命令, depvar为因变量, indepvar为自变量。选项select() 用于确定选择方程的因变量及自变量,为必填项。针对第一种命令形式,如果不设置选择方程的因变量,则Stata默认原方程的被解释变量   depvar为非缺失值时表示被选择,为缺失值时表示没有被选择。


针对第二种命令格式,需要设置选择方程的因变量depvar   s ,则要求depvar   s   的值必须为0或1 。0表示原方程的被解释变量没有被选择, 1表示被选择。

[twostep]为可选项,若不选,则表示采用最大似然估计的heckman 回归;若选用,则表示采用两步法的heckman 回归。


最大似然估计的heckman 回归的完整语法格式为:

heckman   depvar   [indepvars]   [if]   [in]   [weight],   select( [depvar   s   =]

varlist   s[,noconstant          offset(varname   o)])[heckman   ml   options]


两步法的heckman回归的完整语法格式为:

heckman   depvar    [indepvars][if][in],   twostep    select([depvar   s   =]

varlist   s[,noconstant])[heckman   ts   options]


使用heckman回归分析方法时还可以使用vce()选项,利用各种稳健的标准差进行估计。比如可以使用vce(robust) 获得稳健标准差,或利用vce(cluster varname) 获得聚类稳健标准差。


使用heckman 回归分析方法同样可以进行预测,相应的命令及其语法格式为:

predict [type] newvar [if][in][,statistic nooffset]

statistic选项包括表所示的几项。


1.png

1续.png


三、样本选择模型分析示例


“数据10A ”数据文件中记录的是259名被调查者年薪、户籍、年龄、 受教育年限、个人总资产等数据(注意不同于前面的“数据7A ”数据文件),如下图所示。


2.png



下面我们研究一下被调查者年薪与年龄、受教育年限之间关系。


1. 最大似然估计的heckman 回归


打开数据文件之后,在主界面的命令窗口中输入:


heckman nianxin age eduyears,select(age eduyears)

本命令的含义是以年薪为被解释变量,以年龄、受教育年限为解释变量,选项select()表示选择的解释变量为age和eduyears, 进行最大似然估计的heckman 回归分析,分析结果如图1和2所示。


3.png

                                                         图1

4.png

                                                         图2

其中图1反映的是最大似然估计的heckman回归的迭代过程,经过23次迭代后,模型达到的最大似然估计函数值为-433.05994。


图2反映的是最大似然估计的heckman 回归的主要结果。可以发现共有259个样本参与了分析 (Number   of   obs=259), 其中被选择的样本个数为255 (Selected=   255), 未被选择的样本个数为4 (Nonselected=4)。Wald   chi2(2) 统计量为80.7, Prob>chi2 为0.0000,该统计量是对回归方程中除常数项之外的所有系数都为0的检验,用来检验模型整体的显著性,可以发现模型整体非常显著。



观察最大似然估计的heckman 回归分析结果,下方表格的第一部分为回归方程:

nianxin=10.87317+0.1948057eduyears+0.0307508age

年龄、受教育年限两个自变量的系数均为正值,且P>|z|均接近0,说明这两个自变量将会正向显著影响年薪。年龄越大、受教育年限越长,年薪的拟合值也会越高。而且受教育年限的系数更大,说明对于年薪的正向影响或者说边际效应也相对更大。


下方表格的第二部分为选择方程,从该方程中可以看出样本选择的具体规则。本例中,只有样本观测值的年龄、受教育年限两个选择变量满足条件: 0.8757702+0.069107age-0.0888157eduyears>0时,因变量年薪才能被选择到。


从结果中还可以知道rho=corr   ( ε,μ ) =-1 ,回归方程中残差的标准差 sigma=1.298136 ,选择性效应lamda=-1.298136(lamda=rho*sigma )。


heckman 回归分析结果的最下方一行是对rho=0 的似然比检验(LR    test of indep. eqns.(rho = 0 ))。可以发现非常显著地拒绝了rho=0的原假设。


2 .两步法的heckman 回归


在主界面的命令窗口中输入:


heckman    nianxin    age    eduyears,select(age    eduyears )   twostep

mills(nochoose)

本命令的含义是以年薪为被解释变量,以年龄、受教育年限为解释变量,选项select()表示选择的解释变量为age和eduyears ,进行两步法的 heckman 回归分析。选项mills()会生成一个新变量nochoose ,该变量表示样本不被选择的可能性。


分析结果如下图所示。


5.png


“Heckman selection model -- two-step estimates”说明我们使用的是两步法的heckman样本选择模型,共有259个样本参与了分析 (Number   of obs=259), 其中被选择的样本个数为255 (Selected=255), 未被选择的样本个数为4 (Nonselected =4)。Wald   chi2(2) 统计量为72.38,Prob>chi2 为0.0000,模型整体非常显著。


下方表格的第一部分为回归方程:

nianxin=10.77264+0. 1966312eduyears+0.0322799age

年龄、受教育年限两个自变量的系数均为正值,且P>|z|均大于0,说明这两个自变量将会正向显著影响年薪。年龄越大、受教育年限越长,年薪的拟合值也会越高。而且受教育年限的系数更大,说明对于年薪的正向影响或者说边际效应也相对更大。


下方表格的第二部分为选择方程,从该方程中可以看出样本选择的具体规则。本例中,只有样本观测值的年龄、受教育年限两个选择变量满足条件:-2.57294+0.1655821age+0.050

076eduyears >0时,因变量年薪才能被选择到。


3. 使用vce(robust)   获得稳健标准差进行最大似然估计的heckman 回归分析


在主界面的命令窗口中输入:


heckman nianxin age eduyears,select(age eduyears) vce(robust)

本命令的含义是以年薪为被解释变量,以年龄、受教育年限为解释变量,选项select()表示选择的解释变量为age和eduyears, 使用vce(robust)获得稳健标准差进行最大似然估计的heckman回归分析, 分析结果如下图所示。


6.png


4. 利用vce(cluster   varname) 获得聚类稳健标准差进行最大似然估计heckman 回归分析


在主界面的命令窗口中输入:


heckman   nianxin   age   eduyears,select(age   eduyears)   vce(cluster   huji)

本命令的含义是以年薪为被解释变量,以年龄、受教育年限为解释变量,选项select()表示选择的解释变量为age和eduyears, 利用vce(cluster   varname) 获得聚类稳健标准差,进行最大似然估计的heckman回归分析,分析结果如下图所示。


7.png


5. 使用heckman 回归分析方法预测


在主界面的命令窗口中依次输入以下命令:


quietly heckman nianxin age eduyears,select (age eduyears)

本命令的含义是以年薪为被解释变量,以年龄、受教育年限为解释变量,选项select()表示选择的解释变量为age和eduyears, 进行最大似然估计的heckman回归分析。命令前面加上quietly选项是为了不显示该回归的结果,可以看到输入该命令后结果窗口中并没有相关输出。


predict y1, ycond

本命令的含义是生成变量y1,y1 是对参与劳动获取年薪样本观测值的期望年薪的预测。


summarize nianxin y1 if nianxin!=.

本命令的含义是获取nianxin非缺失值的样本观测值的nianxin和y1的描述统计量。


上述命令的分析结果如下图所示。


8.png


此外,如果根据研究需要,我们有必要计算全部样本观测值的期望年薪,那么就需要用到yexpected选项。 yexpected选项的基本原理是通过样本选择方程计算该样本观测值的因变量值是否满足样本选择条件,如果不满足样本选择条件,则其期望年薪为0。


在命令窗口依次输入以下命令:

predict y2, yexpected

本命令的含义是生成y2变量, y2是对所有样本观测值的期望年薪的预测。


gen nianxin1=nianxin

本命令的含义是生成nianxin1变量,与nianxin变量相同。


replace nianxin1=0 if nianxin1==.

本命令的含义是针对nianxin1, 如果样本观测值的nianxin1变量为缺失值,则取值为0,如果样本观测值的nianxin1变量不为缺失值,则仍为原nianxin变量的值。


sum y2 nianxin1

本命令的含义是获取y2和nianxin1的描述统计量。

上述命令的分析结果如下图所示。


9.png


从分析结果中可以看到,基于heckman回归分析方法,样本选择模型预测得到的所有样本观测值的期望年薪为13.82804,而未开展heckman回归分析,直接将年薪缺失的样本观测值的年薪取值为0,则年薪的期望均值为14.11284,两者存在一定差别。



热门软件

热门软件

免费下载

【软件下载】点击下载:https://pan.baidu-download.com/extract/spss.html提取码:点击获取【软件介绍】SPSS是全球领先的统计分析软件,为研究人员和数据分析师提供强大的数据处理和分析功能。无论是进行数据探索、模型建立还是结果解释,SPSS都能提供全面的解决方案。其直观的用户界面和丰富的统计工具使得数据分析变得简单而高效。【安装步骤】1. 首先,右击...
【软件下载】点击下载:https://pan.baidu-download.com/extract/stata.html‍提取码:点击获取【软件介绍】STATA软件是一款功能强大的统计分析工具,被广泛应用于社会科学、经济学、生物医学等领域。它提供了丰富的统计方法和数据处理功能,可以进行数据清洗、数据可视化、回归分析、时间序列分析等操作。【安装步骤】1. 鼠标右击【Stata17.0(64bi...
【软件下载】点击下载:https://pan.baidu-download.com/extract/eviews.html‍提取码:点击获取‍【软件介绍】EViews是一款功能强大的经济统计分析软件,广泛应用于经济学、金融学等领域。它提供了丰富的数据处理、分析和建模工具,能够帮助用户进行数据的可视化、回归分析、时间序列分析等操作。【安装步骤】1.鼠标右击【EViews13(64bit)】压缩...
【软件下载】点击下载:https://pan.baidu-download.com/extract/matlab.html‍‍‍提取码:点击获取‍【软件介绍】MATLAB是一种高级技术计算和编程环境,广泛用于科学、工程和数学领域的数据分析、模拟和可视化。它是由MathWorks公司开发的,提供了丰富的函数库和工具箱,用于处理矩阵运算、信号处理、图像处理、优化、统计分析等各种任务。【安装步骤】...
【软件下载】百度云下载:https://pan.baidu-download.com/extract/python.html‍‍‍‍提取码:点击获取‍【软件介绍】Python是一种高级编程语言,具有简单易学、可读性强的特点。它被广泛应用于数据分析、人工智能、Web开发等领域。Python拥有丰富的库和框架,如NumPy、Pandas、TensorFlow等,可以方便地进行数据处理、机器学习和...
【软件下载】立即下载:https://pan.baidu-download.com/extract/rstudio.html‍‍‍‍‍提取码:点击获取‍‍【软件介绍】RStudio是一款专业的集成开发环境(IDE),用于R语言的开发和数据分析。它提供了丰富的功能和工具,包括代码编辑、调试、数据可视化和报告生成等。通过RStudio,用户可以高效地编写和运行R代码,进行数据处理、统计分析和机器...
【软件下载】点击下载:https://pan.baidu-download.com/Extraction/Amos.html提取码:点击获取‍【软件介绍】AMOS是一款广泛应用于社会科学、教育研究、市场调研等领域的统计分析软件,它提供了强大的功能和直观的界面,帮助用户进行复杂的结构方程建模和模型验证,从而深入分析数据之间的关系和影响。【安装步骤】1.鼠标右击【Amos28】压缩包(win11...
【软件下载】点击下载:https://pan.baidu-download.com/Extraction/Mplus.html提取码:点击获取‍【软件介绍】Mplus是一款专业的统计分析软件,主要用于结构方程模型(SEM)和混合效应模型(HLM)的建模和分析。Mplus提供了丰富的功能和工具,包括路径分析、因子分析、多水平建模等。Mplus的用户界面友好易用,支持图形化操作,使得模型构建和分...
【软件下载】点击下载:https://pan.baidu-download.com/Extraction/Origin.html提取码:点击获取‍【软件介绍】Origin是一款功能强大的科学数据分析和可视化软件,广泛应用于各个领域的数据处理和研究工作。Origin提供了丰富的数据分析工具和图形绘制功能,帮助用户快速处理和分析数据,并将结果以直观的图表形式展示。【安装步骤】1.鼠标右击【Ori...
【软件下载】百度云下载:https://pan.baidu.com/s/1CVXkLwjhLDw_7H6FV9O47Q‍‍‍‍‍提取码:点击获取【软件介绍】Excel是一款功能强大的电子表格软件,广泛应用于数据分析、数据处理和数据可视化。Excel提供了丰富的功能和工具,包括数据排序、筛选、公式计算、图表绘制等。它的用户界面简洁直观,操作便捷,适用于各种行业和领域。【安装步骤】1.选中下载的...
热门课程

热门课程

排行榜

【软件下载】点击下载:https://pan.baidu-download.com/extract/spss.html提取码:点击获取【软件介绍】SPSS是全球领先的统计分析软件,为研究人员和数据分析师提供强大的数据处理和分析功能。无论是进行数据探索、模型建立还是结果解释,SPSS都能提供全面的解决方案。其直观的用户界面和丰富的统计工具使得数据分析变得简单而高效。【安装步骤】1. 首先,右击...
【软件下载】点击下载:https://pan.baidu-download.com/extract/stata.html‍提取码:点击获取【软件介绍】STATA软件是一款功能强大的统计分析工具,被广泛应用于社会科学、经济学、生物医学等领域。它提供了丰富的统计方法和数据处理功能,可以进行数据清洗、数据可视化、回归分析、时间序列分析等操作。【安装步骤】1. 鼠标右击【Stata17.0(64bi...
【软件下载】点击下载:https://pan.baidu-download.com/extract/eviews.html‍提取码:点击获取‍【软件介绍】EViews是一款功能强大的经济统计分析软件,广泛应用于经济学、金融学等领域。它提供了丰富的数据处理、分析和建模工具,能够帮助用户进行数据的可视化、回归分析、时间序列分析等操作。【安装步骤】1.鼠标右击【EViews13(64bit)】压缩...
【软件下载】点击下载:https://pan.baidu-download.com/extract/matlab.html‍‍‍提取码:点击获取‍【软件介绍】MATLAB是一种高级技术计算和编程环境,广泛用于科学、工程和数学领域的数据分析、模拟和可视化。它是由MathWorks公司开发的,提供了丰富的函数库和工具箱,用于处理矩阵运算、信号处理、图像处理、优化、统计分析等各种任务。【安装步骤】...
【软件下载】百度云下载:https://pan.baidu-download.com/extract/python.html‍‍‍‍提取码:点击获取‍【软件介绍】Python是一种高级编程语言,具有简单易学、可读性强的特点。它被广泛应用于数据分析、人工智能、Web开发等领域。Python拥有丰富的库和框架,如NumPy、Pandas、TensorFlow等,可以方便地进行数据处理、机器学习和...
【软件下载】立即下载:https://pan.baidu-download.com/extract/rstudio.html‍‍‍‍‍提取码:点击获取‍‍【软件介绍】RStudio是一款专业的集成开发环境(IDE),用于R语言的开发和数据分析。它提供了丰富的功能和工具,包括代码编辑、调试、数据可视化和报告生成等。通过RStudio,用户可以高效地编写和运行R代码,进行数据处理、统计分析和机器...
【软件下载】点击下载:https://pan.baidu-download.com/Extraction/Amos.html提取码:点击获取‍【软件介绍】AMOS是一款广泛应用于社会科学、教育研究、市场调研等领域的统计分析软件,它提供了强大的功能和直观的界面,帮助用户进行复杂的结构方程建模和模型验证,从而深入分析数据之间的关系和影响。【安装步骤】1.鼠标右击【Amos28】压缩包(win11...
【软件下载】点击下载:https://pan.baidu-download.com/Extraction/Mplus.html提取码:点击获取‍【软件介绍】Mplus是一款专业的统计分析软件,主要用于结构方程模型(SEM)和混合效应模型(HLM)的建模和分析。Mplus提供了丰富的功能和工具,包括路径分析、因子分析、多水平建模等。Mplus的用户界面友好易用,支持图形化操作,使得模型构建和分...
数据分析网 专业数据分析服务
专业学术和研究领域的综合性数据分析服务平台
——————————————————————————————————————————————————————
微信客服            
本站教程已获得国家版权登记证书,受版权保护。未经授权,任何个人或机构不得以任何形式复制、传播、修改或用于商业目的。违反者将承担法律责任。
如需使用本站教程内容,请联系我们获取授权。谢谢合作!
以下为部分版权登记号:鲁作登字-2023-L-00466766   鲁作登字-2023-L-00466759   鲁作登字-2023-L-00466761   鲁作登字-2023-L-00466763   鲁作登字-2023-L-00466757