• Index

截面数据

Reads: 9452 Edit

1 模型说明

线性回归是最为基础的计量模型。在进行实证研究时,无论主体模型多么复杂,都可以尝试下多元线性回归模型,以对所研究的问题有初步认识!

线性回归模型直观、简单,应该十分广泛。但真正用对其实并不容易,好多童鞋对所研究问题认识并不深刻,就拿数据来做线性回归模型,导致实证结果存在偏差。还有一些童鞋拿二三十的样本量去做线性回归,发现无论怎么调试模型,所研究变量总是不显著,或者有些变量符号与预期相反,根本问题就在于样本量太少了。

除此之外,线性回归模型中还经常存在异方差、序列相关和多重共线等问题,这些问题普遍而又难以处理,需要辩证应对。计量的理论有绝对的对与错,但计量的应用并不是严格的非黑即白,在构建线性回归模型时应该将“对现实问题的解释”放在首位。如果异方差等问题严重影响到了模型的估计和解释(符号与预期相反等),那么必须对该问题进行处理;而如果异方差等问题没有严重影响到模型的估计结果,处理该问题会对模型解释产生影响,那么完全可以选择不处理此问题。例如,如果想完全消除异方差、序列相关和多重共线,那么需要对变量进行变换,对模型形式进行变形,甚至丢弃变量;结果这些问题消除了,但模型已经不能表达我们想研究的主要问题了,或者模型很难对我们所研究的问题进行解释,我们建立的线性回归模型也就无法应用了。

2 多元线性回归模型的形式

其中,Y是被解释变量,X1到Xn是不相关的解释变量。

3 多元线性回归的应用

3.1 数据

现收集了我国2020年1187家上市工业企业的财务数据,期望研究上市工业企业净资产收益率(ROE)的影响因素。数据基本情况如下:

34

3.2 录入数据

打开数据编辑窗口,将数据从Excel中复制到Stata

stata-33

3.3 修改变量名

点击数据编辑窗口中的列,在右下角的属性窗口将需要进行回归的变量名改为英文字符:

成立年-year
员工总数-labor
资产总计-asset
资产负债率-debt
流动比率-liquit
总资产周转率-turnover

stata-34

3.4 将变量改为数值型

在数据编辑窗口,发现asset变量和debt变量中的数据是字符串型(红色),并且asset变量中还有逗号!需要将其改为数值型才能回归。

一般有两种方法来处理此问题,一是数据量不大时将数据在Excel中转换为数值型在复制粘贴到Stata中;二是在Stata中采用命令的方式修改。这里采用命令的方式修改:

将asset变量中的逗号去掉:

replace asset=subinstr(asset,",","",.)

将asset、debt变量转换为数值型:

destring asset debt,replace force

stata-35

3.5 估计线性回归模型

估计多元线性回归:

reg roe asset debt labor liquit turnover year

结果如下:

stata-36

稳健性回归:

reg roe asset debt labor liquit turnover year,r

结果如下:

stata-37

选择特定样本回归:(选取2000年以后成立的企业进行回归)

reg roe asset debt labor liquit turnover year if year>2000

结果如下:

stata-38

4 多元线性回归的修正

4.1 多重共线性问题

观察模型的解释变量可知,总资产(asset)和劳动人数(labor),流动比率和资产负债率之间存在相关性,因而可能存在多重共线问题。

教材中对于多重共线性问题,一般采用逐步回归方法来处理。但实际中很少采用,一是逐步回归法可能剔除主要的解释变量;二是逐步回归法不够灵活,某些时候即使一些控制变量不显著,但为了符合经济理论,也需要把他加入到模型中。

在实际经济问题中,尤其是宏观经济变量,或多或少都存在多重共线问题,完全消除多重共线问题几乎不可能。因此不严重的多重共线可以不做处理,只有严重的多重共线问题才需要处理,比如严重的多重共线使得解释变量的正负值与预期不符,这时就应当对多重共线问题进行处理。

本例中流动比率(liquid)的系数为负数,理论上流动比率越高应该有助于促进企业ROE上升,即符号应该为正数。应该估计结果为负数可能是多重共线导致的。另外,总资产和劳动人数变量的相关性也可能较高。因而本例需要对多重共线问题进行处理。当然,可以通过方差膨胀因子和相关系数方法进一步验证多重共线问题,这里不再演示。

分别让liquit和debt 单独和roe进行回归:

reg roe liquit
reg roe debt

结果中liquit和debt系数的符号与预期一致

stata-39

liquit和debt一起与roe进行回归:

reg roe liquit debt

