stata学习笔记|离散被解释变量
离散被解释变量
- 二值选择型——二值选择模型
- 多值选择型——多项选择模型、条件选择、混合
- 排序数据——排序模型
- 非负整数计数型——泊松、负二项
二值选择型
采用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值,可以发现强烈拒绝标准泊松回归,而应该采用零膨胀。
stata学习笔记|离散被解释变量相关推荐
- stata学习笔记|受限被解释变量
受限被解释变量类型 普通断尾随机变量--断尾回归:对于分析的样本解释变量有上限或者下限的要求 零断尾计数数据--零断尾泊松回归和负二项回归:正整数 偶然断尾(自选择问题)--样本选择模型:因为某些原因 ...
- STATA 学习笔记 :相关系数
STATA 学习笔记 :相关系数 为什么要计算变量之间的相关系数? 检测变量之间的多重共线性 相关系数呈现的几种方法 1. 散点图矩阵 help graph matrix Description: g ...
- STATA学习笔记:缺漏值的处理
STATA学习笔记:缺漏值的处理 1. 缺漏值的标记 stata中缺漏值默认标记为"." "."是数值,且是一个大于任何自然数的数值 [注意] sum.gene ...
- STATA学习笔记:分组统计和分组回归
STATA学习笔记:分组统计和分组回归 1. 分组统计 (1)对一个类别变量进行统计时 tabulate命令 tabulate oneway //for one-way tables of frequ ...
- STATA学习笔记:数据合并
STATA学习笔记:数据合并 一 横向合并数据:merge 1. One-to-one merge on specified key variables merge 1:1 varlist using ...
- STATA学习笔记:egen函数
STATA学习笔记:egen函数 1. egen (1)mean() webuse egenxmpl,clear egen avg = mean(cholesterol) gen deviation ...
- STATA学习笔记:外部命令
STATA学习笔记:外部命令 1.设置外部命令存储地址 //在电脑里设置好文件夹以备存储外部命令 //Set location where packages will be installed //方 ...
- 炼数成金Tensorflow学习笔记之2.2_变量
炼数成金Tensorflow学习笔记之2.2_变量 代码及分析 代码及分析 import tensorflow as tfx = tf.Variable([1, 2]) a = tf.constant ...
- STATA学习笔记: do-file
STATA学习笔记: do-file 1.注释 *注释句 /* 注释句*/ //注释句 2. 断行 将一条语句分行书写,避免语句过长不好阅读 (1) :/// sysuse auto, clear t ...
最新文章
- Linux挂载Windows共享目录
- ioS开发之c语言基础-一维数组,字符数组
- BTC 缓步推升,BCH 再拔头筹
- Mac过热降频的罪魁祸首,竟是插到了左边的Type-C口
- cout设置输出数据不显示科学计数法
- centos7安装php5.6版本
- windows下python虚拟环境virtualenv安装和使用(亲测)
- C++的文艺复兴: Why C++? 王者归来
- 上传文件Base64格式(React)
- socket服务器主动下发消息,socket服务器主动发送消息给客户端
- ps6人脸识别液化工具在哪_PS上手指南 篇五:玩转人脸识别液化
- 人流量统计管理平台汇总显示方案_实现在场人数管控
- mysql报1205错误
- 【Git】remote: error: cannot lock ref
- 实用小技巧---如何给全部网页截图
- 小型项目程序 ERP——沙盘模拟
- 芯片前沿 | 云端芯片功耗问题日益严重
- 基于springboot的在线小说阅读平台设计与实现-计算机毕业设计源码+LW文档
- 程序员面试,面试官更注重代码量、项目经验还是操作系统、数据结构这种基础课程?...
- yjv是电缆还是电线_YJV电缆与YJY电缆哪个价格高,两者的区别是什么?
热门文章
- window环境下mysql忘记密码或者原正确密码无法登录
- 拉里·埃里森亲自支招,数据库自动化之后,DBA何去何从???
- 为什么要学习数据结构?
- Object.values()
- 七牛云邵杰:视觉智能——视频云新时代
- 【微信篇】PC端微信文件夹里的“微信号“
- Pygame实战:家里的小孩数学算数能力很差嘛?别慌—这款“巧算24点小游戏”等你来玩,管用。
- 如何知道自己计算机的IP,怎么知道自己电脑的ip地址,手把手教你查询电脑ip地址...
- Linux常用指令(幻影快递Linux小组)
- centos7 无网络 安装oracle 脚本静默安装