Stata常用命令速查

发布时间:2022-06-10 阅读 1354

连享会 · 推文导航 | www.lianxh.cn

连享会 · 2022暑期班

作者:冀承 (中国人民大学)
邮箱jicheng@ruc.edu.cn

编者按:本文主要摘译自下文,特此致谢!
Source:Simons, Kenneth L., 2019, Useful Stata Commands. -PDF-


目录


1. 写在前面

在学习 Stata 时,我们经常会去复刻一篇实证论文的 do 文档。虽然 “干中学” 的效率相对较高,但是这样学到的 Stata 命令和计量方法并不系统,无法对 Stata 有更为全面的了解。本篇推文旨在介绍数据查看、数据处理、生成变量以及多种计量模型的 Stata 命令,以方便大家在使用时快速查询。

2. 数据查看、生成、计算与绘图

2.1 仅查看数据

  • browse varlist:打开数据查看器,在不更改数据的情况下查看数据;
  • list varlist:将数据进行列表,如果多于一个屏幕,就按空格键进入下一个屏幕,或按 q 键退出列表。

2.2 描述性统计

  • summarize varlist:查看列出变量的概括性信息;
  • summarize varlist, detail:查看列出变量的详细概括性信息;
  • by byvars: summarize varlist:按照分组对变量进行概括;
  • codebook varlist:显示变量数值分布情况;
  • inspect varlist:相较于 codebook 命令,该命令可以进一步绘制出直方图。

2.3 生成随机数

  • gen r1 = runiform():生成随机数,均匀分布于 0 和 1 之间;
  • gen r2 = rnormal():生成随机数,具有标准正态分布;
  • gen r3 = rnormal(5,2):生成随机数,使用平均值 5 和标准差 2 的正态分布;
  • gen r4 = rchi2(27):生成随机数,具有 27 个自由度的卡方分布;
  • gen r5 = rt(27):生成随机数,具有 27 个自由度的 t 分布;
  • set seed 1234:生成随机数的另一种方法,加入 1234 确保随后将产生一个可重复的随机数序列。

2.4 计算相关性和协方差

下面的命令可以计算任何变量列表之间的相关性和协方差。注意,如果列出的任何变量在某些行中有缺失值,那么这些行在所有计算中都会被忽略。

  • correlate var1 var2 …:计算变量之间的相关性;
  • correlate var1 var2 …, covariance:计算变量间的协方差。

有时在某些行中存在缺失值,但你希望尽可能使用所有可用的数据。例如,如果有关于健康、营养和收入的数据,而收入数据在你的观察中缺失了 90%。那么可以利用所有的观察数据计算出健康与营养的相关性,在计算健康与收入的关系以及营养与收入的关系时只有 10% 的观察数据有收入数据,被称为 “成对” 关联,可以通过以下方式得到:

  • pwcorr var1 var2 …:计算变量之间的成对样本相关性。

