分享

【推荐】stata基本操作汇总——异方差、自相关、多重共线性

 张春强2022 2017-08-21


前言:    

计量经济学服务中心为大家罗列汇总出了关于异方差、自相关、多重共线性相关的知识,推荐收藏。



  


Stata : 论文中数据分析的一把利剑

学术论文分析利剑 Stata的简介



Stata检查是否存在异方差的方法:


1、看残差图 ,模型回归之后使用即可


rvfplot(残差与拟合值的散点图)


rvpplot(残差与解释变量的的散点图)


2、White检验

其基本命令是在完成基本的OLS 回归之后,输入

imtest, white
如果输出的P-Value 显著小于0.05,则拒绝原假设,即不存在异方差性


3、BP(Breusch and Pagan,1979)检验


关于stata处理异方差问题的命令

基本命令是:estat hettest var1 var2 var3
其中,var1 var2 var3 分别为你认为导致异方差性的几个自变量。是你自己设定的一个滞后项数量。


同样,如果输出的P-Value 显著小于0.05,则拒绝原假设,即不存在异方差性


estat hettest(默认设置使用拟合值y_hat)
estat hettest(使用方程邮编的解释变量,而不是y_hat)
estat hettest varlist(指定使用某些解释变量)


解决办法


方法一:WLS


 WLS是GLS(一般最小二乘法)的一种,也可以说在异方差情形下的GLS就是WLS。在WLS下,我们设定扰动项的条件方差是某个解释变量子集的函数。之所以被称为加权最小二乘法,是因为这个估计最小化的是残差的加权平方和,而上述函数的倒数恰为其权重。


在stata中实现WLS的方法如下:


reg (被解释变量) (解释变量1) (解释变量2)…… [aweight=变量名]

其中,aweight后面的变量就是权重,是我们设定的函数。


一种经常的设定是假设扰动项的条件方差是所有解释变量的某个线性组合的指数函数。在stata中也可以方便地实现:


首先做标准的OLS回归,并得到残差项;


reg (被解释变量) (解释变量1) (解释变量2)……
predict r, resid


生成新变量logusq,并用它对所有解释变量做回归,得到这个回归的拟合值,再对这个拟合值求指数函数;


gen logusq=ln(r^2)
reg logusq (解释变量1) (解释变量2)……
predict g, xb
gen h=exp(g)

最后以h作为权重做WLS回归;


reg (被解释变量) (解释变量1) (解释变量2)…… [aweight=h]


如果我们确切地知道扰动项的协方差矩阵的形式,那么GLS估计是最小方差线性无偏估计,是所有线性估计中最好的。显然它比OLS更有效率。虽然GLS有很多好处,但有一个致命弱点:就是一般而言我们不知道扰动项的协方差矩阵,因而无法保证结果的有效性。


方法二:HC SE


There are 3 kinds of HC SE


(1)Huber-White Robust Standard Errors HC1, 其基本命令是:

reg var1 var2 var3, robust White(1980)证明了这种方法得到的标准误是渐进可用(asymptotically valid)的。这种方法的优点是简单,而且需要的信息少,在各种情况下都通用。缺点是损失了一些效率。这种方法在我们日常的实证研究中是最经常使用。


(2)MacKinnon-White SE HC2,其基本命令是:


reg var1 var2 var3, hc2


(3)Long-Ervin SE HC3,其基本命令是:


reg var1 var2 var3, hc3




序列相关性问题的检验: 首先,要保证所用的数据必须为时间序列数据。如果原数据不是时间序列数据,则需要进行必要的处理,最常用的方法就是:


gen n=_n 
tsset n 


这两个命令的意思是,首先要生成一个时间序列的标志变量n(或者t 也可以);然后通过tsset 命令将这个数据集定义为依据时间序列标志变量n定义的时间序
列数据。 


最直观的检验方式是通过观察残差分布,其基本步骤是在跑完回归之后,直接输入 
Predict error, stdp 
这样就得到了残差值;然后输入命令: 
plot error n 
会得到一个error 随n 变化的一个散点图。

 

