关于固定效应模型的四个Stata命令:reg、areg、xtreg、 reghdfe

Contenu vidéo originalAgrandir la vidéo

文章要点:

  • 本期视频分享最常见的面板数据固定效应模型代码
  • 四种模型方法,简单易懂,每种需注意之处
  • 数据结构与模型选择的关系
  • 推荐使用的命令及其适用情境

Hello
大家好
那么最近收到私信表示,面板数据我们都知道做简单的固定效应模型,但是具体的命令又有好几种,然后大家可能有点稍微的分不清楚。

那么这期视频就把最常见的几种代码给大家分享一下,希望对大家有所帮助。然后对于面板数据呢,我们最常用的就是这四种方法,嗯,总体来说这四种方法都特别简单,只是每一种就稍微有一点点需要注意的地方。

那么这里给大家简单的解释一下。那么呃然后我的这个数据仍然是我常用的一个面板数据的一个教学示范数据,然后就是个体是province,年分是year,后面是YX1X三这样子的一个数据。

第一种命令呢,我们主要是呃通过呃,如果要做双向固定的固定效应模型,一般是通过引入虚拟变量来代表不同的个体,可以取其起到和固定效应这个族类估计一样的效果。

那么区别就在于,我们要引引入虚拟变量来代表不同的个体,那么这种就只就称之为简单经典的一个呃最小二乘虚拟变量方法就是LSDV。它的优点就是可以对个体进行一个抑制性的估计。

那么缺点就是如果你的个体pro我的是province,一般不会大,就是固定的。如果大家是公司呀或者是银行呀什么的,就是在N特别大的情况下,可能会要引入特别多的虚拟变量,那么自由度损失太大了,可能会超出status缩减所应许的解释变量个数。

那么可能就这,这可能就是它的一个缺点。优点呢就是它对数据格式是没有要求的,它是横截面数据啊,面板数据啊都可以使用的。

接下来先跑一下第一种结果。但是第一种结果你如果做面板数据,你要控制时间和个体的话,就只能通过这种加入虚拟变量的方式以而来进行控制。所以它的结果会报告一大长串的这种虚拟变量的回归结果。

你看我有多少个个体,就得报包多少个虚拟变量的结果。ER也是的,然后你看哼如果你这里的呃,我的呃如果你真的N个体很多的话,那么可能会很多很多跑下来。有可能会超出他解释的个数,所以N很大的话,那么这个命名就不太行啊。这是第一种比较简单,我把结果保存一下,等会一起导出来对比看一下嗯。

第二种呢我们用的很少。那么第二种命令是对第一种命令的一个优化。它对数据结构也没有要求。嗯他唯一对他改进的就是指就是I点promise,爱点个体I点id这种,因为我们有时候在回归中控制很多虚拟变量,但是又不想生成这么多的虚拟变量的时候,不想报告虚拟变量的回归结果,那么我们就可以使用这种命令。

这种命令可以更快的汇报这种更简洁的结果。局限就是这个observe里面包含了这个分类变量,只能加一个变量的。如果你要估计需要进行双向固定效应或者是更高维度的固定效应的话,还是得使用这个I点YI点什么的方式来引入一个虚拟的变量。

但是我现在写的这个代码跟D这种代码是等价的,结果其实是一样的。那么这是第二种情况,我们也把它保存一下。

你看这里,我把year,你把province说错了,加入这个observe里面进行控制个体进行把个个体进行控制的时候,他就不会报告一长串的这种虚拟变量的回归结果。所以在N很大的话,我们可能就不用第一种,就用第二种命令比较方便一些。

接下来是第三种,第三种呢是我们最最最常用的,因为这是呃state的一个固定效应的一个官方的命令,应该是最为纯正的。它是一种组类的估计量,但它要求的必须是针对面板数据,因为它是XT,它是针对面板数据的。

所以我们在使用这个命令的情况下,前提下,一定要先定义呃个体维度和时间维度。我的个体是province,年份是year。我们先要进行个体和时间维度的一个定义。

一旦在这个固定效应后面加上这个FE,呃不是这个回归效应,加上F1就表示使用固定效应组内估计的方法。如果这里是RE,那就是随机效应。这个代码呢因为我们如果加了F1,就是使用固定效应足类估计。

那么这个代码是默认我们是控制了个体了,所以这里不需要再用I点province、I点id或者是I点呃什么什么呃,就是你的个体的变量名来进行控制你的个体,因为这个命令只要你这里加了F1,它就自动是控制了个体的,这种固定效应是自动控制了个体,大家一定要记住。

所以这里不要再加I点I点IDI点province什么的,但是呢如果我们要控制时间的话,我们还是要通过引入虚拟变量I点ER来表示不同的时间。

那么这种事这种固定效应呢是通过一种呃逆差变换消除了不同个体的组间差异,保留了每个个体的一个组内差异,所以这种方法我们一般称为组内估计。这是一种组类的估计。需要注意的是,同一个个体不同时间的扰动项可能相关,所以说我们也可能存在一定的族内资相关。

所以我们还需要使用以每个个体为聚类的一个聚类稳健标准物,也就是后面的后面的这个操作聚类文件标准为以个体为聚类。然后我后面发现我每个代码后面都都进行了这个操作,因为我为了让四种尽可能的一致嘛。