2.5 计算置信区间与进行假设检验

  • ci means varname:计算变量均值的置信区间,使用渐近正态分布;
  • ci means varname, level(#):置信区间为 #%,例如,使用 99 表示 99% 的置信区间;
  • by female: ci means workhours:分别计算男性和女性工作时间均值的置信区间;
  • ttest varname1 == varname2:检验变量的均值等于另一个变量的均值的假设;
  • ttest varname, by(groupvar):检验变量的均值在所有组中相同的假设,groupvar 可能是 year,即检验一个变量的均值在每一年的数据中是否相同。

2.6 绘制表格、直方图、散点图

  • tabulate varname:绘制一个表格,列出变量的不同值的观察数;
  • tabulate var1 var2:绘制一个二维表,列出每一行和每列中的观察数;
  • histogram varname:绘制指定变量的直方图;
  • scatter yvar xvar:绘制散点图,因变量为纵轴,解释变量为横轴;
  • scatter yvar1 yvar2 … xvar:绘制多个变量的散点图,在纵轴上绘制多个因变量,在横轴上绘制一个解释变量。

3. 数据处理技巧

在开展数据处理工作时,建议在一个或多个 do 文档中组织所有的工作。首先需要在 do 文档中读取和导入数据,然后执行其他操作,如生成变量、合并数据集、进行回归操作等,最后,do 文档应该单独保存在单独的文件中,方便下次直接点击和修改。在实际的实证计量论文写作中,绝大部分的时间往往花在准备数据进行分析上,下面给出的许多命令对于数据处理非常有用。

3.1 合并数据集

假设有两个数据集,通常具有或部分具有相同的变量,如果将它们合并到一个数据集,可以使用 append 命令添加行 (纵向合并)。

  • append using filename:将另一个数据集追加到现有数据集的末尾,必须首先将其他数据集保存为 Stata 文件。使用这个命令后,具有相同名称的变量将被放置在同一列。

假设有两个数据集,master 数据集是现在正在使用的数据集,并且希望添加来自 using 数据集的变量。目标是使用识别码变量 (一个或多个变量) 来确定在两个文件中哪些列进行匹配,并添加额外的数据列。Stata 的 merge 命令可以做到横向合并这一点。

识别码变量指定什么应该匹配?什么不应该匹配?例如,有一个名为 personID 的变量,为每个人提供一个惟一的数字,personID 的匹配值告诉 using 数据集中的哪一列与 master 数据集中的相应列对应。可以组合使用任意数量的变量来创建识别码,并且它们必须与 using 数据集中的列相匹配,以对应于 master 数据集中的一列。

如果识别码在每个数据集中是唯一的,那么存在一对一匹配,即 1:1。如果识别码在 master 数据集中不是唯一的,但在 using 数据集中是唯一的,那么就存在一个多对一匹配,即 m:1。如果使用的数据集没有唯一的标识码,那么就会有一对多或多对多匹配,即 1:m 或 m:m。

只读取选定的变量,如果您只想从 using 数据集中读入一些变量,请使用 keep using(varlist) 选项。

  • merge 1:1 personID using filename:匹配来自 using 数据集的观察值,将 personID 作为识别码变量;
  • merge 1:1 country year month using filename:匹配来自 using 数据集的观察值,将国家、年份和月份联合作为识别码变量;
  • merge 1:1 personID using filename, keep(match master):匹配来自 using 数据集的观察值,将 personID 作为识别码变量,并且只保留与之匹配或在 master 数据集中的观察值,忽略仅在 using 数据集中的观察结果;
  • merge 1:1 personID using filename, assert(match):匹配来自 using 数据集的观察值,将 personID 作为识别码变量,并断言每个数据集中的所有观察结果都匹配 (如果不匹配,则停止并显示错误消息);
  • merge m:1 countryID using filename:master 数据集可能包含具有相同 countryID 的多个观察值,匹配来自 using 数据集的观察值,将 countryID 作为识别码变量,将其指定为多对一匹配。
  • merge 1:m countryID using filename:using 数据集可能包含具有相同 countryID 的多个观察值,匹配来自 using 数据集的观察值,使用 countryID 作为识别代码变量,将其指定为一对多匹配。

merge 命令将显示 merge = 1、2 和 3 的观察数。在合并两个数据集之后,需要检查 _merge 变量的值,以避免错误。

3.2 字符串和数字之间的转换

在转换之前,先使用 description 命令查看哪些变量是字符串,哪些是数字。如果有包含数字的字符串变量,将它们转换为数字的一个简单方法是使用 destring 命令,tostring 命令的方向正好相反。例如,如果你有一个名为 yearmonthday 的字符串变量,并且字符串实际上包含数字,可以将它们转换为数字,具体命令如下所示:

  • destring year month day, replace:如果字符串确实包含数字,则将名为年、月和日的字符串变量转换为数字变量;
  • tostring year month day, replace:将名为年、月和日的数字变量转换为字符串变量。

当将字符串变量转换为数字变量时,很可能会收到错误消息,因为并非所有的字符串都是数字。例如,如果一个字符串是 "2,345,678",那么 Stata 将不会识别它是一个数字,因为有逗号。类似地,像 "see note" 或 ">1000" 这样的值也不能转换为数字。如果发生这种情况,Stata 将默认拒绝将字符串值转换为数字。如果想要这样的非数字字符串被转换为缺失值,可以使用 destring 命令的 force 选项,例如:

  • destring year month day, replace force:将名为年、月和日的字符串变量转换为数字变量。如果任何字符串值看起来不是数字,则将它们转换为缺失值。

3.3 创建标签

如果字符串变量包含数字以外的东西,比如 “男性” 和 “女性”,或者人的名字,该怎么办?可以将这些值转换为分类变量,同时希望记录哪些数字对应于哪些字符串。数字和字符串之间的关联是通过 “值标签” 来实现的。Stata 的encode 命令可以把字符串变量转换为带标签的分类变量,decode 命令正好相反。例如:

  • encode personName, generate(personNameN)
  • decode **personName**, generate(personNameS)

如果想为变量创建值标签,例如假设一个名为 femaleLab 的变量中女性为 1 男性为 0。那么可以这样标记它:

  • label define femaleLab 0 "male" 1 "female"

如果你不知道一个变量的标签名,使用 describe 命令,它会告诉你每个变量的标签名,可以用这个命令列出标签的所有值:

  • label list labelname:列出了名为 labelname 的所有值及其标签。

4. OLS、GLS 以及 WLS 回归

4.1 OLS 回归

  • regress yvar xvarlist:将因变量对自变量进行回归;
  • regress yvar xvarlist, vce(robust):在基本 OLS 回归的基础上,使用 vce(robust) 选项可以计算稳健标准误;
  • regress yvar xvarlist, vce(robust) level(#):在稳健标准误的基础上,将置信区间更改为 #%,例如 99% 置信区间可将括号内的 # 替换为 99。

4.2 生成类别虚拟变量和交互变量

如果有一个名为 usstate 的变量,编号为 1 到 50,用于表示美国的 50 个州,并且希望包含 49 个 0-1 虚拟变量,这些虚拟变量允许第一个州 (比如阿拉巴马州) 与其他州之间存在差异,可以简单地在 OLS 的回归中包含 i.usstate

类似地,如果想要在两个变量之间创建交互项,分别是 age (一个连续变量) 和 male (一个 0-1 虚拟变量),在回归中纳入 c.age#i.male 即产生了交互作用。c.age 前面表示它是一个连续变量,而 i.male 前面表示该变量为 0-1 虚拟变量。使用 ## 可添加完整的交互,例如 c.age##i.male 意味着年龄、性别、年龄与性别的交互。

  • reg wage i.age i.male c.age#i.male, vce(robust):用年龄、性别以及年龄和性别的交互项对工资进行回归;
  • reg wage c.age##i.male, vce(robust):与上式含义相同,但是用的是两个 #,既包含了变量自身也包含了交互项;
  • reg wage c.age##i.male c.age#c.age, vce(robust):在上式的基础上,用 # 创建平方项,增加了年龄的平方进行回归。

4.3 广义最小二乘法

在进行 GLS 估计前,需要检验一下数据是否存在异方差,可以利用下述命令:

  • estat imtest, white:进行怀特检验,如果检验结果显示 p 值小于一定的值,就可以拒绝同方差的原假设,认为数据存在异方差;
  • estat hettest, iid:进行 BP 检验,默认设置为使用拟合值 yhat。如果检验结果显示 p 值小于一定的值,就可以拒绝同方差的原假设,认为数据存在异方差;
  • estat hettest, rhs iid:使用方程右边的解释变量进行 BP 检验,而不是 yhat;
  • estat hettest [varlist], rhs iid:指定使用某些解释变量进行 BP 检验。

如果数据存在异方差,就可以使用 GLS 进行处理,变换原回归模型,使变换后模型的随机误差项消除异方差,进而用 OLS 估计回归参数。

4.4 加权最小二乘法

WLS 是 GLS 的特例,一般 OLS 将时间序列中的各项数据的重要性同等看待,而事实上时间序列各项数据对未来的影响作用是不同的。一般来说,近期数据比起远期数据对未来的影响更大。因此比较合理的方法就是使用加权的方法,对近期数据赋以较大的权数,对远期数据赋以较小的权数。

  • vwls yvar xvarlist, sd(sdvar):如果在变量 sdvar 中存储了每个观测值的标准误的合理估计值,然后可按该命令执行 WLS。

5. 输出回归结果表格

Stata 提供了丰富的命令帮助输出回归结果的表格,既可以使用内置命令,也可以使用第三方的附加命令。

5.1 使用内置命令输出表格

regress y x1, vce(robust
estimates store model1
regress y x1 x2, vce(robust)
estimates store model
regress y x3 x4 x5, vce(robust)
estimates store model3
estimates table model1 model2 model3

前六行是三个 OLS 回归的完整命令,对回归结果进行了储存。最后一行命令创建了一个由三个回归得出的系数估计值表,可以用各种方法改进这张表,以下是一些建议:

  • estimates table model1 model2 model3, sese 选项可以为输出的回归表格中包含标准误;
  • estimates table model1 model2 model3, starstar 选项可以为输出的回归表格中的显著性水平添加星号,然而该命令不允许将 starse 选项组合起来。如果希望将二者进行组合,可以使用附加命令;
  • estimates table model1 model2 model3, b(%7.2f) se(%7.2f) stfmt(%7.4g) stats(N r2 r2_a):发表论文中表格的形式都相对复杂,可以在上面的基础上添加其他选项如观测数 N、R 方以及调整的 R 方。其中系数和标准误差使用 %7.2f 格式显示,%7.2f 告诉 Stata 使用至少 7 个字符的固定宽度来显示数字,以及小数点后保留 2 位。

5.2 使用附加命令输出表格

如果你需要找到可用的附加命令,可以使用 Stata 的帮助菜单和搜索选择来搜索互联网上的资源,也可以尝试使用 ssc 命令。输出回归结果表格常用的附加命令是 eststoestoutesttabestout 等,通过命令语句 ssc install estout, replace 就可以永久安装上述输出表格的相关命令。

  • eststo: reg y x1 x2, vce(robust):进行 OLS 回归并存储结果,回归结果将以 est1 、est2 等名称存储;
  • eststo modelname: reg y x1 x2, vce(robust):与上个命令基本相同,但可以选择了存储结果时使用的名称,而不是仅仅使用 est1 等,如本例中使用 myreg1 作为输出结果的名称;
  • eststo: quietly reg y x1 x2 x3, vce(robust):与上个命令基本相同,但使用 quietly 告诉 Stata 不用显示输出任何结果;
  • esttab est1 est2, b(a3) se(a3) star(* 0.1 ** 0.05 *** 0.01) r2(3) ar2(3) scalars(F) nogaps:使用 esttab 命令可以输出接近发表质量的表格。本例中 b(a3)se(a3) 中的 a3 确保每个估计回归系数和每个标准误至少有 3 位有效数字,scalars(F) 显模型的 F 统计量,star 后可以设置不同显著性水平的星号,nogaps 可以删除行与行之间的空格,有助于复制表格到 word 中;
  • esttab est1 est2 using results, rtf:将存储的名为 est1 和 est2 表格保存到名为 results 的 word 文件中,需要在逗号之后添加 rtf 选项;
  • estadd scalar xdiff = r(estimate): 使用 estadd 可以保存额外的命令,本例中将估计的差异与回归结果一起存储,保存到名为 xdiff 的标量中。

需要注意的是使用 eststo 命令存储的结果在退出 Stata 之前一直存在,如果要删除之前存储的结果,请执行以下操作:

  • eststo clear:清除所有先前存储的结果,以避免混淆。

6. 面板数据模型

6.1 固定效应—使用虚拟变量

在面板数据模型中,可以创建虚拟变量,将它们包括为回归变量。对于 n 个个体,应该加上 (n-1) 个虚拟变量。有一种简单的方法可以做到这一点,只需要在变量前加上 i.,虚拟变量就会在回归过程中自动生成。例如:

  • regress yvar xvars i.sex i.age i.city i.year, vce(robust):将因变量回归到解释变量和性别、年龄、城市和年份的虚拟变量上;
  • regress yvar xvars i.entity i.time, vce(robust):将因变量回归到解释变量和个体、时间的虚拟变量上,i.entityi.time 表示创建个体固定效应和时间固定效应。

此外,也可以使用面板数据专属的命令 xtreg 来进行回归估计,需要提前使用 xtset 命令将数据声明为面板数据。

  • xtset idvar timevar:告诉 Stata 使用的是面板数据,其中 idvar 是样本中每个个体的唯一 ID,timevar 是时间变量;
  • xtreg yvar xvarlist, fe:添加 fe 选项进行固定效应回归,不再需要添加个体的虚拟变量了,使用传统非稳健的标准误;
  • xtreg yvar xvarlist, fe vce(cluster clustervar):个体定效应再次回归,使用聚类稳健标准误。并聚类到指定的变量 clustervar

6.2 固定效应—去均值

Stata 的 areg 命令提供了在 OLS 回归中包含固定效应的简单方法,允许对一个变量进行去均值处理,例如个体或年份,但不能同时对两个变量进行去均值处理。如果你想要个体固定效应和时间固定效应,需要使用虚拟变量输入其中一个。

  • areg yvar xvarlist, absorb(byvar) vce(robust):将因变量 yvar 回归到自变量 xvarlist 和需要区分的虚拟变量上,这些虚拟变量由 absorb 选项中的 byvar 变量表示。

6.3 随机效应和豪斯曼检验

  • xtreg yvar xvarlist, re vce(robust):添加 re 选项进行随机效应回归,使用稳健标准误;
  • estimates store random:在运行完随机效应模型后存储估计结果;
  • hausman fixed random:使用 hausman 命令检验是否采用随机效应模型代替固定效应模型。如果结果被拒绝,表明系数估计是不一致的,固定效应模型不能使用。

7. 受限因变量模型

7.1 Probit 和 Logit 模型

  • probit yvar xvarlist, vce(robust):进行 Probit 回归;
  • logit yvar xvarlist, vce(robust):进行 Logit 回归。

当使用 Probit 或 Logit 模型,或任何其他非线性模型时,必须谨慎地解释估计的系数。首先,不能只看一个系数估计然后就说:当 X 增大 1 时,Y 等于 1 的概率增大。要做出这样的声明,必须计算回归量特定值的拟合概率。其次,要根据 X 的系数估计的符号是正还是负来判断概率随 X 的增加或减少,—如果变量 X 在模型中有交互项,这种说法可能是错误的。

因此,重要的是要有方法计算样本中不同可能类型的个体的预测概率,并比较当回归变量的值变化时,这些预测概率如何变化。下面这个命令可以帮助你得到样本中每个独立个体的预测概率,给定该个体的回归量:

  • predict probofOutcome, pr:对每个观测分别计算因变量为 1 的预测概率;
  • margins, at(x1=1):计算样本中所有个体 y=1 的平均概率,假设所有个体都有 x1=1 的可能性;
  • margins, at(x1=(0 1)):计算样本中所有个体 y=1 的平均概率,对于两种不同的假设情况:如果他们都有 x1=0 或者他们都有 x1=1。

7.2 Tobit 模型

如果误差项为正态分布,则 Tobit 模型的命令如下所示:

  • tobit yvar xvarlist, vce(robust) ll(#):进行 Tobit 回归,其中变量的值有一个下限 ll(#) 和上限 ul(#)
  • truncreg yvar xvarlist, vce(robust) ll(#):也可以使用 truncreg 替换 tobit 命令。

7.3 计数模型

泊松分布模型和负二项模型是两种最常见的计数模型。

  • poisson yvar xvarlist, vce(robust):估计泊松分布模型,其中计数因变量来自泊松到达过程,即在一段时间内“到达”的泊松率 (每一个因变量的计数加 1);
  • nbreg yvar xvarlist, vce(robust):估计负二项计数模型,该模型允许因变量的方差超过平均值,而泊松分布模型假设两者相等。

8. 工具变量回归

8.1 两阶段最小二乘法

  • ivregress 2sls yvar exogXVarlist (endogXVarlist = otherInstruments), vce(robust):因变量 yvar 对自变量 exogXVarlistendogXVarlist 的两阶段最小二乘回归,假设 endogXVarlist 中的变量是内生的,otherInstruments 为该变量的工具变量;
  • ivregress 2sls yvar exogXVarlist (endogXVarlist = otherInstruments), vce(robust) first:增加 first 选项可以报告第一阶段的回归结果。

8.2 广义矩估计法工具变量

  • ivregress gmm yvar exogXVarlist (endogXVarlist = otherInstruments), vce(robust) first:进行 GMM 工具变量回归,报告第一阶段结果;
  • ivregress gmm yvar exogXVarlist (endogXVarlist = otherInstruments), vce(robust) small:如果用小样本进行 GMM 工具变量回归,需要在最后加上 small 选项。

8.3 有限信息最大似然法工具变量

  • ivregress liml yvar exogXVarlist (endogXVarlist = otherInstruments), vce(robust) first:对于 LIML 工具变量回归,需要在上述回归命令中输入 liml,报告第一阶段结果。

8.4 工具变量检验

在估计了带有工具变量的回归后,可以按照如下方式进行过度识别检验、弱工具变量检验、正交检验以及异方差检验:

  • estat overid:在 ivregressivreg2 命令之后执行过度识别检验,需要安装第三方 overid 命令;
  • estat firststage:在 ivregressivreg2 命令之后,输出第一个阶段回归结果,如果 F<10 就可以判断为弱工具变量;
  • ivreg2 yvar exogXVarlist (endogXVarlist=otherInstruments), vce(robust) gmm orthog(vars):在 GMM 工具变量回归之后,对变量 vars 进行正交检验。

对于进行工具变量的异方差检验,可以使用第三方的 ivhettest 命令。

8.5 其他工具变量回归

对于 Probit 和 Logit 模型,可用 ivprobitivlogit 命令。对于 Tobit 模型,可用 ivtobit 命令。此外,一般的非线性 GMM 模型也可以使用 GMM 命令进行估计。

9. 时间序列模型

首先,需要像上面的面板数据模型那样对数据进行 xtset,指定时间变量。

9.1 自相关

  • corrgram varname:创建一个表,显示变量 varname 的滞后值的自相关性;
  • correlate x L.x L2.x L3.x L4.x L5.x L6.x L7.x L8.x:计算 x 的前 8 期滞后项自相关的方法;
  • correlate L(0/8).x:可以使用更紧凑的方式表示 x 的前 8 期滞后。

9.2 自回归和自回归分布滞后模型

  • regress y L.y, vce(robust):对 y 及其自身的滞后 1 期进行回归,使用稳健标准误;
  • regress y L(1/4).y, vce(robust):对 y 及其自身的滞后前 4 期进行回归,使用稳健标准误;
  • regress y L.y L.x1 L.x2, vce(robust):对 yy 的滞后一期、x 的滞后 1 期和 2 期进行回归,使用稳健标准误。
  • regress y L.y if time(1962q1,1999q4), vce(robust):这里使用的 if time(…) 将样本限制在指定日期范围内的时间,在本例中是从 1962 年第一季度到 1999 年第四季度。

9.3 滞后期选择的信息准则

如果要得到经过回归后的 BIC(Bayes-Schwartz information criterion) 和 AIC (Akaike information criterion) 信息准则值,需要使用 estat ic 命令:

  • estat ic:回归后显示 AIC 和 BIC 信息准则。

如果要在回归结果表中包含 BIC 和 AIC 值,你可以使用 eststoesttab 命令,如下述三行命令所示:

eststo m1: regress y L.y, vce(robust)
eststo m2: regress y L(1/2).y, vce(robust)
esttab m1 m2, b(a3) se(a3) star(* 0.10 ** 0.05 *** 0.01) r2(3) ar2(3) scalars(F bic aic) nogaps

为了加快比较不同滞后期的过程,可以在 do 文档编辑器中使用 forvalues 循环。例如:

forvalues lags = 1/6 {
    eststo m `lags': regress y L(1/`lags').y, vce(robust) 
} 
esttab m1 m2 m3 m4 m5 m6, stats(bic aic)

9.4 单位根的 ADF 检验

dfuller y 对非平稳性进行 DF 检验,检查 y 有单位根的零假设 (在单侧检验中)。

  • dfuller y, regress:在做 DF 检验时,显示相关的回归;
  • dfuller y, lag(2) regress:使用 y 的两期滞后对非平稳性进行 ADF 检验,检查 y 有单位根的零假设,并显示相关回归;
  • dfuller y, lag(2) trend regress:使用 y 的两期滞后对非平稳性进行 ADF 检验,并且在相关回归中包含一个时间趋势项。

10. 系统方程估计

10.1 三阶段最小二乘

  • reg3 (consump wagepriv wagegovt) (wagepriv consump govt capital1):估计一个两方程 3SLS 模型,其中因变量有两个,分别是 consumpwagepriv。假设因变量是内生的,工具变量包括所有其他变量 wagegovtgovtcapital1 和常数项;
  • reg3 (qDemand: quantity price pcompete income) (qSupply: quantity price praw), endog(price) :估计一个两方程 3SLS 模型,命名方程名为 qDemand 和 qSupply,因为它们有相同的因变量 quantity,并将价格作为 price 内生变量,将其他三个回归量和常数视为外生的。

10.2 似无相关回归

sureg (price foreign mpg displ) (weight foreign length), corr:估计一个 SUR 模型,corr 选项将显示残差的交叉方程相关矩阵,以及对误差项在方程之间进行具有零协方差的零假设的检验。

10.3 多元回归

mvreg headroom trunk turn = price mpg displ gear_ratio length weight, corr: 同时估计 3 个多元回归方程,第一个以 headroom 为因变量,第二个以 trunk 为因变量,第三个以 turn 为因变量。在每种情况下,等号右侧列出的六个变量都被用作回归量。corr 选项将显示残差的交叉方程相关矩阵,以及对误差项在方程之间具有零协方差的零假设的检验。同样的估计可以通过运行三个独立的回归得到,但这个命令也分析了误差项的相关性,并使之后进行交叉方程检验成为可能。

11. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 常用命令 结果, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

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

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

连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxhsongbl 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh