首席数据官

Hi, 请登录

ardl模型stata命令_小白学统计|面板数据分析与Stata应用笔记(二)

62eff371392eaa9b1fcac70bdce51661.png

#文章首发于公众号“如风起”。

原文链接:

小白学统计|面板数据分析与Stata应用笔记(二)​

6980a973f08bdaa349c67ddc84035914.png

面板数据分析与Stata应用笔记整理自慕课上浙江大学方红生教授的面板数据分析与Stata应用课程,笔记中部分图片来自课程截图。

笔记内容还参考了陈强教授的《高级计量经济学及Stata应用(第二版)》

短面板数据分析的基本程序

1、模型设定与数据

2、描述性统计与作图

3、模型选择

4、报告计量结果

#以啤酒税将降低交通死亡率的假说为例,数据来自陈强教授的《高级计量经济学及Stata应用(第二版)》中的“traffic.dta”数据集。

第一步 模型设定与数据

为了检验假说,构造一个双向固定效应模型

其中,被解释变量

为交通死亡率,核心解释变量

为啤酒税;另外三个可观测的控制变量:

分别为酒精的消费量、税率和人均个人收入;

为不可观测的个体效应,

为时间效应。

在Stata软件中对数据进行分析,执行如下步骤:

1、导入数据到Stata中

在Stata的“命令窗口”中输入

命令【use"数据集路径traffic.dta"】将“traffic.dta”数据集导入到Stata中,

例如【use"C:Userstraffic.dta"】。

将数据导入Stata后,即可在Stata的“变量窗口”中看到“traffic”数据集中的各个变量的名称及其标签。

dcc67fafc9022752cdfbd26df8a189ab.png

以啤酒税将降低交通死亡率的假说为例,数据来自陈强教授的《高级计量经济学及Stata应用(第二版)》中的“traffic.dta”数据集。

2、查看数据

在Stata的“命令窗口”输入命令【des】查看“traffic”数据集。

3c6a6be276fea3e43e36de2855b821d8.png

从输出结果我们可以看到:“traffic”数据集包含336个观测值,54个变量。此外,我们还可以看到数据集中的变量名称、数据类型以及相关的说明。

通过命令【xtdes】我们可以查看面板数据的特征。

ff0e39727aa688a028993e3113b38f76.png

由结果可知:面板数据的截面数 ,时间数 , ,说明这是一个短面板数据集。

在使用面板数据分析前,我们需要输入命令【xtset state year】,来告诉Stata软件,这是一个以截面变量state为州,时间变量为year的面板数据。

59ed864ef37a73a438d7dee9b2d722fd.png

观察输出结果,由strongly balance可知,这是一个平衡面板数据。

至此,我们可以知道,“traffic”数据集是一个48个州,1982-1988年的平衡面板数据集。

第二步 描述性统计作图

1、描述性统计

使用命令【sum 关键变量】可以得到关键变量的描述性统计表。

在Stata中输入命令【sum fatal beertax spircons unrate perinck】,我们可以得到解释变量与被解释变量的观测值、均值、标准差、最小值和最大值。

4bbfb838f0fd376c1cce28a937686360.png

2、绘制散点图及回归直线在回归之前,我们可以先画出核心变量与别解释变量的散点图及回归直线,来预先判定一下核心变量与被解释变量之间的关系。

使用命令【twoway(scatter fatal beertac)(lfit fatal beertax)】即可画出核心变量“fatal”与被解释变量“beertax”的散点图及回归直线。

8ad5038454988b189b9b4a714e3771d2.png

需要注意的是,严格意义上说,这样做并不是正确的,因为并没有控制核心变量之外的其他影响因素。

正确的做法应该是,在控制其他变量的基础上,展示核心变量与被解释变量的偏相关图。

首先,我们需要使用【reg】命令做出回归结果;

然后,使用命令【avplot 核心变量】即可得到核心变量与被解释变量的偏相关图。

#首次使用avplot的同学,要记得通过命令【search avplot】先安装avplot。

如果直接使用命令【avplots】则会得到所有的变量与被解释变量的偏相关图。

在Stata的“命令窗口”中先输入命令【reg fatal beertax spircons unrate perinck i.year i.state】进行LSDV估计。

87368a4b0b6bb5a0f4e22221bd84cedf.png

然后,输入命令【avplot beertax】

3daed6fe0367b57e3698ca90cf7f6fec.png

输入命令【avplots】得到所有的变量与被解释变量的偏相关图。

deb391dc0ed5b249e063893074c2be44.png

3、绘制核心变量的时间序列图

使用命令【xtline 核心变量】可以做出核心变量在每个截面变量的时间序列图,以研究分析核心变量在每个截面变量中的变动趋势。

在Stata“命令窗口”中输入命令【xtline fatal】即可得到核心变量交通死亡率“fatal”在各个州的时间序列图。

e42f587832f564dd88e3c8eb059f15f3.png

第三步 模型选择

