分享

干货|教你如何用Stata做二元选择模型

 liyu_sun 2020-07-04


基础部分



先确定二元选择模型的类型,通常有Probit模型、Logit模型、Extreme模型等,前面两种最常用。如果随机误差项服从标准正态分布,就用Probit模型;如果随机误差项服从逻辑分布,就用Logit模型。当然,事先也不知道随机误差项究竟服从何种分布,所以Probit模型和Logit模型任选一种即可,问题不是很大。二元选择模型是非线性模型,所以参数估计要用最大似然估计法(MLE)。如果模型类型选择正确(即假设随机误差项服从何种分布判断正确),那么用最大似然估计法就能得到一致的估计;反之,用最大似然估计法得到的是准最大似然估计值(QMLE)。

Probit模型的Stata命令为:

probit y x1x2 x3


Logit模型的Stata命令为:

logit y x1 x2x3

由此得到的估计系数,要看符号正负,至于具体数值没什么意义。如果系数符号为正,表明解释变量越大,被解释变量取1的概率越大(即取0的概率越小);反之,如果系数符号为负,表明解释变量越大,被解释变量取1的概率越小(即取0的概率越大)。

对于不显著的解释变量,可以剔除后再次进行回归。另外,要检验下模型设定是否正确(即是否存在遗漏变量、无关变量、函数形式不对等问题),所用的方法是比较普通标准误和稳健标准误。

前面Stata命令得到的是普通标准误,想得到稳健标准误,用下面Stata命令:
对于Probit模型是

probit y x1 x2 x3, r

对于Logit模型是

logit y x1 x2 x3, r

如果稳健标准误和普通标准误比较接近,就可认为模型设定没问题;反之,稳健标准误和普通标准误差异较大,则要怀疑模型设定有误。
当模型设定正确时,Stata命令就没必要用稳健标准误r了(当然用了也没错)。

在估计结果出来后,要评价估计结果好不好,主要看两个统计量:


一是似然比检验量LR,如果其p值小于设定的显著性水平,则表明整个方程除常数项以外的所有其他系数具有联合显著性;


二是正确预测的百分比(percent correctly predicted),百分比越高表示拟合优度越高,计算正确预测百分比的Stata命令为:estat clas。

Probit模型、Logit模型在大样本时估计效果较好,在有限样本(样本容量小于200)情况下,可能会出现估计偏差。

由于聚类抽样原因,观测值之间可能会出现依赖性,即组内个体存在组内自相关性,这时需要使用聚类稳健标准误,Stata命令为:


对于probit模型

probit y x1 x2 x3, vce(cluster clustervar)

对于logit模型

logit y x1 x2 x3,vce(cluster clustervar)


clustervar表示聚类变量。



进阶部分:边际效应



前面用probit、logit命令得到的二元选择模型的估计系数,并不是偏导数的含义。那么,要像线性模型估计一样,使参数表示偏导数(边际效应),如何做呢?这就需要在得到系数估计结果后,继续使用margin命令。这里要注意的是,对非线性模型,边际效应并非常数(在线性模型中是),边际效应是随着解释变量的变化而发生变化的。因此,需要区分几种不同类型的边际效应概念:


一是平均边际效应(average marginal effect,AME),其含义是分别计算在每个样本观测值上的边际效应,然后进行简单算数平均,AME在操作中是最常用的;二是样本均值处的边际效应(marginal effect at mean,MEM);三是在某代表值处的边际效应(MER)。

如果要计算所有解释变量的边际效应,Stata命令为:

margin, dydx(*) 平均边际效应margin, dydx(*) atmeans 样本均值处的边际效应margin, dydx(*) at(x1=h) 在x1=h处的边际效应


如果只是计算某个解释变量(下面假设是x1)的边际效应,Stata命令为:

margin, dydx(x1)     x1的平均边际效应margin, dydx(x1) atmeans    x1在均值处的边际效应margin, dydx(x1) at(x1=h)    x1在x1=h处的边际效应


上述边际效应的含义为:解释变量每增加一单位,被解释变量取1的概率变化多少单位

另外,dydx也可以改为dyex(半弹性),这时边际效应的含义是:解释变量每增加1%,被解释变量取1的概率变化多少单位。

有人会问,计算在某代表值处的边际效应有啥用处呢?主要有两个意义:
第一,便于创建一个基准值进行比较分析;
第二,可以比较解释变量取不同值时边际效应的大小,考察随着解释变量变化边际效应的相应变化趋势和特点,由此发现一些有规律或有政策启示的现象。



进阶部分:几率比



几率比(oddsratio)是被解释变量取1的概率与取0的概率的比值
估计几率比的stata命令为:

logit y x1 x2x3, or


得到的估计参数的含义为:解释变量每增加一单位,被解释变量几率比将变化(参数值-1)个单位。


对于Probit模型,无法获得几率比,这是其相对于logit模型的劣势。



进阶部分:异方差下的Probit模型



标准的Probit模型、logit模型均假设随机误差项是同方差的,在有异方差的情况下,对Probit模型进行估计的stata命令为: 

hetprob y x1 x2 x3, het(varlist)


varlist为对随机误差项方差有影响的所有变量。


显示结果的最后一行有似然比检验(LR),当其p值大于设定的显著性水平时,则接受同方差的原假设,只要用标准模型估计即可;反之,则说明存在异方差,需要用上面的方法进行估计。



进阶部分:稀有事件偏差



当y=1的发生频率极少时称为稀有事件,解决办法有两种:


第一种办法是仍使用logit模型,但对因稀有事件造成的小样本偏差进行估计,然后对原logit模型的估计系数进行修正,得到偏差修正估计,相应的stata命令为:

relogit y x1 x2 x3

(注意:relogit非自带程序,要专门下载,详见陈强(2014,P180);另外,relogit命令默认使用稳健标准误,如不使用需在选项中加nor,即relogit y x1 x2 x3, nor)。


第二种办法是使用非对称的极值分析,得到“补对数-对数模型”,相应的stata命令为:

cloglog y x1 x2 x3


无论是用何种方法,均可进一步计算边际效应,但无法用estat clas命令得到正确预测的百分比,也无法用or命令得到几率比。



进阶部分:含内生变量的probit模型



第一步:解释变量的内生性检验,确定解释变量是否为内生变量。
stata命令为:

ivprobit y1 x1 x2 (y2=z1 z2)

或者

ivprobit y1 x1x2  (y2=z1 z2), first twostep

其中,y1是被解释变量,x1、x2均是外生解释变量,y2是内生解释变量,z1和z2均是工具变量。


如果wald检验结果的p值小于给定的显著性水平,说明y2确实是内生变量(注意:前一个命令用的是MLE法;后一个命令用的是两阶段法,first表示显示第一步结果,可选。另外,两种命令后,均可以用margin命令计算边际效应;MLE法后可用estat clas命令得到正确预测的百分比,但两阶段法后无法使用estat clas)。

第二步:过度识别检验,当工具变量个数大于内生解释变量个数时进行,目的是检验是否所有工具变量都是外生的,即与随机误差项无关
stata命令为:

overid

当检验结果的p值大于给定的显著性水平时,说明工具变量均是外生的。

第三步:弱工具变量检验,目的是判断所选择的工具变量是否为弱工具变量。
stata命令为:

weakiv ivprobit y1 x1 x2  (y2=z1 z2),twostep

(选项twostep是必不可少的)
如果检验结果的p值小于给定的显著性水平,说明工具变量不是弱工具变量。

注意:overid和weakiv命令都不是自带程序,要专门下载,下载命令ssc install。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多