D-W检验——对一阶自相关问题的检验: 
D-W检验是对一阶自相关问题的常用检验方法,但是如果实际问题中存在高阶序列相关性问题,则不能用这个检验方法。 


D-W 检验的命令如下: 
首先,输入回归命令, 
reg Variable1 Variable2 Variable3…VariableM 
输出一个简单的OLS估计结果。然后,再输入命令:

dwstat 
这时会输出一个DW  统计量。通过与临界值之间的比较,可以得出结论。也可以执行如下命令

estat durbinalt 

直接进行Durbin检验。 
 
Breusch-GodfreyTest in STATA——检验高阶序列相关性: 
在得到一个基本回归结果和error 之后,我们假设这样一个关系: 
et = α0 + α1 et-1 + α2 et-2 …+ αk et-p + β1 x1t + β2 x2t … +βk xkt +εt 


BG  检验的原假设是:H0  :  α1 = α2 = … αp =0。 
其基本命令是: 
bgodfrey , lags(p) 
其中p  是你自己设定的一个滞后项数量。如果输出的p-value 显著小于0.05,则可以拒绝原假设,这就意味着模型存在p  阶序列相关性;如果输出的p-value 显著大于0.05  甚至很大,则可以接受原假设,即不存在p  阶序列相关性。 
 

 

处理序列相关性问题的方法——GLS:

 
常用的几种GLS  方法: 


(1) Cochrane-Orcutt estimator 和Prais-Winsten estimator 
其基本命令是 
prais var1 var2 var3, corc 


(2) Newey-West standard errors 
其基本命令是 
newey var1 var2 var3, lag(3) 
其中,lag(3)意思是对三阶序列相关性问题进行处理;如果需要对p  阶序列相
关性问题进行处理,则为lag(p) 

 

t因变量,g,f,c是自变量,_26存放了弟26个观测值,为需要预测的值

reg t g f c if _n!=26


点预测

predict taxpredict if _n==26


均值的区间预测

predictnl py=predict(xb),ci(lb ub) l(95)


因变量的区间预测

adjust g=117251.9 f=24649.95 c=99.9,stdf ci level(95)



线


多重共线性产生的原因


产生多重相关性的原因主要包括四方面:

①趋同性:经济变量随时间的变化过程存在共同变化趋势;

②用截面数据建模;

③模型中大量地采用滞后变量;

④建模时由于认识的局限性导致变量选择不当。


Stata检查是否存在多重共线的方法


estat vif 


VIF值越大说明多重共线性问题越严重。


一般认为,最大的VIF不超过10,则不存在明显的多重共线性。


方差膨胀因子VIF是指回归系数的估计量由于自变量的共线性使其方差增加的一个相对度量。


经验式的诊断方法


通过观察,得到一些多重相关性严重存在的迹象。

①在自变量的简单相关系数矩阵中,有某些自变量的相关系数值较大

②回归系数的代数符号与专业知识或一般经验相反;或者该自变量与因变量的简单相关系数符号相反

③对重要自变量的回归系数进行t检验,其结果不显著。特别是当F检验能在高精度下通过,测定系数R2的值也很大,但自变量的t检验却全都不显著,这时多重相关性的可能将会很大。

④如果增加或删除一个变量,或者增加或删除一个观测值,回归系数发生了明显的变化。

⑤重要自变量的回归系数置信区别明显过大。

⑥在自变量中,某一个自变量是另一部分自变量的完全或近似完全的线性组合。

⑦对于一般的观测数据,如果样本点的个数过少,比如接近于变量的个数或者少于变量的个数,样本数据中的多重相关性就会经常存在。

 

消除多重共线性的方法


解决办法概要:1、如果只关心方程的预测能力,则在整个方程显著的条件下,可以不必关心具体的回归系数。2、增加样本容量,剔除导致多重共线性的变量或者修改模型设定形式。3、对于时间序列样本,通过使用差分模型可以一定程度上消除原模型中的多重共线性。4、岭回归方法。5、逐步回归分析方法


解决办法更详细内容如下:


(1)真实的要素不可替代还是虚假的要素不可替代