对于固定效应模型、随机效应模型和混合回归模型这三个模型,在实际应用中我们应该选择哪一个模型呢?

一般来说,在学术研究中我们选择双向固定效应模型就可以了。

但是,为了严谨,我们还是应该对三个模型进行比较选择,以判断哪一个模型是匹配数据集的最合适的模型。

1、比较混合回归模型和固定效应模型

首先,我们使用命令【tab year,gen(year)】生成年份虚拟变量;

然后,通过命令【xtreg fatal beertax spircons unrate perinck year2-year7 ,fe】估计双向固定效应模型。

使用命令“xtreg,fe”,在输出结果中我们会得到一个F检验的结果,其原假设为

。这意味着,如果接受原假设,就选择混合回归模型;如果拒绝原假设,则选择固定效应模型。

e0371b84334ee6dedc16c9c22bf12ffb.png

stata面板数据回归步骤_面板数据单位根检验 stata_stata面板数据分析结果怎么看

由输出结果可知,F检验对应的P值远小于0.01,那么,这是否就意味着我们可以拒绝原假设,选择固定效应模型呢?

答案是否定的,原因是误差项可能存在自相关、异方差和截面相关这三大问题,如果不对这三大问题进行处理,那么F检验的结果可能就不可靠。

所以,出于严谨性的考虑,我们还需要对这三大问题进行检验。

a.一般来说,先检验截面相关问题

我们可以使用命令【xtcsd】来检验截面相关问题。

#首次使用xtcsdt的同学,需要通过命令【ssc install xtcsd】来安装xtcsd。

“xtcsd”有三个选项,分别为:pes、fri、fre,每个选项都有其使用的前提

8f18b82533230dde30f36f757ac6e696.png

#“xtcsd”命令只可在固定效应模型或随机效应模型估计之后,才可运行

【xtcsd,pes】可以用于平衡面板、非平衡面板以及动态面板;

【xtcsd,fri】只可用于平衡面板;

【xtcsd,fre】可以用于平衡面板,但fre同时考虑了时间效应。

结合案例,我们使用的数据是平衡面板数据,而使用的模型控制了时间效应,所以我们选择命令【xtcsd,fre】

63c680a9b5b19d136dd4e31baa1d7341.png

由检验结果可知,因为1.068大于百分之10所对应的临界值0.3583,所以拒绝不存在截面相关的原假设,即认为模型存在截面相关问题。

所以,我们使用之前之前介绍的“xtscc”命令来处理截面相关问题,然后再进行个体效应是否存在的检验。

#首次使用xtscc的同学,需要通过命令【ssc install xtscc】来安装xtscc。

在Stata中输入命令【xi:xtscc fatal beertax spircons unrate perinck year2-year7 i.state】

a1c19a12607b88e8bac3d80c4bddfb3f.png

然后,使用命令【testparm _Istate*】对州虚拟变量做F检验

cf0edf6ed77e742fc457ba5b2229dafc.png

检验结果显示,P值远小于0.1,可以拒绝原假设,认为存在个体效应,所以选择固定效应模型。

b.如果不存在截面相关问题,假定存在异方差和自相关

如果不存在截面相关问题,假定存在异方差和自相关stata面板数据分析结果怎么看,则使用命令【xi:reg fatal beertax spircons unrate perinck year2-year7 i.state,cluster(state)】

这个命令使用聚类到州获得标准误来处理自相关和异方差问题。

然后,再使用命令【testparm _Istate*】对州虚拟变量进行F检验

2、比较混合回归模型和随机效应模型

Breusch 和Pagan在1980年提出了一个检验个体效应的LM检验。

其原假设为

,备择假设为

如果拒绝原假设,就选择随机效应模型;如果接受原假设,则选择混合回归模型。

Stata的检验命令为【xttest0】或者【xttest1】

#首次使用xttest0/xttest1的同学,需要通过命令【findit xttest0/findit xttest1】来安装命令。

首先,使用随机效应模型进行估计。在Stata“命令窗口”中输入命令

【xtreg fatal beertax spircons unrate perinck year2-year7,re】

a8423c52a0ffb149cf84a9c4641d8a91.png

然后,输入命令【xtteat0】

c6459fb5ee03a047bc3c3f8e69af4a6c.png

从检验结果,我们可以看到,P值为0,小于显著性水平0.01,所以在0.01的显著性水平下拒绝原假设,选择随机效应模型。

如果误差项存在自相关,使用命令【xttest1】检验随机效应更好。

a6ce66a439eabc2e6093cb4ebbe7771e.png

由输出结果可知:Random Effects给出了随机效应自相关的检验结果,由结果可知,随机效应存在一阶自相关问题;Serial Effects给出了误差项的自相关检验结果,检验结果的P值为0,小于0.01,所以在0.01的显著性水平下拒绝原假设,即误差项存在一阶自相关问题;LM检验结果显示应拒绝原假设,即选择随机效应模型。

