Stata常用命令速查
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:公开课-直播 | 计量专题 | 关于连享会
连享会 · 2022暑期班
作者:冀承 (中国人民大学)
邮箱:jicheng@ruc.edu.cn
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
编者按:本文主要摘译自下文,特此致谢!
Source:Simons, Kenneth L., 2019, Useful Stata Commands. -PDF-
目录
1. 写在前面
2. 数据查看、生成、计算与绘图
2.1 仅查看数据
2.2 描述性统计
2.3 生成随机数
2.4 计算相关性和协方差
2.5 计算置信区间与进行假设检验
2.6 绘制表格、直方图、散点图
3. 数据处理技巧
3.1 合并数据集
3.2 字符串和数字之间的转换
3.3 创建标签
4. OLS、GLS 以及 WLS 回归
4.1 OLS 回归
4.2 生成类别虚拟变量和交互变量
4.3 广义最小二乘法
4.4 加权最小二乘法
5. 输出回归结果表格
5.1 使用内置命令输出表格
5.2 使用附加命令输出表格
6. 面板数据模型
6.1 固定效应—使用虚拟变量
6.2 固定效应—去均值
6.3 随机效应和豪斯曼检验
7. 受限因变量模型
7.1 Probit 和 Logit 模型
7.2 Tobit 模型
7.3 计数模型
8. 工具变量回归
8.1 两阶段最小二乘法
8.2 广义矩估计法工具变量
8.3 有限信息最大似然法工具变量
8.4 工具变量检验
8.5 其他工具变量回归
9. 时间序列模型
9.1 自相关
9.2 自回归和自回归分布滞后模型
9.3 滞后期选择的信息准则
9.4 单位根的 ADF 检验
10. 系统方程估计
10.1 三阶段最小二乘
10.2 似无相关回归
10.3 多元回归
11. 相关推文
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 个自由度的 分布;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
命令的方向正好相反。例如,如果你有一个名为 year,month,day 的字符串变量,并且字符串实际上包含数字,可以将它们转换为数字,具体命令如下所示:
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
:进行怀特检验,如果检验结果显示 值小于一定的值,就可以拒绝同方差的原假设,认为数据存在异方差;estat hettest, iid
:进行 BP 检验,默认设置为使用拟合值 yhat。如果检验结果显示 值小于一定的值,就可以拒绝同方差的原假设,认为数据存在异方差;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, se
:se
选项可以为输出的回归表格中包含标准误;estimates table model1 model2 model3, star
:star
选项可以为输出的回归表格中的显著性水平添加星号,然而该命令不允许将star
和se
选项组合起来。如果希望将二者进行组合,可以使用附加命令;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
命令。输出回归结果表格常用的附加命令是 eststo
、estout
、esttab
、estout
等,通过命令语句 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)
显模型的 统计量,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.entity
和i.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
对自变量exogXVarlist
和endogXVarlist
的两阶段最小二乘回归,假设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
:在ivregress
或ivreg2
命令之后执行过度识别检验,需要安装第三方overid
命令;estat firststage
:在ivregress
或ivreg2
命令之后,输出第一个阶段回归结果,如果 就可以判断为弱工具变量;ivreg2 yvar exogXVarlist (endogXVarlist=otherInstruments), vce(robust) gmm orthog(vars)
:在 GMM 工具变量回归之后,对变量vars
进行正交检验。
对于进行工具变量的异方差检验,可以使用第三方的 ivhettest
命令。
8.5 其他工具变量回归
对于 Probit 和 Logit 模型,可用 ivprobit
和 ivlogit
命令。对于 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)
:对y
、y
的滞后一期、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 值,你可以使用 eststo
和 esttab
命令,如下述三行命令所示:
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 模型,其中因变量有两个,分别是 consump 和 wagepriv。假设因变量是内生的,工具变量包括所有其他变量 wagegovt、govt、capital1 和常数项;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
专题:Stata教程 Stata小抄:一组图记住Stata常用命令 专题:Stata资源 会计期刊论文的结果可重现吗? 专题:结果输出 Stata结果输出:用esttab命令绘制LaTeX表格 Stata结果输出:addest自己定制输出的统计量 Stata:回归结果导出-parmest Stata结果输出:tabout命令详解 Stata结果输出-addest:自己添加统计量 Stata结果输出:Excel结果表变身LaTeX表格 Stata结果输出:outreg2命令详解 Stata结果输出:pwcorr_a输出相关系数矩阵 Stata结果输出:两阶段回归的结果输出 Stata结果输出:用esttab生成带组别名称的LaTeX回归表格 Stata结果输出:tabout-用-Stata-输出高品质表格 Stata:毕业论文大礼包 A——实证结果输出命令大比拼 Stata:毕业论文大礼包 B——神速实证结果输出之搜狗短语 Stata可视化:让他看懂我的结果! Stata:回归结果中不报告行业虚拟变量的系数 asdoc:Stata 结果输出又一利器!
课程推荐:因果推断实用计量方法
主讲老师:丘嘉平教授
🍓 课程主页:https://gitee.com/lianxh/YGqjp
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。