然后接下来我们跑一下这个最纯真的一个固定效应模型。他这里也不会报告你的个体的一个虚拟变量,因为它是直接自动控制了个体的,所以这里只需要用I点一二来引入虚拟变量控制年份就可以了。然后我们可以把这个回归结果保存一下。

接下来要分享的啊,文字算了,剪完了之后再拍他。然后第四种命令是一个呃多维的固定效应模型,因为有的时候我们需要控制多个维度。

有时候我们的个体可能会先分城市,再分区域,或者是银行呃先分先是具体的银行,然后再分一定的行业,或者是公司把工资也会通过某一个指标进行分,再分一定的行业什么的。

所以这里有时候会有个industrial,或者有个什么区域的划分。就是嗯,所以我们会,所以我们就叫多维固定。它除了它不止可以控制时间,个体,还可以控制更高维度的,这是它一个最大的一个优点。

但在我的这个呃面板数据里面,我没有这个更高维度的需求,所以我这里就是还是以province来进行控制。就是我这里强调这个命令,就是为了想要告诉大家,它是可以进行多维固定的。

如果我们还要对更高一个维度进行控制的话,那么这个固定效应模型是呃最方便的。它的运行速度也比上面的mini都要高一些。但是呢这个命令是一个外部的命令,所以我们执行这个命令的时候,嗯必须要先安装一下,也就是s s c in store安装一下。

安装这个命令的时候,有的人会说会出现一定的报错,然后报错的时候,下面不是会进行一个提示嘛。你点进去看的话,你会发现它还需要再安装一个辅助工具箱,就可以了,点击一下就可以了。

那这个命令就是多维的固定效应,我这里是没有更高维度的一个需求,先把它删了。嗯,这个就是多维固定效应,然后他跟你前面的命令相比呢,不需要使用I点province、I点ear、I点province adding页,或者I点什么来引入虚拟变量,那它会方便很多。

而且也不会报告呃,就是一长串的一个虚拟变量回归结果,所以它总体来说都比较简约,好看。那上面的话都会报告很多的虚拟变量的结果。因为我这边我的数据量不大,所以你觉得这些虚拟变量对你的结果什么的,没什么影响。但如果数据量很大,你就会发现一定的不变性。

我觉得这种命令是前面命令的一个更高的优化哦。接下来我们把这个命令也保存一下,然后接下来我们把这四个命令一起导出来,看一下这四个命令的一个估计的差别。step命令命令结果导出这个我有教学视频的,我们我们step四个mini,然后用表格用rag1来进行表达,然后后面这些参数的话,大家学习可以看我另外一个视频,因为我里面有些变量都报告了虚拟变量的结果,所以我这里只指导出X123,对外的一个回归结果的一个结果汇报,然后我们把四个结果导出来,点击一下。

我们看到这个结果导出来了。首先呢,我们看到这个回归系数基本上都是一致的,是没有什么差别的,因为我做命令的时候,我就会尽量把呃尽量就是保持一致,嗯,就是在等价的方式上进行这个代码的一个变换吧。

他们的回归系数基本上是一致的,没有什么变化。唯一的就是这个标准物,标准物可能会略有差异,我们可以看到二三这两种标准物是一模一样的,因为这两个规呃这两个估计结果的标准模式一致的,因为这两个命令背后的估计方法是特殊的那种混合的OLS,也就是最小二乘法,所以他们两个的那个呃结果是等价的回归,连标准物都是一致的。

那么一和四的标准物呢,嗯也是一致的,因为他们两个命运的背后是族内的一个估计,是一个固定效应的一个估计结果,所以一四等价R3是等价的,但是标准物稍微有点差别,倒也不太有影响。

那么最后再把这四个名给大家讲一下呢,就是强强重点,这三个第四个命令是一个多维的固定效应,我们需要呃对多个维度进行控制的话,优先选择第四个,优先选择第四个命令。

再强调一下,第一个命令是state的一个官方命令,它是自动控制个体的,所以有时间需要时间固定效应,需要引入时间虚拟变量进行控制,但是个体是自动控制的。

那么这两种命令呢,都是一个最小二乘法的一个回归结果,嗯,它对于这种第二种情况是个体和时间都需要通过引入虚拟变量的方法进行控制,那相对来说跑的速度会比较慢,但是可以汇报详细的一个虚拟变量的结果。

那么它是可以控制一个虚拟变量,它可以呃,就是,它相比于第二种情况的话,他是可以汇报一个更简洁的结果。如果你的N很大的话,那么可以考虑试一下使用三。

没有说哪个命令最好,但是你这个二三是不挑数据的,它是横截面数据也可以的。那么一四都是针对一个面板数据的,尤其是一,所以大概就是这四种模呃大概哎我这么讲,被我自己绕进去了呢,反正以上就是这四种固定效应模型的一个简单的一个讲解,嗯,希望对大家有所帮助。

那么我们自己在呃日常的写论文什么的,一般用的比较多的都是一和四。如果是面板数据的话,如果是横截面数据的话,那就是二和三。然后在横截面数据中优先使用二和三,横截面数据中的N比较大的话,我们就使用三。

如果是面板数据,我们优先选择一,然后如果是面板数据中,我们需要对多个效应的多维固定,就除了时间,个体还有更高的一个区域进行需要控制的话,我们就使用四。

简而言之,就是上面的这些嗯。那么今天这期视频就到这里结束了,大家如果还有问题的话,可以在评论区留言,谢谢谢大家。