![cover](https://img-blog.csdnimg.cn/a9e9b3642efc4e72b3f5941739607ce8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQ2x5dGllX0xpb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
stata学习笔记|离散被解释变量
离散被解释变量二值选择模型多指选择模型计数数据二值选择模型采用logit和probit模型(probit即把logit换一下就好)logit y x1 x2 ,nolog r vce(cluster clustervar) orestat clasnolog表示不用显示迭代过程。vce(cluster cluster)表示运用聚类标准误,由于二值选择模型一般采用稳健标准误的意义不大,所以常常使用聚
离散被解释变量
- 二值选择型——二值选择模型
- 多值选择型——多项选择模型、条件选择、混合
- 排序数据——排序模型
- 非负整数计数型——泊松、负二项
二值选择型
采用logit和probit模型(probit即把logit换一下就好)
logit y x1 x2 ,nolog r vce(cluster clustervar) or
estat clas
nolog表示不用显示迭代过程。
vce(cluster cluster)表示运用聚类标准误,由于二值选择模型一般采用稳健标准误的意义不大,所以常常使用聚类标准误。
or 表示结果不是显示系数,而是几率比,解释的话,即变量增加一单位,y变成1 的概率就会增加多少,注意stata直接显示的是倍数,即y选择1状态的概率是另一种的多少倍。
estat clas可以用来计算预测正确的概率,只需看上面那个true表格里的total中的D/Total即为预测正确比率。
当怀疑数据可能出现异方差的时候,可采用下面的代码 varlist表示你认为可能会导致其发生异方差的解释变量。
hetprob y x1 x2 x3,het(varlist)
work一栏即表示为对原方程的估计,最后一行显示的p值即表示接受原假设“同方差”
为什么一般不考虑稳健标准误
因为在两点分布的情况下,稳健标准误就等于MLE的普通标准误,如果模型设定正确,则无需使用稳健标准误。而如果模型设定存在问题,则probit 和logit并不能一致估计相关系数,采用稳健标准误的意义也不存在了。
但可以利用观察稳健标准误情况下是否与普通回归具有较大差距判断模型设定是否存在问题。
probit和logit有什么区别
总体而言,差别存在于对被解释变量的残差的前提假定不同
probit假定的是正态分布,Logit假定的是logitistic分布
一般来说没有较大的差别
多值选择型
存在两种变量,分别为随个体而变动的和随方案变动的。
只存在随个体而变的则为多项logit,只存在随方案变动的则为条件logit,两种变量均存在则为混合logit。
多项logit
rrr表示显示风险比率,base(n)表示选取哪一组作为对照组,系统默认为样本数量最多的一组。
mlogit y x1 x2 x3,rrr base(n)
occ中分为menial、Bluecol、Craft、Withecol、Prof五种背景,以结果中的Menial为例,ed(教育程度)的p值表示显著,系数为负,则表示教育程度越高,在Menial(服务行业)和Prof中更愿意选择PRof。
接下来需要判断是否保证了IIA假设前提,即无关方案之间是否是独立的。
分别是豪斯曼检验和smallHsiao检验。
mlogtest,hausman base
mlogtest,smhsiao base
观察p值 均不拒绝IIA原假设。
接下来还可对每个个体选择这五种职业的概率进行预测。
predict y1 y2 y3 y4
条件logit
or表示汇报几率比,group表示指定归属同一个体观测值的一组,即个体id等能够包括所有方案的分类。
clogit y x1 x2 x3,group(varname) or
注意选择的y x1 x2 x3分别是什么,choice表示最终是否选择该种交通方式的虚拟变量 ,而train 和bus分别表示是否为该种方案,即例如,对于一个家庭来说有三种旅行方式,每一种旅行方式对应分别的旅行时间和费用,但是最终只会选择一个。
一般均采用风险比率,图中结果显示在时间和成本相等的情况下,选择火车的概率是自驾的14倍,而时间成本每增加一分钟,选择自驾的概率就乘以0.98,即概率下降0.02。
条件logit也可进行预测
此时无需预测多个变量,因为每一种方案已经都分别列出了一条数据。
predict prob
混合logit
case指定个体,alternatives指定方案,casevars指定只随个体变动的解释变量
asclogit y x1 x2 x3,case(varname) alternatives(varname) casevars(varmane) base(n) or
同样需要注意选择的y x1 x2 x3,此时由于后面的alternatives已经将三种乘车方式进行的区分,在前面则无需列出另外两种的虚拟变量。
此处的结果解释与前面多项Logit一致。
但是该模型并不输出R方,故可以,手动计算。
asclogit y x1 x2 x3,case(varname) alternatives(varname) casevars(varmane) base(n) nolog or
asclogit y ,case(varname) alternatives(varname) base(n) nolog or
再将二者计算出的Log Like进行计算
dis (log2-log1)/(log2)
排序型
当被解释变量存在一定排序关系,例如债券评级等,则需要运用到排序模型。
ologit y x1 x2 x3,nolog
oprobit y x1 x2 x3,nolog
cut表示的是切点,因为在案例中共有四个等级,所以三个切点。
排序模型最主要的还是进行预测
predict y1 y2 y3 y4
非负整数计数型
泊松回归和负二项回归的抉择
存在过度分散的情况下,但对被解释变量的方差函数并不清楚地时候,可采取泊松回归+稳健标准误的方式, 但在了解方差函数的情况下,当然负二项回归能够提供更加有效的估计。
也可进行LR检验进行精准判断。
泊松回归
当被解释变量并不是简单的几个方案之间的选择也不是排序的时候,但只能取非负整数的时候,即考虑泊松回归。
irr表示显示发生比率,exposure(x1)表示将ln(x1)作为解释变量,并令其系数为1,而offset(x1)表示单纯地把x1作为解释变量,其系数为1。
poisson y x1 x2 x3,r irr
poisson y x1 x2 x3,r exposure(x1)
poisson y x1 x2 x3,r offset(x1)
从结果中,因为选取了几率比,则可以看出pcnv(有前科的比例)每增加一单位,1986年被逮捕的概率下降到原来的0.669倍。
接下来,可以利用sum函数,对被解释变量的统计变量进行观察
可以看出方差比平均值大很多,所以更倾向于采用负二项回归。
负二项回归
泊松回归地前提假设是被解释变量的期望和方差相等,即均等分散。
但在实际数据中往往存在方差明显大于期望的情况,此时急需要采取负二项回归。
dispersion(constant)表示采取NB1模型,默认是采取NB2模型。
nbreg y x1 x2 x3,r exposure(x1)
nbreg y x1 x2 x3,r dispersion(constant) offset(x1)
结果解读和泊松基本一致,需要注意最后一行的alpha检验,可以看出alpha的95%的置信区间为0.7-1.23,所以可以强烈拒绝alpha为0的原假设,即应该使用负二项回归。
零膨胀
当计数数据中存在大量的0时,需要考虑零膨胀模型。
inflate(varlist)一般均采用inflate(_cons)
zip y x1 x2 x3,inflate(varlist) voung
zinb y x1 x2 x3,inflate(varlist) voung
观察最后的vuong检验的p值,可以发现强烈拒绝标准泊松回归,而应该采用零膨胀。
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)