结果中liquit变量的符号与预期不一致,因而模型中只能放入liquit和debt其中一个。我们可以根据理论和自己的研究主题来选择,这里假设我们研究的主题是liquit对roe的影响,所以保留liquit变量。当理论上不能决定选哪个变量时,再根据两个方程的R2值来决定保留哪个变量。(总之,理论选择应该优先于统计上的选择

stata-40

在确定了liquit变量后,再依次加入turnover和year变量,发现三个变量均显著,模型解释变量至此增加到三个。

将labor或asset加入回归模型:

reg roe liquit turnover year labor
reg roe liquit turnover year asset
reg roe liquit turnover year labor asset

当继续加入labor变量或者asset变量后,发现两者的系数都为负数,且都不显著,但是并不会对liquit、turnover和year变量的估计值产生影响。

stata-41

当同时加入labor和asset变量后,发现asset变量系数变为正数。因而labor和asset变量存在相关,在模型中只能加入一个。

stata-42

由于labor和asset变量都不显著,所以模型中可以选择不加入这两个变量。另一方面,由于模型中加入这两个变量中的一个后不会对其他变量的估计结果产生影响,所以也可以加入其中一个变量,根据R2的值,这里选择加入labor,因而最终的模型估计结果如下。其中,提高流动比率、资本周转率有助于促进ROE上升。year表示企业成立年份,因而成立年份越晚,即企业越年轻,ROE也越高。labor则没有通过显著性检验,其对roe的影响不具有统计学意义。

多元线性回归中,我们更关心变量的t检验,即各解释变量是否对被解释变量有影响;而不太关心R2的值。

stata-43

4.2 异方差问题

经济问题中异方差也经常存在,且难以完全消除。教材中有多种异方差的检验方法和修正方法,大部分需要对模型进行变换,而这将导致模型原始的解释变量和被解释变量形式变得异常复杂, 难以对原始模型进行解释。因而实际中很少对模型进行复杂的变形,仅做一些基本的调整。

4.2.1 Stata BP异方差检验

对所有变量进行异方差进行检验:

reg roe liquit turnover year labor
estat hettest,iid rhs

chi2统计量的P值大于0.1,接受原假设,即认为是同方差。

stata-44

对liquit和turnover变量进行异方差进行检验

reg roe liquit turnover year labor
estat hettest liquit turnover,iid

chi2统计量的P值大于0.1,接受原假设,即认为是同方差。

stata-45

4.2.2 Stata white异方差检验

white异方差检验:

reg roe liquit turnover year labor
estat imtest,white

chi2统计量的P值小于0.1,拒绝原假设,即认为是异方差。

stata-46

4.2.3 Stata 异方差的处理

上面的white检验认为存在异方差,但BP检验认为是同方差。至少证明异方差问题不是特别严重,所以即使不处理也是可以的。

这里我们演示Stata异方差的处理方法。

第一种方法:ols回归加稳健性标准误差

采用稳健性回归:

reg roe liquit turnover year labor.r

直接通过稳健性标准误差来对系数的显著性进行判断。

stata-47

第二种方法:取对数处理

本例中roe、liquit和turnover变量都是比例数据,而labor变量的取值范围很大,估可以对其取对数处理来降低异方差。同时,也可以进一步把企业成立年份数据转换为企业年龄数据。

对变量进行变化后回归:

g lnlabor=ln(labor)
g lnage=ln(2020-year)
reg roe liquit turnover lnage lnlabor

重新进行估计,发现模型系数的显著性基本没有发生变化。lnlabor仍不显著。在此结果中再次进行white检验,发现有所改善,但是依然存在异方差。实际应用中可以不用再继续处理异方差问题了。

stata-48

4.3 序列相关问题

经济问题中收到个体空间、时间相关等影响,也往往存在序列相关问题,且序列相关也难以完全消除。异方差有多种检验方法和修正方法,一般修正方法也需要对模型进行变换(如广义差分法),导致模型难以解释。因而只要序列相关不太严重,也一般不做修正

本例是截面数据,回归的残差也是截面数据,所以狭义上来说并不存在时间意义上的序列自相关。当然,广义上来说截面之间也可能存在某种相关性,比如空间相关。当然,为了演示Stata的操作,我们这里仍将进行序列相关检验。

4.3.1 Stata序列相关检验

Stata中进行序列自相关检验必须指定时间变量,而截面数据中本身就不存在时间项,这说明Stata默认截面数据中是不存在序列相关问题的。我们为了演示,需要先生成时间序列变量,在进行检验!

BG检验:

g t=_n  
tsset t  
reg roe liquit turnover lnage lnlabor
estat bgodfrey

估计结果中chi2统计量的P值大于0.1,接受原假设,不存在序列相关。

stata-49

DW检验:

reg roe liquit turnover lnage lnlabor
estat dwatson

估计结果中DW统计量约为2,因而不存在序列相关

stata-50

Q检验:一阶序列自相关和二阶序列自相关

reg roe liquit turnover lnage lnlabor
predict e1,r
wntestq e1,lag2(1)
wntestq e1,lag2(2)

估计结果中显示,一阶序列相关中chi2统计量的P值大于0.1,接受原假设,不存在序列相关。二阶序列相关中chi2统计量的P值小于0.1,拒绝原假设,认为存在序列相关。

stata-51

4.3.2 序列自相关处理

总之,本例中序列自相关不是十分严重,不需要对序列相关进行处理。一般来说,截面数据很少存在严重的序列自相关。如果截面数据真的存在严重序列自相关问题,也不建议用广义差分方法进行处理,因为截面数据的序列自相关可能是空间相关引起的,差分缺乏明确的经济意义。这种情况下,可以通过重新对模型进行设置,寻找新的解释变量替换原有解释变量等方法。

5 总结

对于截面数据的多元线性回归模型,首先对变量进行对数变换以减弱异方差问题,其次根据研究的问题确定主要解释变量、选择合适的控制变量加入模型以减弱多重共线问题,最后,序列相关问题可以不用考虑!



获取案例数据,请关注微信公众号并回复:Stata_dt8


Comments

Make a comment

  • Index