-
2020-09-26 18:30:25更多相关内容
-
stata行业变量怎么赋值_Tobit 模型及其Stata实现
2020-10-21 22:47:07作者:李琼琼 (山东大学) Stata 连享会: 知乎 | 简书 | 码云 | CSDN | StataChina公众号连享会-知乎推文列表Note: 助教招聘信息请进入「课程主页」查看。 因果推断-内生性 专题 ⌚ 2020.11.12-15 主讲:王存同 ...作者:李琼琼 (山东大学)
Stata 连享会: 知乎 | 简书 | 码云 | CSDN | StataChina公众号连享会-知乎推文列表
Note: 助教招聘信息请进入「课程主页」查看。
因果推断-内生性 专题 ⌚ 2020.11.12-15
主讲:王存同 (中央财经大学);司继春(上海对外经贸大学) 课程主页: https://gitee.com/arlionn/YG | 微信版http://qr32.cn/BlTL43 (二维码自动识别)
空间计量 专题 ⌚ 2020.12.10-13
主讲:杨海生 (中山大学);范巧 (兰州大学) 课程主页: https://gitee.com/arlionn/SP | 微信版https://gitee.com/arlionn/DSGE (二维码自动识别)
1. Tobit 模型的介绍
1.1 受限数据:截断和截堵
在做回归时,连续型的被解释变量有的时候因为截断 (Truncated) 或者截堵 (Censored) 而只能选取一定范围的值, 会导致估计量不一致。Davidson 等 (2004) 定义如果一些观测值被系统地从样本中剔除,称为 截断; 而没有观测值被剔除,但是有部分观测值被限制在某个点上则被称为 截堵。
举个例子,在研究影响家庭负债额的决定因素时,有较多的被解释变量 (负债额) 为 0,有些家庭是因为没有欠债也没有借钱给其他家庭回答负债为 0,也有家庭只借钱给其他家庭 (借钱给其他人负债额为负值),但是后者没有在数据上反映出来。 当研究人员只选择负债大于 0 的样本,此时负债额是 截断变量; 若研究人员保留了负债大于等于 0 的样本,此时的负债额为 截堵变量。 我们将上述情形统称为 受限因变量 (limited dependent variable),对应地就衍生出 「截断回归模型」 (truncated regression models) 和 「截堵回归模型」(censored regression models)。文献中,后者的别名还包括:「归并回归模型」和「审查回归模型」。
上述关于负债的例子属于 左侧受限,也可以将其推广到 右侧受限 (比如样本的负债额不能超过 100 万元) 或 双侧受限 (限定负债额在 0 到 100 万元之间) 的情形。
1.2 Tobit 模型设定
对于截堵数据,当左侧受限点为 0 ,无右侧受限点时,此模型就是所谓的「规范审查回归模型」,又称为 Tobit 模型 (Tobin,1958)。模型设定如下:
当潜变量
小于等于 0 时,被解释变量
等于 0; 当
大于 0 时,被解释变量
等于
本身,同时假设扰动项
服从均值为 0 ,方差为
正态分布。
1.3 Tobit 模型的估计
由于使用 OLS 对整个样本进行线性回归,其非线性扰动项将被纳入扰动项中,导致估计不一致,Tobit 提出用 MLE 对模型进行估计。
我们先对该混合分布的概率密度函数进行推导, 再写出其对数似然函数。
当
时,
当
时,
概率密度函数为:
其中
为示性函数,当下标所表示的条件正确时取值为 1,否则为 0。 **整个样本的对数似然函数为** :
通过使
最大化来求出
和
。
1.4 Tobit 模型的假设检验
Tobit 模型的假设检验是通过似然比检验 (Likelihood Ratio Test, LR) 来实现的,该检验的原假设为:
LR 统计量为:
其中,
是有约束的 ML 估计得到的似然函数值,
为无约束 ML 得到的似然函数值,如果
正确,则
不应该为很大。
1.5 边际效应及其推导过程
在 Probit 模型和 Logit 模型等非线性模型中,估计量
并非边际效应 (marginal effects),需要进行一定的转换。Tobit 模型也是一个非线性模型,估计量
无法直接作为被解释变量
(相当于截堵型被解释变量 ) 的边际效应, 但可以作为潜变量
的边际效应,因为
与潜变量
是线性关系。此外,
可以表示变量
(相当于截断型被解释变量) 的期望。 下面我们从期望和偏效应入手,推导
与三种变量
的边际效应的关系。
潜变量
的期望和边际效应
- 潜变量
关于
期望:
- 变量
对潜变量
偏效应 (partial effects)
截断型被解释变量
的期望和边际效应
- 被解释变量
关于
的期望 (又称为
其中
被称为
处之比。
- 变量
对变量
在
条件下的偏效应 (partial effects):
上式说明
对变量
在
条件下的偏效应不仅取决于
,而且受到
项的影响。
截堵型被解释变量
的期望和边际效应
- 被解释变量
关于
的期望 (又称为
- 变量
对
在
条件下的偏效应 (partial effects):
经过化简后可得:
对以上三种边际效应进行总结:
解释变量的偏效应函数形式
- 对潜变量
的偏效应:
- 对变量
(左截断 0) 偏效应:
- 对变量
(左截堵 0) 偏效应:
注:
连享会 最新专题 直播
2. Stata 范例
2.1 模型估计的实现
Stata 提供
tobit
命令对归并回归模型进行估计。 在命令窗口中输入help tobit
命令即可查看其完整帮助文件。tobit
命令的基本语法为:tobit depvar [indepvars] [if] [in] [weight],11[(#)] ul[(#)] [options]
其中
ll[(#)]
表示左归并,# 是左侧受限点的具体值 ;ul[(#)]
表示右归并,# 是右侧受限点的具体值。在实际运用中,可以只选择左归并或者右归并,也可以同时选择。下面以研究影响 非住院医疗费用 的因素为例,我们来对如何使用 Stata 做 Tobit 模型估计进行详细的介绍。
非住院医疗费用 (ambulatory expenditure,ambexp) 作为被解释变量,解释变量包括:年龄 (age), 是否为女性 (female), 教育年限 (educ) 以及 totchr, totchr 和 ins 等变量。
首先对被解释变量进行观察,
从上图可以发现,有超过 10% 的比例的被解释变量其数值为0, 这个时候我们考虑进行线性 Tobit 模型 (linear tobit model) 估计。具体的命令和估计结果如下
use mus16data.dta, clear global xlist age female educ blhisp totchr ins // 定义将所有的解释变量定义为全局变量 $xlist tobit ambexp $xlist, ll(0)
2.2 偏效应估计
在做完回归之后,使用
margins
命令分别进行三种偏边际效应的估计- 对潜变量
的偏效应
margins, dydx(*)
解释:以教育的为例,教育年限对在非住院医疗上的 预期花费 平均边际效应为 70.87。
- 对
偏效应
margins, dydx(*) predict(e(0,.))
解释:相当于截断模型的平均边际效应,在非住院医疗费用的实际支出大于 0 的样本中,教育年限对于非住院医疗费用的实际支出的平均边际效应为 33.34。
- 对
的偏效应
margins, dydx(*) predict(ystar(0,.))
解释:教育年限对于非住院医疗费用的实际支出的平均边际效应为 45.44。
3. 结论
在做实证研究时,虽然拥有全部的观测数据, 但是部分观测数据的被解释变量
都被压缩在 0 这一个点上。此时,无论是整个样本还是去掉
为 0 的样本,都无法通过 OLS 得到一致估计。因此需要使用 Tobit 模型来解决数据的截堵问题。此外,在对模型估计完以后,如果求核心变量对解释变量的偏效应,还需要经过一定的转化。
参考文献
- Davidson R, MacKinnon J G. Econometric theory and methods[M]. New York: Oxford University Press, 2004. [PDF]
- Wooldridge J M. Econometric analysis of cross section and panel data[M]. MIT press, 2010. [PDF]
- Wooldridge J M. Introductory econometrics: A modern approach[M]. Nelson Education, 2016. [PDF]
- Cameron A C, Trivedi P K. Microeconometrics Using Stata[J]. Stata Press books, 2010. [PDF]
相关课程
连享会-直播课 上线了! http://lianxh.duanshu.com 免费公开课:
- 直击面板数据模型 - 连玉君,时长:1 小时 40 分钟
- Stata 33 讲 - 连玉君, 每讲 15 分钟.
- 部分直播课 课程资料下载 (PPT,dofiles 等)
Note: 助教招聘信息请进入「课程主页」查看。
因果推断-内生性 专题 ⌚ 2020.11.12-15
主讲:王存同 (中央财经大学);司继春(上海对外经贸大学) 课程主页: https://gitee.com/arlionn/YG | 微信版http://qr32.cn/BlTL43 (二维码自动识别)
空间计量 专题 ⌚ 2020.12.10-13
主讲:杨海生 (中山大学);范巧 (兰州大学) 课程主页: https://gitee.com/arlionn/SP | 微信版https://gitee.com/arlionn/DSGE (二维码自动识别)
关于我们
- Stata 连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
- 连享会-主页 和 知乎专栏,300+ 推文,实证分析不再抓狂。
- 公众号推文分类:计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
- 潜变量
-
拓端tecdat|使用SAS,Stata,HLM,R,SPSS和Mplus的多层线性模型HLM
2020-02-15 20:42:04本文档用于比较六个不同统计软件程序(SAS,Stata,HLM,R,SPSS和Mplus)的两级分层线性模型的过程和输出。原文链接:http://tecdat.cn/?p=10809
原文出处:拓端数据部落公众号
简介
本文档用于比较六个不同统计软件程序(SAS,Stata,HLM,R,SPSS和Mplus)的两级多层(也称分层或层次)线性模型的过程和输出。
下面介绍的六个模型都是两级分层模型的变体,也称为多级模型,这是混合模型的特殊情况。此比较仅对完全嵌套的数据有效(不适用于交叉或其他设计的数据,可以使用混合模型进行分析)。尽管HLM软件的网站声明可以用于交叉设计,但这尚未得到确认。下面的SAS,Stata,R,SPSS和Mplus中使用的过程是其多层次或混合模型过程的一部分,并且可以扩展为非嵌套数据。
但是出于比较的目的,我们将仅研究完全嵌套的数据集。除了HLM(完全由GUI运行)以外,所有程序的下面都包含用于每个模型的代码/语法。我们提供了HLM和SPSS的屏幕截图。此外,每个模型均以分层格式和混合格式指定。尽管模型的这两个表达式是等效的,但一些研究领域更倾向于可视化层次结构,因为它更容易看到层次之间的分离,而另一些研究领域则更喜欢混合格式,在其中容易区分固定效果和随机效果。
模型注意事项将预测变量添加到本文档讨论的六个模型中时,我们选择以均值居中为中心,这意味着我们从每个受试者的得分中减去了该变量的总体均值。
正如Enders&Tofighi(2007)所详细讨论的那样,以总体平均值为中心,而不是以组平均值(每个组的平均值均以该组中受试者的得分为准)为中心,并不适合所有模型。 。使用哪种居中方法的选择应由所询问的具体研究问题决定。另一个考虑因素是这些程序使用的估计方法来产生参数估计,即最大似然(ML)或受限最大似然(REML)。每种都有自己的优点和缺点。ML更适合不平衡的数据,但是会产生偏差的结果。REML是无偏的,但是在将两个嵌套模型与似然比检验进行比较时,不能使用REML。
两种方法将产生相同的固定效应估计,但它们对随机效应的估计却有所不同(Albright&Marinova,2010)。正如我们将在下面讨论的模型中看到的那样,这两种方法产生的结果非常相似,并且不会极大地影响随机因素的p值。但是,重要的是要意识到,方法的选择会影响随机因素的估计,标准误差和p值,并且可能会影响宣布随机因素是否重要的决策。SAS,HLM,R和SPSS默认使用REML,而Stata和Mplus使用ML。在本文档中的Stata示例中,我们告诉Stata使用REML以便将输出与其他四个程序进行比较。
类内相关系数
我们还报告了每种模型的类内相关系数(ICC)ρ。ICC是结果变量中方差的比例,由分层模型的分组结构解释。它是根据组级别误差方差与总误差方差之比来计算的:
其中,是2级残差的方差,是1级残差的方差。换句话说,与总的无法解释的方差(方差之内和之间)相比,ICC报告了模型中任何可归因于分组变量的预测变量无法解释的变化量。
示例数据集
流行的数据集由来自不同班级的学生组成,并且由于每个学生都属于一个唯一的班级,因此它是一个嵌套设计。因变量是“流行”,它是一个自评的流行度,范围为0-10。预测指标包括学生级别的性别(二分法)和Extrav(连续的自我评价的外向得分),以及班级的Texp(多年的老师经验, 是连续的)。
仅截距模型(无条件模型)
无条件混合模型规范类似于单因素方差分析,其总体均值和类效应。但是,我们将其视为随机效应(均值为零的正态分布变量),而不是像方差分析中那样的固定因子效应。因此,我们将估计值解释为每个类别的平均数在总体平均人气得分附近的方差。
估算值是每个班级的“大众”平均值的平均值,而不是研究中所有学生的平均值。如果数据完全平衡(即每个班级的学生人数相同),则无条件模型的结果将与方差分析程序的结果相同。
SAS结果
需要“ covtest”选项来报告方差分量估计的标准误差。另外, 需要指定非结构化协方差矩阵类型,这是HLM和R默认情况下使用的类型,我们在这里使用它进行比较。SAS的输出等于Hox的书表2.1中的结果。我们可以得出结论,各类别之间的平均人气得分为5.078,并且各类别之间的差异(1.221)比不同类别之间的差异(0.702)多。当我们为该模型计算ICC时,将对此进行进一步讨论。
Stata结果
Stata的xtmixed命令需要因变量,后跟“ ||” 指定固定变量和随机变量之间的分隔。我们必须包括方差选项以查看输出中方差分量的估计值,以及reml选项以使用受限的最大似然估计。还要注意,Stata不会输出随机分量估计的p值,但是可以通过置信区间中是否包含零来确定有效值。这些结果与SAS的结果完全匹配
HLM结果
HLM报告方差组件的标准偏差,而不是标准误差。同样,对于随机效应,他 仅报告截距的卡方统计量和p值。这些结果与其他程序的结果相同。
R结果
R报告方差成分(例如HLM)的标准偏差,而lme4软件包报告固定效应的t统计量。
SPSS结果
屏幕截图:
需要在“随机”窗口中指定非结构化协方差类型。这些结果与其他程序和本文得出的结果相同。请注意,像SAS和Mplus一样,SPSS报告方差分量的标准误差,而HLM和R报告标准差。我们无法得出结论,哪个更适合报告,但是差异不会影响这些参数的p值。
因为这是一个无条件模型,所以我们不需要指定任何WITHIN或BETWEEN变量。下面列出了在MODEL语句中列出变量的标准。在以下各节中,我们将看到前三个示例:
1.%WITHIN%– 1级固定因子(非随机斜率)2.具有潜在斜率变量的%WITHIN%– 1级随机因子3.%BETWEEN%– 2级固定因子4.在任一个陈述–在学生水平上测得的变量,但具有1级和2级方差估计 。
上表显示了Mplus输出底部的“模型结果”部分的结果。Mplus确实会报告每个估计的p值,并且所有估计都与其他程序的p值匹配,但随机截距的方差估计相差约0.007。这种差异是由于Mplus使用ML估计这一事实造成的。尽管存在这种差异,但我们看不到任何变量的重要性发生变化。
汇总
总体而言,这六个程序对于仅截取模型产生了非常相似的结果(唯一的差异发生在随机效应的Mplus估计中)。唯一的区别是他们如何报告随机方差估计的精度。此模型的ICC等于:
这告诉我们,“流行”课程总变化的大约三分之一可以由每个学生所在的班级解释。
具有一个固定的Level-1因子的随机截距(非随机斜率)模型
该模型增加了一个学生级别的固定因子Extrav,即自我报告的外向得分。混合模型看起来像是基于带有协变量Extrav的类的ANCOVA,但请记住,我们仍然认为这是随机效应,而不是固定效应。因此, 估算值与ANCOVA程序所得出的估算值不同。
在此数据的实际应用中,Extrav应该具有固定的效果而不是随机的效果是没有意义的,因为学生外向性的水平应随班级而变化。但是,出于比较这四个程序的目的,我们仍然希望调查一个具有一个学生级别固定因子的案例。
SAS结果
现在,我们对Extrav的固定效果进行了估算。学生报告的外向得分每增加一个单位,他们的受欢迎度得分就会增加0.486。这些结果等于使用REML的其他程序的结果。
Stata结果
当我们向Stata中的模型添加预测变量时,我们添加了cov(un)选项,指定了非结构化协方差矩阵。我们将 Extraversion变量放在“ ||”之前 表示它是一个固定因子(具有非随机斜率)。这些结果与其他程序的结果相同。
HLM结果
R结果
SPSS结果
Mplus结果
现在,我们在VARIABLE语句的WITHIN选项中包括居中的Extrav变量。对于内部MODEL规范,我们必须使用“ ON”选项,以告知Mplus Extrav是固定的1级因子。 可以看到由于使用ML估计而不是REML,许多估计和估计的标准误差(以及t统计量)存在细微差异。由于方差的估计值与其他程序不同,因此Mplus报告的ICC与下面报告的有所不同。
汇总
对于此模型,前五个程序的结果完全相同,而Mplus的估算值相差很小。此模型的ICC大于无条件模型的ICC(正如预期的那样,因为我们通过添加固定因子来控制某些学生水平的变化):
使用一个学生水平的固定因子,“流行”总变化的几乎一半可以由该学生的班级和学生水平的固定因子“外向”解释
一个一级因子的随机截距和斜率模型
该模型包含Extrav的随机斜率,这意味着我们允许回归方程的斜率随类而变化。该模型比以前的模型更适合于所使用的变量,因为可以直观地假设外向因类而异。
SAS结果
随机Extrav斜率的估计值很重要(p值为0.003),因此我们可以说学生的外向性得分随班级的不同而变化。这些结果与其他程序的结果完全匹配,除了固定效果的t统计量存在一些细微差异。
Stata结果
HLM结果
SPSS结果
Mplus结果
这次我们在WITHIN语句中包括一个潜在的斜率变量,以将Extrav指定为随机因子,该变量告诉Mplus不要在数据集中寻找“ randoms1”,因为没有观察到它。 可以将此变量的输出解释为Extrav的随机斜率分量。我们必须这样做,因为Mplus是为结构方程模型设计的,其多级模型功能是其潜在潜伏分析程序的改编。
汇总
总体而言,前五个程序对该模型产生相同的结果,而Mplus再次由于ML估计而相差很小。此模型的ICC为:
通过将Extrav的影响从固定变为随机,由于我们正在考虑在学生级别上更多随机变化,因此ICC会略有增加。
两个1级因子的随机斜率模型
对于此模型,我们包括第二个学生级别的变量Sex,该变量也具有随机斜率。这意味着我们既要考虑学生的性别,又要考虑他们的外向得分,并且允许这两个因素的斜率随班级而变化。
SAS结果
在此输出中,我们可以看到性别确实对学生自我报告的知名度有重大影响(p值<0.001)。对Sex的固定估计意味着,在Extrav不变的情况下,女学生(Sex = 1)的普遍得分比男学生(基线组,Sex = 0)高1.244。
SAS不喜欢在该模型中,Sex的估计方差非常接近零,因此没有输出标准误差或p值。因为非常接近于零,所以我们可以得出结论,性别不会因类别而显着变化。
Stata结果
Stata在运行该模型时引用了一个错误:标准误差计算失败,这意味着未计算随机效应的标准误差。我们发现通过删除cov(un)选项,不会出现此错误。但是,该输出中的所有估计均与其他程序不同,因此我们选择使用非结构化协方差矩阵规范报告输出。我们不确定这是否是在Stata中运行此类模型的常见问题,但重要的是要意识到它会发生。
HLM结果
这些估计大致等于其他计划的结果,但随机性别影响的估计除外。由于这种影响非常接近于零,因此程序不会报告完全相同的值,但是所有结果都表明该值远非重要。
R结果
SPSS结果
Mplus结果
这次,我们在WITHIN语句中包括了两个潜在的斜率变量,以将Extrav和Sex指定为随机因子。我们可以将“ randoms1”的输出解释为Extrav的估计,将“ randoms2”的输出解释为Sex的估计。
Mplus针对此模型的输出所得出的估计值与先前模型中的其他程序相距甚远。我们看到,由于模型必须估计更多随机参数,因此估计程序(ML与REML)之间的差异变得更加明显。但是,Mplus同意其他程序的观点,即“性别”的随机方差部分以外的所有估计值都非常重要。
汇总
对于方差非常接近零的随机效应,六个程序以不同的方式处理估计值。SAS和Stata无法报告随机效应的标准误差或p值,而其他变量的估计值和标准误差均具有相当大的差异。Mplus结果也显示出比以前的模型更大的差异。此模型的ICC为:
同样,当我们在模型中添加另一个学生级别的效果(包括随机斜率)时,ICC略有增加。
一个2级因子和两个随机1级因子(无交互)
这是我们看到的第一个具有2级(班级)变量的模型:教师的多年经验(Texp),也是以均值为中心的。正如Enders和Tofighi(2007)指出的那样,级别2变量的唯一居中选项是均值居中。 无法对均值中心Texp进行分组,因为它已经在班级水平上进行了度量,这意味着“分组均值”将等于原始值。
在分层格式中, 可以看到它具有固定的斜率系数,并且对于每个类j都是唯一的。该模型在教师的经验和学生水平的变量之间没有任何相互作用。如果我们有理由相信Texp不会缓和Sex和Extrav对Popular的影响,那么我们将使用此模型,这意味着我们的学生水平变量的斜率是相同的,无论学生是否有新教师或新教师。一位拥有多年经验的人。
SAS结果
现在,我们在固定效果表中看到了Texp,估计值为0.089,p值很大。这意味着,在使学生的性别和性取向得分保持不变的情况下,每增加一年的教师经验,该学生的热门得分就会增加0.089。
同样,我们看到SAS无法处理随机性别效应的很小变化。因此,没有报告标准误差,z统计量或p值。
Stata结果
与以前的模型一样,我们收到一个错误,告诉我们Stata无法计算方差分量的标准误差。但是,这些估计值与其他程序的估计值大致相同。
HLM结果
这些估计值与其他程序的结果略有不同 。
R结果
SPSS结果
Mplus结果
对于Level-2因子,我们在BETWEEN语句中包括Ctexp。我们再次看到这些估计数与其他五个计划的输出有微小出入
汇总
使用REML的五个程序的输出实质上是相等的,仅相差几千个单位。与以前的模型一样,最大的差异出现在随机性别效应的方差估计中,因为它非常接近零。
请注意,此模型的ICC比以前的模型有所降低(= 0.542):
请记住,ICC是衡量 所在的班级可以解释多少无法解释的变化的方法。通过添加班级级别的预测变量,我们可以解释不同班级中较大比例的变化。因此,与没有任何2级预测变量的模型相比,该模型的随机截距存在较少的变异,因此ICC也较低。
具有相互作用的一个2级因子和两个随机1级因子
这是我们在班级变量Texp与学生级变量Sex和Extrav之间进行跨级交互的唯一模型。例如,如果我们想找出具有更多经验的教师是否比新教师对学生的外向性或性别与他们自我报告的知名度之间的关系有不同的影响,则可以使用此模型。换句话说,教师的经历是否适度了性格外向或性别对受欢迎程度的影响?
可以看到,在分层格式中,Texp在三个方程式的每个方程式内都有一个斜率系数。这与混合模型中的交互项有关,即通过外向的教师体验和按性别的教师体验。
SAS结果
在固定效果表中,有两个交互作用项,其中一个()远不重要,p值> 0.5。
在随机方差分量表中,我们看到外向随机斜率的估计值和性别随机斜率的估计值与零没有显着差异。这意味着没有证据表明这两个因素实际上在该模型中因类别而异。
Stata结果
Stata无法自动识别变量之间的交互项,因此我们必须为两个跨级别的交互手动创建变量(请参见上面的代码中的gen语句)。当我们使用带有非结构化协方差矩阵选项的xtmixed命令运行时,Stata给出了一个错误,指出Hessian不是负半定性,一致性错误,并且没有产生任何输出。
HLM结果
这些估计值大致等于其他程序的结果。
R结果
SPSS结果
对于SPSS 19而言,此模型实在太多了。对于具有非结构化协方差矩阵的更复杂的模型,其他程序可能会运行更有效的算法,因此优于SPSS。
Mplus结果
现在,我们在BETWEEN模型部分中包含两个ON语句,以指示与教师经验的跨层次交互。同样,我们发现与其他输出之间的细微差异,但Mplus同意Texp和Sex之间的固定交互作用不显着,而Extrav和Sex的随机组成也并不重要。
汇总
加上两个跨层交互项,Stata和SPSS无法使用非结构化协方差选项运行模型。这并不是说不应该将它们用于这种类型的分析,但是在向具有非结构化协方差矩阵的模型中添加更复杂的参数时,应谨慎使用。
与以前的模型一样,SAS,HLM和R的结果相对接近相等,而Mplus的估计略有不同。另外,ICC与模型5几乎完全相同,这意味着交互作用项不会改变按类别说明的差异比例:
总结
进行比较的目的是调查来自六个不同统计软件程序的嵌套两级层次模型的过程和结果可能存在的差异。总体而言,我们发现SAS,Stata(带有reml选项),HLM,R和SPSS产生的实际估计值之间没有太大差异。Mplus使用另一种估算方法ML,这导致其估算值与其他估算值有所不同。另外,重要的是要注意以下几点:
1.对于方差估计非常接近零的随机效应,SAS无法产生标准误差或p值。其他三个程序在估计这些参数方面的差异与其他效果相比更大。
2. Stata和SPSS无法处理最复杂的模型,该模型包含两个跨级别的交互项。建议使用其他程序来分析复杂模型并指定非结构化协方差矩阵。
此外,我们研究了每种模型中类内相关系数的值。通过添加1级预测因子,ICC有所增加。但是,当我们添加2级预测变量时,ICC会大大降低,甚至比无条件模型更低。这是由于在类级别添加了预测变量时,无法解释的Level-2变异(随机截距项)减少了。
尽管本文档可以用作为嵌套数据集运行各种两级分层模型的指南,但我们强烈建议读者仅在适合回答您的特定研究问题时使用这些模型。在确定固定因素和随机因素之间,以及对于中心平均值为1的总体平均值或组平均值时,必须谨慎使用。
参考文献
Enders, Craig K. and Tofighi, Davood (2007). “Centering Predictor Variables in Cross-Sectional Multilevel Models: A New Look at an Old Issue.” Psychological Methods, vol. 12, pg. 121-138.
Hox, Joop J. (2010). Multilevel Analysis (2nd ed.). New York: Routledge
最受欢迎的见解
2.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)
5.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析
6.使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM
-
【Stata基础】第二章 简单线性回归模型
2020-03-27 16:06:42文章目录一、练习二、线性回归模型 一、练习 列出价格大于6000的国产汽车的价格 给出1978年维修记录少于3次或产地为国外的汽车价格和重量的描述性统计信息 本数据中有多少辆国产汽车价格大于6000? 列出price wei ...一、练习
- 列出价格大于6000的国产汽车的价格
sysuse auto, clear list price if price > 6000 & foreign == 0
- 给出1978年维修记录少于3次或产地为国外的汽车价格和重量的描述性统计信息
sum price weight if (rep78 < 3 | foreign == 1)
- 本数据中有多少辆国产汽车价格大于6000?
count if price > 6000 & foreign == 0
- 列出 price wei len mpg turn foreign 变量的均值,标准差,中位数,最大值,最小值(对于这种要求,将一系列统计量以一张表格的形式展现出来更合适)
tabstat price wei len mpg turn foreign, stat(mean sd median max min)
- 按国产和非国产为标准分类对price wei 进行描述性统计
by foreign : sum price wei
- 将数据按照价格进行升序和降序排列
gsort price gsort -price
- 删除1978年维修记录缺失的数据
drop if rep78 == .
- 将字符型变量make转换成数值型变量cenmake
encode make, gen(cenmake)
- 将price 转化成字符型变量
tostring price, replace
- 将price 转化成数值型变量
destring price, replace
- 生成一个虚拟变量,其中价格大于6000为1,否则表示为0
gen vari = 1 if price > 6000 replace vari = 0 if price <= 6000 //这样比较麻烦,可以写成如下语句 gen dum_price = price > 6000
- 给出price wei len mpg 相关系数矩阵
pwcorr price wei len mpg
- 画出price wei len mpg 的相关系数矩阵散点图(graph是最需要掌握的画图命令)
graph matrix price wei len mpg
- 画出price频率直方图
histogram price, frequency
- 画出price和weight的散点图
scatter price weight
- 给price 和weight散点图加上price和wei的拟合线
twoway (scatter price weight) (lfit price weight)
二、线性回归模型
- 做一个简单的OLS回归,其中被解释变量为price,解释变量为weight foreign
1. 初步探索
cd D:\Stata_Projects //进入存储数据的工作目录 use "food.dta", clear //使用这个数据集
* 得到数据之后,一般先浏览,检查数据,并看变量的描述性统计信息 * 画出food_exp与income的散点图,并保存 twoway (scatter food_exp income) * 保存图片, 如果有了就替代 graph save food1, replace * 一步到位 twoway (scatter food_exp income), saving(food1, replace)
* 更丰富的画图功能, 使用help graph就可以查看到 twoway (scatter food_exp income) /// /* 基本语句,画什么的散点图 */ (lfit food_exp income), /// /*拟合线*/ ylabel(0(100)600) /// /* Y轴的刻度从0到600,间隔为100 */ xlabel(0(5)35) /// /* X轴刻度0-35,间隔5 */ title(食物消费数据) /// /* 图片名字 */ xtitle(每周收入) /// ytitle(每周家庭食物花费) * 还有更多的画图内容可以学习,图片的保存等也可以直接点击图片操作
2. 简单OLS回归(最小二乘法)
* food_ex = coef * income + ... 对income进行回归 regress food_exp income
* 计算y的拟合值,这里的y是food_exp'; xb是计算线性拟合值 predict yhat, xb //calculate linear prediction * 计算残差项的拟合值 predict ehat, residuals browse
* 做预测,预测其他的收入情况在该模型中的食物支出 * 例如,预测家庭每周收入2000$的家庭,每周食物支出 set obs 41 //本数据有40个观测值,我们多加一个观测值,但是没有定义具体观测值内容,它目前是缺失 replace income = 20 in 41 //将收入第41个观测值替换成20百 predict yhat1, xb list yhat1 in 41
* 保存dta文件 * 直接点save菜单,或者输入下面命令 save "newfood.dta", replace
三、二次式模型
y = β 1 + β 2 ∗ x 2 + e y=\beta _1+ \beta_2*x^2 + e y=β1+β2∗x2+e
* 二次式模型 use "br.dta",clear sum //sum, detail
desc
gen sqft2 =sqft^2 //生成变量 regress price sqft2 //二次模型 predict priceq, xb br price sqft sqft2 priceq
* 画出拟合曲线 twoway (scatter price sqft) /// /* 基本的点 */ (lfit price sqft, /// /* 拟合线 */ sort lwidth(medthick)) /*设定线的厚度 */ graph save br_quad1, replace //保存图片 twoway (scatter price sqft) /// /* 基本的点 */ (line price sqft, /// /* 折线 */ sort lwidth(medthick)) /*设定线的厚度 */ graph save br_quad2, replace //保存图片 twoway (scatter price sqft) /// /* 基本的点 */ (line priceq sqft, /// /* 折线 */ sort lwidth(medthick)) /*设定线的厚度 */ graph save br_quad3, replace //保存图片 graph combine "br_quad1" "br_quad2" "br_quad3" * 比较三个图片区别
四、对数线性模型
l n y = β 1 + β 2 x + e lny=\beta_1 + \beta_2x+e lny=β1+β2x+e
histogram price
graph save price, replace gen lnprice=ln(price) //price 存在一些值特别大,尾巴很长,为了把数据平滑一点,取对数 histogram lnprice,percent //更接近正态分布
reg lnprice sqft //对数线性模型回归 predict lpricef, xb //得到对数形式的拟合值
* 画出拟合曲线 generate pricef = exp(lpricef) twoway (scatter price sqft) (line pricef sqft, sort lwidth(medthick)) graph save br_loglin, replace
五、指示变量回归
首先进一步学习创建虚拟变量/factor variables/指示变量:
-
方法1. 设定是否满足某个条件来生成,条件为真,取值 1 1 1,否则取 0 0 0:
gen bh = (bedrooms>4) // 卧室数量大于四为大房子,取值为1
-
方法2. t a b u l a t e tabulate tabulate 创建指示变量。让每个可能的 b a t h s baths baths 取值都设定一个独立的虚拟变量:
tabulate region, gen(reg) // Create indicator variables for region, called reg1, reg2, ... tabulate baths, gen(bath) // 为每个baths取值计数,gen(bath)就会产生5个指示变量bath1-5
六、练习
use "utown.dta", clear describe //拿到数据的规定动作,了解数据内容和描述性统计信息 sum
* 按照房子是否位于大学附近进行分类画图 histogram price if utown==0, width(12) start(130) percent /// xtitle(House prices ($1000) in Golden Oaks) /// xlabel(130(24)350) legend(off) graph save utown_0, replace
histogram price if utown==1, width(12) start(130) percent /// xtitle(House prices ($1000) in University Town) /// xlabel(130(24)350) legend(off) graph save utown_1, replace graph combine "utown_0" "utown_1", col(1) iscale(1) *把两张图放在一张图上,col(#)分成几列显示,iscale()文本和标记的大小 graph save combined ,replace
histogram
每一个语句的意思需要好好理解,例如:histogram price if utown==0
:意思是做房屋不位于大学附近的房子的价格的直方图;width(12)
是柱子宽度为 12 12 12 个刻度;start(130)
价格从 130 130 130 开始画(price最小值为 134 134 134,这样x轴不会从 0 0 0 开始)percent
表示纵轴为占比;xlabel
表示 x x x 轴刻度从 130 130 130 到 350 350 350,单位刻度(即间隔刻度)为 25 25 25;legend(off)
表示不显示图例
label define utownlabel 0 "Golden Oaks" 1 "University Town" //定义utown值的label label value utown utownlabel //将utown的label也按照值的label定义
label variable varname
给变量定标签label define labelname
给变量的值定义标签label value varlist(一列变量名) labelname
将取值的标签定义给变量
* by(utown, cols(1)) 按照utown分组画图 histogram price, by(utown, cols(2)) start(130) percent xtitle(House prices ($1000)) xlabel(130(24)350) legend(off) graph save combined2, replace
- 检验独立社区房价的描述性统计信息
sum price if utown == 0
sum price if utown == 1
- 复习,用
bysort
分组统计
bysort utown:sum price
- 另一种写法
by utown,sort:sum price
b y by by and b y s o r t bysort bysort are really the same command; b y s o r t bysort bysort is just b y by by with the s o r t sort sort option.
- 列出价格大于6000的国产汽车的价格
-
python如何做混合模型面板回归_面板Tobit模型探究(二):模型讲解以及stata实现...
2020-10-21 22:47:11第一部分 模型发展历史Tobit模型从最初的结构式...本文结合一些经典文献,介绍了不同类型的Tobit模型的结构形式、估计方法、估计结果的性质等,为做实证分析的研究者们提供一个分析此类问题的基本方法。 关键词:Tob... -
stata命令汇总_Stata常用命令应知应会(500条)
2020-11-20 18:41:42Stata命令对比汇总Stata:你不可不知的25个导入导出数据命令汇总(一)一文读懂stata模型汇总入门命令及108个常用命令 *======================================== * 高级计量经济学及stata应用 *==... -
Stata中use命令解析
2022-01-07 15:03:23今天看论文中使用到Heckman两阶段回归方法,于是在CSDN中找了一些关于这个模型的介绍。可推荐博文学习笔记 | Heckman两阶段法介绍_Claire_chen_jia的博客-CSDN博客_heckman两阶段。顺着博文讲解,找到了相关命令文件... -
普林斯顿Stata教程 - Stata编程
2018-06-04 11:47:17原文链接:Princeton Stata 在线课程 (Princeton University - Stata Tutorial ) Stata 现场培训报名中 专题链接 普林斯顿Stata教程 - Stata做图 普林斯顿Stata教程 - Stata数据管理 普林斯顿Stata... -
stata 应用回归分析
2020-12-12 05:04:391. stata软件概述 时间:2020-2-25 窗口介绍 do-flie editor data editor(可编辑) data browser(不可编辑) 功能按钮 graphics statistics 功能介绍 数据处理和绘图 统计分析和检验 方差分析 多变量方差... -
Stata命令学习
2021-07-01 17:35:21目录editdescriberegresspredictrvfplotgraphconstraintnlxbnlcom edit edit describe describe regress regress depvar [indepvar][if][in][weight][options] ...in:范围语句 weight:权重语句 ...模型不包含 -
数学建模 --- 预测性与解释性回归: 多元线性回归用Stata分析
2020-08-16 19:59:181. 多元线性回归(解释性回归与预测性回归) 2. Stata对数据描述性统计 3. 对横截面数据进行Stata回归 4. Stata标准化回归 4. 回归前需要进行扰动项的检测 -
数学建模笔记(六)利用Stata进行多元回归分析知识点笔记及代码操作
2021-02-28 14:23:26(用Excel、Matlab、Stata等软件) 内生性的研究: 如果满足误差项μ和所有自变量x均不相关,则称该回归模型具有外生性; 如果相关,则存在内生性,内生性会导致回归系数估计的不准确——不满足无偏性和一致性。 即... -
Stata:因子变量全攻略-双向固定效应-超越对数生产函数
2018-07-06 09:27:14 作者:连玉君 | 杨柳 ( 知乎 | 简书 | 码云 ) 注:该文已发表在《郑州航空工业管理学院学报》, 2018, Vol.... ……Stata 现场培训报名中…… 事倍功半 vs. 事半功倍 当... -
Stata进行logistic回归绘制列线图并做内部验证
2021-02-02 00:47:57我们已经讲过怎么使用R语言进行logistic回归并做内部验证,今天来讲讲怎么使用Stata来做logistic回归并做内部验证,Stata较R来说的优势是操作相对简单,可以界面操作,比SPSS功能又强大一些,废话不多说,进入正题。... -
手把手教你用stata完成实证分析
2020-04-11 13:55:22从一名stata小白到可以利用它完成大部分的实证研究工作,也进行了很多探索,虽然直到现在也不敢说自己对stata有多精通,但还是有一些经验可以写下来分享给完全不会stata,但又需要用到stata的萌新们。 【1】安装软件... -
stata基础使用教程(操作版)
2022-03-16 21:29:20stata窗口操作、数据处理流程、常用命令 -
stata中面板数据异方差的处理_stata面板异方差检验
2021-04-23 21:58:41stata中面板数据异方差的处理一、前言计算和互联网技术的广泛运用极大地提高了数据的可获得性,使大量的数据得以收集、保存和整理。与此同时,计量经济学在整个经济学体系中的地位日益提升。在顶级经济学杂志的论文... -
回归分析(stata实例详细解答过程)
2021-09-02 11:33:47现有某电商平台846条关于婴幼儿奶粉的销售信息,每条信息由11个指 标...我们运用stata软件解决此问题。 第一问 在第一问中要求我们,以评价量为因变量,分析其它变量和评价量之间的关系。 我们在这里用回归分析,... -
statsby: 不用循环语句的循环
2019-08-25 15:24:352019金秋十月-空间计量专题班,杨海生主讲,成都 ...Stata 连享会: 知乎 | 简书...Note:本文根据连玉君老师的 Stata 初级班讲义 A1_intro.do 整理而得。 本篇推文介绍命令 statsby,该命令被广泛用于分... -
R中怎么做加权最小二乘_Stata+R:分位数回归一文读懂
2020-11-21 06:31:47连享会·推文专辑:Stata资源 | 数据处理 | Stata绘图 | Stata程序结果输出 | 回归分析 | 时间序列 | 面板数据 | 离散数据交乘调节 | DID | RDD | 因果推断 | SFA-TFP-DEA文本分析+爬虫 | 空间计量 | 学术论文 | ... -
2021暑假Stata初高级特训班 2021年7月14-20日
2021-05-24 17:09:002021暑假Stata研讨班(2021年7月14-20日) 课程概要 培训时间:2021年7月14-16, 18-20日 (初级3天, 高级3天) 培训方式:远程直播,提供录播回放 ...线性回归模型、工具变量估计方法(IV)、面板数据模型(线性、非 -
预备通知 | Python数据挖掘与Stata应用能力提升与实证前沿国庆工作坊
2020-09-05 09:00:00培训大纲开班时间10月1-2日(模块Ⅰ:Python数据挖掘)10月3-8日(模块Ⅱ:Stata 应用能力提升与实证前沿)模块I:邓旭东:python 语法入门、数... -
Stata:时间序列中的格兰杰因果检验
2020-11-13 15:31:41进行滞后回归 第三步,开始回归,对于滞后二阶回归: #二阶滞后回归① reg y l.y l.x l2.y l2.x (if 条件1) #二阶滞后回归② var y x,lag(n) 上面两种方法均可,其中①中可以加条件筛选:方法②不能加if判断语句,... -
《Stata统计分析与应用(第2版)》一1.2 Stata窗口及基本操作
2017-07-03 15:26:00本节书摘来自华章出版社《Stata统计分析与应用(第2版)》一书中的第1章,第1.2节,作者 周广肃,更多章节内容可以访问云栖社区“华章计算机”公众号查看 1.2 Stata窗口及基本操作 本节将介绍Stata的窗口组成和基本... -
关于GLMM(generalized linear mixed model)广义线性混合模型
2021-10-08 16:45:53GLMM(generalized linear mixed model)广义线性混合模型中的关键是“mixed”,“mixed”是区别于一般的GLM(generalized linear model)的显著体现。 一般的GLM指的就是要求因变量符合“指数分布族”即可。关于GLM... -
Stata中因子变量的使用方法
2018-06-26 18:07:35作者:连玉君 | 杨柳 ( 知乎 | 简书 | 码云 ) 注:该文已发表在《郑州航空工业管理学院学报》, 2018, Vol. 36, No.2, pp.90-103.... ……Stata 现场培训报名中…… 事倍功半 vs. 事半功倍 当需... -
stata psm命令_伍德里奇先生的问题:PSM的配对小蝌蚪找妈妈
2020-12-03 17:29:11代码如下: use "Peer_Woold_balance", clear sort id year //排序 by id: gen n = _n //按id生成序列,即1,2,3分别代表不同的年份 local N = n[_N] //生成暂元,记录固定的N=3 gen x_nb1 = x[(nb1 - 1) * `N' + n... -
Stata:编写ado文件自动化执行常见任务
2018-10-23 10:34:06为什么我们想要 **if** 限定语句?4. 创建一个新命令:ado 文档4.1 编写 ado 文件4.2 ado 文件注意事项5. 典型流程归纳6. 添加更多的选项关于我们联系我们 谢作翰 [译] | (知乎 | 简书 | 码云) Stata连享会 ... -
Stata 可重复性报告系列A:动态文档命令 (dyn*)
2019-09-03 23:56:39Stata 连享会:(知乎 | 简书 | 码云 | CSDN | 公众号 StataChina) Stata连享会 计量专题 || 精品课程 || 简书推文 || 公众号合集 文章目录引言连享会计量方法专题……1. 准备工作:Markdown 和 Stata ... -
同比(环比)在分析模型中的实现
2020-12-24 11:10:26本帖最后由 Noah 于 2015-8-20 09:22 编辑同比(环比)在分析模型中的实现1) 案例说明本文整理用友医疗BQ应用开发过程中提出的部分关键问题及其解决方案。2)实际问题在数据统计分析项目中,经常会有指标需要做同比、...