3、比较固定效应模型和随机效应模型

通常使用Hausman检验进行比较。

Hausman检验的基本思想是:

如果

,那么固定效应模型和随机效应模型的估计都是一致的,但是随机效应模型更加有效;

如果

,固定效应模型仍然一致,但随机效应模型是有偏的。

所以,如果原假设成立,则固定效应模型与随机效应模型将共同收敛于真实的参数值;反之,两者的差距过大,则倾向于拒绝原假设,选择固定效应模型。

Hausman检验有四行命令(不考虑异方差和截面相关)

称为:Hausman test1

#以“traffic”数据集为例

【xtreg fatal beertax spircons unrate perinck year2-year7,fe】#做固定效应估计

【est store FE】#存储固定效应估计的结果

【xtreg fatal beertax spircons unrate perinck year2-year7,re】#做随机效应估计

【hausman FE, constant sigmamore】/【hausman FE, constant sigmaless】#将两个估计结果进行比较;constant代表masi距离中常数项的估计量;sigmamore利用有效估计量方差,即re;sigmaless利用一致估计量方差,即fe。

0642dee1cee941f5dbf4631167f095a9.png

由结果可知,检验结果的P值为0,小于0.01,所以在0.01的显著性水平下拒绝原假设,选择固定效应模型。

需要注意的是:Hausman test1并不适合于异方差问题。

解决办法是:构造一个辅助回归。

这个辅助回归是在随机效应模型广义离差变换的基础上,加入一个解释变量的组内离差

这个辅助回归的基本思想是:

(1)如果

,这和辅助回归方程就等价于随机效应的广义离差变换模型。如果随机效应模型成立,则ols估计是一致的,所以

(2)如果固定效应模型成立,由于扰动项

相关,所以,ols估计是不一致的,即

#因此,拒绝

,意味着拒绝随机效应接受固定效应。

面板数据单位根检验 stata_stata面板数据回归步骤_stata面板数据分析结果怎么看

(3)使用聚类稳健标准误处理异方差问题后,再检验假设

。如果拒绝原假设,则选择固定效应;反之,则选择随机效应。

实现程序:Hausman test2

【quietly xtreg fatal beertax spircons unrate perinck year2-year7,re】

#做随机效应估计,"quietly"表示正常执行"xtreg"命令但不输出估计结果

【scalar theta=e(theta)】#得到广义离差中参数 的估计

【global yandxforhausman fatal beertax spircons unrate perinck year2 year3 year4 year5 year6 year7 】

#表示第一行命令中的所有变量,global是全局宏

【sort state】#依据state进行排序

【foreach x of varlist $yandxforhausman{

by state:egen mean`x'=mean(`x')

gen md`x'=`x'-mean`x'

gen red`x'=`x'-theta*mean`x'

}】

#"foreach"为循环语句,对变量名单上的所有 进行同样的操作。

【quietly reg redfatal redbeertax redspircons redunrate redperinck redyear2 redyear3 redyear4 redyear5 redyear6 redyear7 mdbeertax mdspircons mdunrate mdperinck mdyear2 mdyear3 mdyear4 mdyear5 mdyear6 mdyear7, vce(cluster state)】

#用"reg"命令做辅助回归,"vce(cluster state)"处理异方差

【test mdbeertax mdspircons mdunrate mdperinck mdyear2 mdyear3 mdyear4 mdyear5 mdyear6 mdyear7】

#使用"test"命令对所有的解释变量的组内离差进行联合显著性检验

在Stata中执行Hausman test2的命令

947d0726a84aab29959ee6a16e48a735.png

由检验结果可知,F检验的P值为0,小于0.01,所以在0.01的显著性水平下拒绝原假设,采用固定效应模型。

Hausman teat2解决了误差项存在异方差的问题,那么如果误差项存在截面相关,又该怎么办呢?

我们采用命令Hausman test3解决误差项截面相关的问题。

基于随机效应模型估计的截面相关检验

首先,因为我们构造的模型考虑了时间效应,所以通过命令【xtcsd,fre】检验误差项是否存在截面相关的问题。

d648bcb2bdce577c936c03a3a5be383a.png

由检验结果可知,1.788大于0.01显著性水平所对应的值0.7678,所以在0.01的显著性水平下拒绝原假设,认为随机效应模型的误差项存在截面相关问题,需要进行处理。

实现程序:Hausman test3(适用于异方差和截面相关的情形)

Hausman test3只需将Hausman test2命令中的第六步进行辅助回归的代码中的"reg"命令改为"xtscc"命令即可。

【quietly xtscc redfatal redbeertax redspircons redunrate redperinck redyear2

redyear3 redyear4 redyear5 redyear6 redyear7 mdbeertax m

试看结束,如继续查看请付费↓↓↓↓
打赏0.5元才能查看本内容,立即打赏

来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!

版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。

相关推荐

评论

  • 昵称 (必填)
  • 邮箱
  • 网址
二维码
评论