关注我们,提高实证学习效率
固定效应模型是处理普通面板数据最常用的实证模型之一,固定效应模型的估计方法主要包括组内离差法和最小二乘虚拟变量法(LSDV),根据不同的估计方法和数据特征,我们选择不同的命令进行回归分析。这篇文章给大家介绍实现固定效应模型的4个命令:xtreg、reg、areg 、reghdfe。
xtreg 命令
xtreg,fe命令使用组内离差法进行估计,是固定效应模型的官方命令。该命令通过离差转换消去不随时间变化的个体效应,然后通过OLS得到参数的一致估计量。需要注意的是,xtreg命令只能用于面板数据,因此在回归之前需要对数据类型进行声明,设置个体变量和时间变量。语法格式:
xtset id year
xtreg y x , fe [FE_options]
reg 命令
reg命令使用最小二乘虚拟变量法(LSDV)进行固定效应模型估计。LSDV可以得到与组内离差法一样的估计结果,区别在于需要引入(n-1)个虚拟变量来代表不同的个体。LSDV法的优点是能够得到对个体异质性的估计,缺点是如果n很大的情况下,则需要引入很多虚拟变量,可能会超出Stata所允许的解释变量个数。语法格式:
reg y x i.id i.year [, options]
areg 命令
areg命令适用于包含大量虚拟变量的固定效应回归 (Linear regression with a large dummy-variable set)。优点是能够更快地汇报更简洁的结果;局限性是absorb( )只能添加一个变量,即absorb选项只能控制个体固定效应,如果想要估计双向固定效应模型(如:城市-年份)仍然需要引入时间的虚拟变量。语法格式:
areg y x , absorb(var) [options]
// absorb指定分类变量,例如absorb(id)相当于根据id生成虚拟变量
reghdfe 命令
reghdfe 命令适用于多维固定效应模型回归(Linear regression absorbing multiple levels of fixed effects),例如:控制城市-行业-年份进行回归。reghdfe可以看作是xtreg和areg命令的优化。语法格式:
ssc install reghdfe, replace
reghdfe y x,absorb(var1 var2...) [options]
因为reghdfe命令需要ftools辅助工具箱,所以安装后直接执行可能会出现以下报错信息,点击“ssc”或者“Github”安装ftools后即可正常运行。
示例
调用面板数据集nlswork并查看数据分布。被解释变量为ln_w、解释变量包括age、ttl_exp、tenure、south。
分别用xtreg、reg、areg、reghdfe命令进行双向固定效应模型回归,并比较结果。
*设置面板数据
xtset idcode year
*回归1:
xtreg ln_w age ttl_exp tenure south i.year,fe
est store xtreg
*回归2:
reg ln_w age ttl_exp tenure south i.idcode i.year
est store reg
*回归3:
areg ln_w age ttl_exp tenure south i.year,absorb(idcode)
est store areg
*回归4:
reghdfe ln_w age ttl_exp tenure south, absorb(idcode year)
est store reghdfe
*输出结果
esttab xtreg reg areg reghdfe using reg1.rtf, ///
replace b(%6.3f) se r2(3) star(* 0.1 ** 0.05 *** 0.01) keep( age ttl_exp tenure south) ///
compress nogap ///
mtitles("xtreg" "reg" "areg" "reghdfe") title("Table1")
总结:
(1)xtreg、reg、areg用于估计单向或双向固定效应模型,reghdfe用于估计多维固定效应模型;
(2)xtreg,fe是Stata提供的官方命令,自动控制个体固定效应,时间固定效应需引入时间虚拟变量进行控制;
(3)reg命令使用OLS回归,个体固定效应和时间固定效应均需要引入虚拟变量控制,运行速度慢,汇报详细的虚拟变量结果;
(4)areg命令适用于包含大量虚拟变量的固定效应回归,相较于reg命令,areg能够更快地汇报更简洁的结果;
(5)reghdfe是xtreg和areg命令的优化,能够控制两个及两个以上的固定效应。
推荐阅读
-
每日一学28 | 零膨胀模型:计数数据包含大量0值怎么办?
-
每日一学27 | 面板数据估计不可忽略的3大问题:异方差、自相关、截面相关
-
每日一学26 | 混合回归,固定效应还是随机效应?
-
每日一学25 | 为什么对变量取对数?
-
每日一学24 | 你一定要知道的esttab命令选项!
-
每日一学23 | 因子变量的运用
关于我们
本公众号定位于Stata语言的学习分享,通过研究方法与论文解析相结合的方式,提高stata学习者的综合能力,同时附带专业、高效的数据分析技术支持服务,为您的科研分析保驾护航!
1、发送“Stata”获取Stata从入门到进阶的权威学习书籍与资料;
2、发送“Stata图卡”获取Stata学习速记图卡;
3、发送“stata16”获取Mac、Windows系统stata16.0版本的安装包。
4、如需技术支持服务,可添加相关负责人微信。微信号:chariness_patience。
让天下没有难做的数据!
关注我们
如果看完这篇推文觉得有收获的话,就点赞分享在看三连吧!
发表评论