在实际的经济计量过程中,多重共线性和要素之间的替代关系的经济学命题之间并不是严格对称的。我们可以说,只要要素之间同比例变动,经济计量模型中,就会出现多重共线性,但是反论则不一定成立。因为实际经济计量中影响多重共线性的原因很多。以生产函数为例,L和K高度线性相关可能存在于时间序列的模型中,因为L、K的变动均表现在时间上的连续性。因此尽管实际生活中二者有显著的替代关系,但在统计数据上因二者均随时间变化,故显示出很高的线性关系。多重共线性也可能存在于截面数据模型之中,因在现实中,企业资本量和劳动者数量与企业规模之间存在着确定关系,使得截面模型中的劳动和资本的统计数据也可能高度相关,甚至接近完全相关。在上述两种情况下,虽均存在着高度的多重共线性,但实际中要素之间却是可以相互替代的。从经济学意义上讲,’要素之间不可替代或是成固定比例替代都不是常态。因此,在经济定量分析中,对于第二种多重共线性情况,应首先寻找统计数据生成的因素并予以消除。

 

(2)增加经济变量的样本容量


当增加样本容量时,有可能改变某些经济变量的变化趋势,从而消除经济变量间的多重共线性。

 

(3)合并截面和时间序列数据


合并的方法是:由截面数据求出模型中一个或更多的系数估计值,’再从被解释变量中减去含有这些估计值的参数项,然后用它们的差作被解释变量,以时间序列的样本估计保留系

数的估计值。

 

(4)去掉某些对被解释变量影响不大的解释变量用逐步回归法


逐步回归法的基本思路是:首先将Y对其中一个解释变量回归,然后逐个加入其它解释变量,并将对被解释变量影响不大的解释变量筛选掉。或首先将Y对所有解释变量回归,然后筛选掉对被解释变量影响不大的解释变量。

 

逐步回归分析方法是综合了逐步剔除法和逐步引入法的特点产生的方法。其基本原理为:从一个自变量出发, 视自变量对因变量的影响显著性大小, 从大到小引入回归方程, 同时, 在逐个自变量选人回归方程中, 如果发现先前被引入的自变量在其后由于某些自变量的引入而失去其重要性,可以从回归方程中随时予以剔除。引入一个变量或剔除一个变量,为逐步回归的一步, 每步都要进行显著性检验, 以便保证每次引入变量前回归方程中只包括显著性变量, 这个过程反复进行, 直到既无不显著变量从方程中剔除, 又无显著变量需要引入回归方程为止。


剔除一些不重要的变量。当面临严重的共线性时, 一种最简单的方法就是去掉不太重要的自变量。但决定保留或剔除哪些自变量并不是一件容易的事。因此,如何判断某个变量是否重要, 是此方法的关键。从模型中删除一个变量, 还可能导致设定偏误。

 

(5)余差估计法


《数量经济技术经济研究》杂志1990年第4期发表的陕西财经学院郭其阳同志的文章中,用余差估计法消除多重共线性,我们认为是可行的。

 

(6)主成分估计


这是一种处理严重共线性的有偏估计方法。它利用主成分分析对自变量系统进行变量综合,然后将综合后的新变量作为解释变量, 再进行 OLS 

回归, 得到主成分估计。然而, 主成分估计的结果必然受到重叠信息的影响。另外主成分估计提取的主成分与因变量关系也不密切,使模型的拟合效果降低; 主成分的实际含义也不明确。

 

(7)岭回归


岭回归也是有偏估计方法。当出现严重共线性时,岭估计往往比 OLS

估计量更稳定, 以及更小的协方差矩阵。岭估计的最大困难是最优k值的选择。尽管人们提出了许多确定k值的原则和方法, 但理论上还未得到满意答案。实际应用中必须通过样本来确定, 存在明显的主观性。另外K 的真实含义也不清楚。

 

以上介绍了几种简单的消除多重共线性的方法。还有其它一些方法,例如参数约束修正法,主要分量法,岭回归估计方法等等,在此不再一一叙述。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多