Stata进阶2
在一般的模型中,被解释变量的取值是连续的,如果解释变量是离散的(比如,虚拟变量),则不会影响回归。但有时被解释变量是离散的,而非连续的。那么就要选择相应的离散选择模型进行分析。
一、二值选择模型
1.线性概率模型、logit与probit模型
直接以案例进行讲解,以数据集womenwk.dta为例,估计决定美国妇女就业与否的二值选择模型。该数据集包括以下变量:work(是否就业),age(年龄),married (婚否),children(子女数),education(教育年限)。考虑以下模型:
reg work age married children education,r //线性概率模型
*logit模型
logit work age married children education,nolog //nolog是不显示迭代过程
logit work age married children education //显示迭代过程
logit work age married children education,r nolog //使用异方差稳健标准误进行logit估计
*显示几率比
logit work age married children education, or nolog
*为了与ols估计的回归系数比较,计算logit模型的平均效应
margins ,dydx(*)
*probt模型
probit work age married children education, nolog
*下面考察probit模型的边际效应
margins ,dydx(*)
//含有内生变量的二值选择模型的stata命令
ivprobit y1 x1 x2 (y2=z1 z2),r
ivlogit y1 x1 x2 (y2=z1 z2),first twostep
//面板二值选择模型
xtlogit y x1 x2 x3 x4 x5,fe nolog //nolog表示不显示迭代过程
//面板probit无固定效应模型
二、多值选择模型(因变量类个数大于2)
当因变量的选择不只有两个时,而是多值时,则采用多项logit与多项probit模型。
//多项logit
mlogit y x1 x2,rrr base
//多项probit
mprobit y x1 x2,rrr base //其中base(#)用于指定参考组,rrr表示汇报“相对风险比率”
1.排序模型(因变量为定序变量)
有些离散数据有排序。比如,公司债券的评级(AAA, AA, A, B, C 级);对社区服务的满意度(很满意、满意、不满意、很不满意);排序模型的stata命令为:
oprobit y x1 x2 //order probit模型
ologit y x1 x2 //order logit模型
2.泊松回归(因变量为计数变量)
有些被解释变量只能取非负数整数,即0,1,2…,对于这类计数数据,常使用“泊松回归”
poisson y x1 x2 ,r irr //irrr表示显示发生率比
poisson y x1 x2 ,r irr exposure(x1) //exposure(x1)表示把ln(x1)作为解释变量,并令其系数为1
poisson y x1 x2 ,r irr offset(x1) //选择项offset(x1)表示x1作为解释变量,并令其系数为1
xtpoisson y x1 x2,fe irr //面板泊松回归
3.负二项回归
泊松分布的期望与方差一定相等,称为“均等分散”;但是这个特征常与实际数据不符。如果被解释变量的方差明显大于期望,即存在“过度分散”,这种情况下,应使用负二项回归。
nbreg y x1 x2 x3,r exposure(x1) //选择项含义与泊松回归一样
nbreg y x1 x2 x3,r offset(x1)
//面板负二项回归
xtnbreg y x1 x2 x3,fe irr
xtnbreg y x1 x2 x3,fe irr
4.零膨胀泊松回归
如果计数数据中含有大量的“0”值,可考虑使用“零膨胀泊松回归”(ZIP),那么应该使用标准的泊松回归还是零膨胀泊松回归(ZIP)?可以查看“Vuong 统计量”,其渐近分布为标准正态。如果统计量很大,则应选择零膨胀泊松回归,反之使用标准泊松回归。
zip y x1 x2 , inflate(varlist) vuong //零膨胀泊松回归
zinb y x1 x2, inflate(varlist) vuong //零膨胀负二项回归
//其中选择项inflate(varlist)必须要有,括号里为所有解释变量,选择项vuong表示显示vuong统计量
5.受限被解释变量(tobit模型)
被解释变量的取值范围有时受限制,称为“受限被解释变量”,这时可以选用归并回归。其stata命令为:
tobit y x1 x2 x3 , ll(#) ul(#)
//其中,选择项 ll(#) 表示lower limit,即左归并;选择项ul(#)表示upper limit,即右归并;如果同时使用这两个选择项,则表示双边归并。如果把选择项ll(#) 写成ll,则stata将把样本中y的最小值作为左归并点。类似地,如果把选择项ul(#)写成ul,则stata将把样本中y的最大值作为右归并点。#为对应的临界值。
//含有内生解释变量的tobit模型
ivtobit y1 x1 x2 (y2=z1 z2), ll(#) ul(#)
ivtobit y1 x1 x2 (y2=z1 z2), ll(#) ul(#) fisrt twostep
//面板tobit
xttobit y x1 x2 x3 , ll(#) ul(#) tobit
//其中,tobit表示对原假设H0:随机扰动项=0进行LR检验。如果LR检验拒绝原假设,则认为存在个体效应,应使用随机效应的面板tobit回归。