多层级Tobit模型及Stata应用

发布时间:2020-10-10 阅读 6324

Stata 连享会   主页 || 视频 || 推文

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

课程详情 https://gitee.com/arlionn/Course   |   lianxh.cn

课程主页 https://gitee.com/arlionn/Course

作者: 徐婷 (对外经贸大学)
邮箱: xt2544720640@foxmail.com

Source: Stata Tips #19 - Multilevel Tobit regression models in Stata 15


目录


1. 简介

Tobit模型用于删失因变量,其数值只能用一个范围来表示。为了了解我们期望考察的关系,本文利用了模拟的数据集,删掉了高于上限的值,即右删失。 Stata之前的版本就可以运算Tobit模型,但Stata15版本可以执行具有随机截距和随机斜率的多级版本。我们先来看简化的数学表达如下:

在这些等式中,i 表示个体,j 表示多级结构的多个个体的集合。分析多层模型优势的一种简洁的方式是,将无法解释的方差分解为观察值层面和聚类层面的方差,通过此种方式,可以对数据给出更深入的理解、得出更为细致的结论。

x 是因变量,y 是自变量,但是我们不能直接观测到 y,而仅能观测到在临界值在 h 水平上的删失值 y*。Β 为简单回归系数。然后,多层结构的数据中的随机截距项 u,在不同的聚类中不同,另外随机斜率 v,是 x 对 y 的影响。一般而言,u 和 v 的值在 0 周围呈现正态分布。

2. 模拟数据

本文以截肢患者学习使用无线电动假肢手臂为例,进行虚拟的调查研究。本文所使用的数据是虚假的,但是以现实的研究为基础。

在这个数据集中,有两个需要实验参与者完成的训练项目(变量:train),并且在随后的几周内(变量:week)将对参与者(以变量id来识别)进行追踪。他们必须通过执行难度升级的四项任务(变量:task)来完成测试,并且他们在完成任务的过程中将被计时(变量:time),我们希望时间越短越好。但是time变量的上限是 30 秒,也就是说,如果他们在 30 秒内无法完成任务,那么时间将被记录为 30 秒。

因变量是右删失的。我们必须考虑在多层级模型中数据的重复性特征(也就是经济学家们所说的“面板数据”)。每个id都有随机截距项,每个week都有随机斜率,本研究主要关注weektrain的交互项,因为这说明不同的训练项目对恢复率影响的区别。

如下图示表示被分为四项任务和两个训练组的每个“病人”随时间的变化情况。

图1.png
图1.png
图2.png
图2.png

3. 获得因变量实际值的情况

我们可以拟合一个多层线性模型,称之为“模型1”。

mixed y c.week##i.train i.task || id: week, covariance(unstructured)
margins train, at(week = (1(1)5))
marginsplot, name(model1, replace) scheme(s1mono) ylabel(,grid) ytitle("") title("Model 1")

接下来,我们用高于30秒的删失因变量进行了相同的线性回归。唯一的变化是,用y*替代y,即用30来替代高于30的任何值,这是模型2。因为它忽略了删失值,所以我们不应该太惊讶于产生的偏差结果。

图3.png
图3.png

在上表中,高亮的单元格显示了模型1中位于模型2的95%的置信区间外的参数。

gen ystar = y
replace ystar = ${h} if y >= ${h}
mixed ystar c.week##i.train i.task || id: week, covariance(unstructured)
margins train, at(week = (1(1)5))
marginsplot, name(model2, replace) scheme(s1mono) ylabel(,grid) ytitle("") title("Model 2")

这些偏差产生的主要来源于人为将数据控制在上图中的红色虚线以下,并且线性模型试图对此进行补偿。但是,当我们用metobit(与mixed的语法基本相同)来拟合“模型3”,令Stata对在删失的临界值以上部分的删失值的数据分布求积分。这要求模型中建立一些假设,当然,这一线性、正态分布的数据集很好的满足了这些假设条件。如表所示,模型2中的偏差都消失了。

metobit ystar c.week##i.train i.task || id: week, ul(30) covariance(unstructured)
margins train, at(week = (1(1)5))
marginsplot, name(model3, replace) scheme(s1mono) ylabel(,grid) ytitle("") title("Model 3")

我们可以使用 marginsmarginsplot 来帮助我们解释以上模型。你可能会注意到,当使用 margins命令时,metobitmixed 更为耗时,即对计算机提出的要求更高。

图4.png
图4.png

相关课程

连享会-直播课 上线了!
http://lianxh.duanshu.com

免费公开课:


课程一览

支持回看,所有课程可以随时购买观看。

专题 嘉宾 直播/回看视频
最新专题 DSGE, 因果推断, 空间计量等
Stata数据清洗 游万海 直播, 2 小时,已上线
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]

Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 连享会-主页知乎专栏,300+ 推文,实证分析不再抓狂。
  • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会主页  lianxh.cn
连享会主页 lianxh.cn

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会学习群-常见问题解答汇总:
https://gitee.com/arlionn/WD