©陈强,2015年,《计量经济学及Stata应用》,高等教育出版社,即将出版。
第7章异方差 古典线性回归模型假设的是一种理想状态。
但现实的数据千奇百怪,常常不符合古典模型的某些假定。
从本章开始,我们将逐步放松古典模型的各项假定。
7.1异方差的后果 “条件异方差”(conditionalheteroskedasticity),简称“异方差”(heteroskedasticity),是违背球型扰动项假设的一种情形,即条件方差Var(i|X)依赖于i,而不是常数
2。
在存在异方差的情况下:
(1)OLS估计量依然是无偏、一致且渐近正态的。
因为在证明这些性质时,并未用到“同方差”的假定。
(2)OLS估计量方差Var(βˆ|X)的表达式不再是2(XX)
1,因为Var(ε|X)2I。
使用普通标准误的t检验、F检验失效。
(3)高斯-马尔可夫定理不再成立,OLS不再是BLUE(最佳线性无偏估计)。
在存在异方差的情况下,本章将要介绍的“加权最小二乘法”才是BLUE。
为了直观地理解为何OLS不再是BLUE,考虑一元回归yixii,并假设Var(i|X)是解释变量xi的增函数,即xi越大则Var(i|X)越大,参见图7.1。
图7.1异方差示意图OLS回归线在xi较小时可以较精确地估计,而在xi较大时则难以准确估计。
方差较大的数据包含的信息量较小,但OLS却对所有的数据等量齐观地进行处理;故异方差的存在使得OLS的效率降低。
“加权最小二乘法”(WeightedLeastSquare,简记WLS)正是通过对不同数据所包含信息量的不同进行相应的处理以提高估计效率的。
比如,给予信息量大的数据更大的权重。
计量经济学所指的“异方差”都是“条件异方差”,而非“无条件异方差”。
比如,大样本OLS理论要求样本数据为平稳过程,而平稳过程的方差为不变。
这是否意味着,大样本OLS理论已经假设了同方差? 关键要区分无条件方差(unconditionalvariance)与条件方差(conditionalvariance)。
以一元回归模型yixii为例,假设xi,yi为平稳过程, 则iyixi也是平稳过程,故其无条件方差Var(i)2为常数,不随i而变。
所有个体的条件方差函数Var(i|x1,,xn)在函数形式上也完全相同;比如,Var(i|x1,,xn)xi2。
此条件方差函数的具体取值却依赖于xi,故仍可存在条件异方差。
比如,Var(1|x1,,xn)x12,Var(2|x1,,xn)x22,以此类推。
7.2异方差的例子
(1)考虑以下消费函数: ciyii (7.1) 其中,ci为消费,yi为收入。
一般来说,富人的消费计划较有弹性,而穷人的消费多为必需品,很少变动。
富人的消费支出可能更难 测量,故包含较多测量误差。
Var(i|yi)可能随yi的上升而变大。
(2)企业的投资、销售收入与利润:大型企业的商业活动可能动辄以亿元计,而小型企业则以万元计;因此,扰动项的规模也不相同。
如果将大、中、小型企业放在一起回归,则可能存在异方差。
(3)组间异方差:如果样本包含两组(类)数据,则可能存在组内同方差,但组间异方差的情形。
比如,第一组为自我雇佣者(企业主、个体户)的收入,而第二组为打工族的收入;则自我雇佣者的收入波动可能比打工族更大。
(4)组平均数:如果数据本身就是组平均数,则大组平均数的方差通常要比小组平均数的方差小。
比如,考虑全国各省的人均GDP,每个省一个数据。
显然,人口较多的省份其方差较小,方差与人口数成反比。
7.3异方差的检验
1.画残差图(residualplot) 由于残差可视为扰动项的实现值,故可通过残差的波动来大致考察是否存在异方差。
可以看“残差ei与拟合值yˆi的散点图”(residual-versus-fittedplot)。
也可看“残差ei与某个解释变量xik的散点图”(residual-versus-predictorplot)。
这是最直观的方法,但不严格。
2.BP检验(BreuschandPagan,1979) 假设回归模型为yi12xi2KxiKi 记xi(1xi2xiK)。
(7.2) 假设样本数据为iid,则Var(i|X)Var(i|xi)。
“条件同方差”的原假设为 H0:Var(i|xi)
2 (7.3) 由于Var(i|xi)E(i2|xi)[E(i|xi)]2E(i2|xi),原假设可写为
0 H0:E(i2|xi)
2 (7.4) 如果H0不成立,则条件方差E(i2|xi)是xi的函数,称为“条件方差函数”(conditionalvariancefunction)。
假设此条件方差函数为线性函数:i212xi2KxiKui 故原假设可简化为H0:2K
0 (7.5)(7.6) 在方程(7.5)中,由于扰动项i不可观测,故使用残差平方ei2替代之,进行以下辅助回归(auxiliaryregression): ei212xi2KxiKerrori(7.7) 记此辅助回归的拟合优度为R2。
R2越高,则此辅助回归方程越显著,越可以拒绝H0:2K
0。
BreuschandPagan(1979)使用LM统计量,进行LM检验(LagrangeMultiplierTest,参见第11章): LMnR2d2(K1) (7.8) 如果LM大于2(K1)的临界值,则拒绝同方差的原假设。
为什么LM统计量是nR2呢? 在大样本中,nR2与检验整个方程显著性的F统计量渐近等价。
首先,对于辅助回归(7.7),检验原假设“H0:2K0”的F统计量为(参见第5章) FR2/(K1)~F(K1,nK)(1R2)/(nK) (7.9) 其次,在大样本情况下,F分布与2分布是等价的(参见第6章), 即(K1)F(nK)R2d2(K1)。
(1R2) 进一步,在H0:2K0成立的情况下,辅助回归方程(7.7)仅对常数项回归,故 当n时,R2p
0,而(1R2)p
1。
因此, (K1)F(nK)R2p(nK)R21R2 (7.10) 在大样本下,(nK)R2与nR2并无差别,故LM检验与F检验渐 近等价。
如果认为异方差主要依赖于被解释变量的拟合值,可将辅助回 归(7.7)改为 ei212yˆierrori (7.11) yˆi为回归方程(7.2)的拟合值;然后检验H0:20(可使用F或LM统计量)。
BreuschandPagan(1979)的最初检验假设扰动项i服从正态分布,有一定局限性。
Koenker(1981)将此假定减弱为独立同分布(iid),在实际中较多采用。
3.怀特检验(White,1980)BP检验假设条件方差函数为线性函数,只是对条件方差函数的 一阶近似,可能忽略了高次项。
怀特检验(White,1980)在BP检验的辅助回归(7.7)中加入所有的二次项(含平方项与交叉项)。
不是一般性,考虑以下二元回归: yi12xi23xi3i (7.12) 除常数项外,只有两个解释变量xi2与xi3,故二次项包括xi22,xi23与xi2xi3。
因此,怀特检验的辅助回归为 ei212xi23xi34xi225xi236xi2xi3errori(7.13)其中,ei2为回归方程(7.12)的残差平方。
然后,对原假设“H0:260”进行F检验或LM检验。
怀特检验可检验任何形式的异方差;因为根据泰勒展开式(Taylorexpansion),二次函数可以很好地逼近任何光滑函数。
但如果解释变量较多,则解释变量的二次项(含交叉项)将更多,在辅助回归中将损失较多样本容量。
7.4异方差的处理
1.使用“OLS+稳健标准误” 如果发现存在异方差,一种处理方法是,仍然进行OLS回归(OLS仍然无偏、一致且渐近正态),但使用在异方差情况下也成立的稳健标准误。
这是最简单,也是目前通用的方法。
只要样本容量较大,即使在异方差的情况下,只要使用稳健标准误,则所有参数估计、假设检验均可照常进行。
但可能存在比OLS更有效率的方法,比如WLS。
2.加权最小二乘法(WLS)由于方差较小的观测值包含的信息量较大,故对于异方差的另 一处理方法是,给予方差较小的观测值较大的权重,然后进行加权最小二乘法估计。
对于存在异方差的数据,WLS的基本思想是,通过变量转换,使得变换后的模型满足球形扰动项的假定(变为同方差),然后进行OLS估计,即为最有效率的BLUE。
考虑线性回归模型: yi12xi2KxiKi(7.14) 假定Var(i|xi)i22vi,且viin1为已知。
在上式两边同乘权重1vi(个体i的标准差倒数)可得 yi1xi2xiKi v1v2v Kvv i i i i i 新扰动项ivi不再存在异方差,因为 (7.15) Vari v1Var()2vi
2 iv i v i i 对方程(7.15)进行OLS回归,即为WLS。
(7.16) 加权之后的回归方程满足球形扰动项的假定,故是BLUE。
从方程(7.15)可知,可将WLS定义为最小化“加权残差平方和”:即 n minei i
1 v
2 nei2 i i1vi (7.17) 从此角度,权重为1vi(即方差的倒数),Stata也这样约定。
WLS的R2通常没有太大意义,它衡量的是变换之后的解释变量 xikvi对变换之后的被解释变量yivi的解释力。
3.可行加权最小二乘法(FWLS)使用WLS虽可得到BLUE估计,但必须确切地知道每位个体的 方差,即i2in
1。
在实践中,通常不知道i2in
1,故WLS事实上“不可行” (infeasible)。
解决方法是先用样本数据估计i2in
1,然后再使用WLS,称为 “可行加权最小二乘法”(FeasibleWLS,简记FWLS)。
在作BP检验时,进行如下辅助回归: ei212xi2KxiKerrori其中,ei2为原方程(7.14)的残差平方。
(7.18) 通过此辅助回归的拟合值,即可获得i2的估计值: ˆi2ˆ1ˆ2xi2ˆKxiK(7.19)但在上式中可能出现“ˆi20”的情形,而方差不能为负。
为保证ˆi2始终为正,假设条件方差函数为对数形式: lnei212xi2KxiKerrori(7.20)对此方程进行OLS回归,可得lnei2的预测值,记为lnˆi2。
进而得到拟合值ˆi2exp(lnˆi2)(一定为正)。
然后以1ˆi2为权重对原方程(7.14)进行WLS估计。
记此估计量为ˆFWLS。
4.究竟使用“OLS+稳健标准误”还是FWLS 在理论上,WLS是BLUE。
但实践中使用的FWLS并非线性估计,因为权重1ˆi2也是y的函数。
由于ˆFWLS是y的非线性函数,一般来说是有偏的。
ˆFWLS甚至无资格参加BLUE的评选。
FWLS的优点主要体现在大样本理论中。
如果ˆi2 是 2i 的一致估计,则 FWLS 一致,且在大样本下比 OLS 更有效率。
FWLS的缺点是必须估计条件方差函数ˆi2(xi),而通常不知道条件方差函数的具体形式。
如果该函数的形式设定不正确,则根据FWLS计算的标准误可能失效,导致不正确的统计推断。
使用“OLS+稳健标准误”的好处是,它对回归系数及标准误的估计都一致,并不需要知道条件方差函数的形式。
在Stata中的操作也十分简单,只要在命令reg之后加选择项“robust”即可。
总之,“OLS+稳健标准误”更为稳健(即适用于更一般的情形),而FWLS更有效率。
必须在稳健性与有效性之间做选择。
前者相当于“万金油”(指谁都适用),而后者相当于“特效药”。
由于“病情”通常难以诊断(无法判断条件异方差的具体形式),故特效药也可能失效,甚至起反作用。
如果对 2i 估计不准确,则 FWLS 即使在大样本下也不是 BLUE, 其估计效率可能还不如OLS。
StockandWatson(2012)推荐,在大多数情况下应使用“OLS+稳健标准误”。
但Wooldridge(2009)指出,如果确实存在严重的异方差,则可通过使用FWLS来提高估计效率。
如果对于条件异方差函数的具体形式没有把握,不知道经过加权处理之后的新扰动项ivi是否同方差,可在进行WLS回归时仍使用异方差稳健的标准误,以保证FWLS标准误的有效性。
另外,如果被解释变量取值为正,有时将被解释变量取对数,可以缓解异方差问题(参见习题)。
7.5处理异方差的Stata命令及实例下面以数据集nerlove.dta为例,演示如何在Stata中处理异方差。
此数据集包括以下变量:tc(总成本),q(总产量),pl(工资率),pk(资本的使用成本)与pf(燃料价格),以及相应的对数值lntc,lnq,lnpl,lnpk与lnpf。
1.画残差图 完成回归后,可使用以下命令得到残差图: rvfplot (residual-versus-fittedplot) rvpplotvarname(residual-versus-predictorplot) 首先,打开数据集nerlove.dta,并以OLS估计对数形式的成本函数: .usenerlove.dta,clear .reglntclnqlnpllnpklnpf Source SS df MS Numberofobs= 145 F(4,140)=437.90 Model269.524728 467.3811819 Prob>
F =0.0000 Residual21.5420958140.153872113 R-squared =0.9260 AdjR-squared=0.9239 Total291.0668231442.02129738 RootMSE =.39227 lntc lnqlnpllnpklnpf_cons Coef.Std.Err. tP>|t| .7209135.4559645-.2151476.4258137-3.566513 .0174337.299802 .3398295.10032181.779383 41.351.52 -0.634.24 -2.00 0.0000.1310.5280.0000.047 [95%Conf.Interval] .6864462-.1367602-.8870089 .2274721-7.084448 .75538081.048689.4567136.6241554-.0485779 为初步考察是否存在异方差,下面画残差与拟合值的散点图,结果参见图7.2。
.rvfplot从图7.2可大致看出,当总成本(lntc的拟合值)较小时,扰动项的方差较大。
2 1 Residuals
0 -
1 -
2 图7.2
0 2
4 Fittedvalues 残差与拟合值的散点图 进一步考察残差与解释变量lnq的散点图,参见图7.3。
.rvpplotlnq从图7.3大致可知,当产量(lnq)越小时,扰动项的方差越大。
2 1 Residuals
0 -
1 0
2 4
6 8 10 log(q) 图7.3残差与解释变量lnq的散点图
2.BP检验在Stata中完成回归后,可使用以下命令进行BP检验: estathettest,iidrhs 其中,“estat”指post-estimationstatistics(估计后统计量),即在完成估计后所计算的后续统计量。
“hettest”表示heteroskedasticitytest。
选择项“iid”表示仅假定数据为iid,而无须正态假定。
选择项“rhs”表示,使用方程右边的全部解释变量进行辅助回归,默认使用拟合值yˆ进行辅助回归。
如果想指定使用某些解释变量进行辅助回归,可使用如下命令:estathettest[varlist],iid 其中,“[varlist]”为指定的变量清单;而“[]”表示其中的内容可出现在命令中,也可不出现。
回到Nerlove(1963)的例子:.quietlyreglntclnqlnpllnpklnpf其中,前缀(prefix)“quietly”表示执行此命令,但不在Stata的结果窗口显示运行结果。
首先,使用拟合值yˆ进行BP检验。
.estathettest,iid Breusch-Pagan/Cook-WeisbergtestforheteroskedasticityHo:ConstantvarianceVariables:fittedvaluesoflntc chi2
(1) = Prob>chi2= 29.130.0000 其次,使用所有解释变量进行BP检验。
.estathettest,iidrhs Breusch-Pagan/Cook-WeisbergtestforheteroskedasticityHo:ConstantvarianceVariables:lnqlnpllnpklnpf chi2
(4) = Prob>chi2= 36.160.0000 最后,使用变量lnq进行BP检验。
.estathettestlnq,iid Breusch-Pagan/Cook-WeisbergtestforheteroskedasticityHo:ConstantvarianceVariables:lnq chi2
(1) = Prob>chi2= 32.100.0000 以上各种形式BP检验的p值都等于0.0000,故强烈拒绝同方差的原假设,认为存在异方差。
3.怀特检验在Stata完成回归后,可使用如下命令进行怀特检验:estatimtest,white其中,“imtest”指informationmatrixtest(信息矩阵检验)。
继续以Nerlove(1963)为例:.estatimtest,white White'stestforHo:homoskedasticityagainstHa:unrestrictedheteroskedasticity chi2(14) = Prob>chi2= 73.880.0000 Cameron&Trivedi'spositionofIM-test Source HeteroskedasticitySkewnessKurtosis Total chi2 73.8822.79 2.62 99.29 df p 140.000040.000110.1055 190.0000 检验结果显示,p值(Prob>chi2)等于0.0000,故强烈拒绝同方差的原假设,认为存在异方差。
4.WLS 在得到扰动项方差的估计值ˆi2in1后,可作为权重进行WLS估 计。
假设已把ˆi2in1存储在变量var上,则可通过如下Stata命令来 实现WLS: regyx1x2x3[aw=1/var] 其中,“aw”表示analyticalweight,为扰动项方差(而不是标准差)的倒数。
继续以Nerlove(1963)为例。
首先计算残差,并记为e1:.quietlyreglntclnqlnpllnpklnpf .predicte1,residual其次,生成残差的平方,并记为e2:.gene2=e1^2将残差平方取对数,.genlne2=log(e2)假设lnˆi2为变量lnq的线性函数,进行以下辅助回归:.reglne2lnq Source ModelResidual Total SS df MS 105.722127701.999749 1105.7221271434.90908916 807.7218761445.60917969 Numberofobs= F(1,143)= Prob>
F = R-squared = AdjR-squared= RootMSE = 14521.540.00000.13090.12482.2156 lne2 lnq_cons Coef.Std.Err. tP>|t| -.4479545-.7452062 .0965276.6591018 -4.64-1.13 0.0000.260 [95%Conf.Interval] -.6387597-2.048048 -.2571492.5576351 尽管变量lnq在1%水平上显著,但R2仅为0.1309,且常数项不显著(p值为0.26)。
下面去掉常数项,重新进行辅助回归。
.reglne2lnq,noc Source ModelResidual Total SS df MS 2065.53636708.275258 12065.536361444.91857818 2773.8116214519.1297353 Numberofobs= F(1,144)= Prob>
F = R-squared = AdjR-squared= RootMSE = 145419.950.00000.74470.74292.2178 lne2lnq Coef.Std.Err. tP>|t| -.5527533.0269733-20.490.000 [95%Conf.Interval]-.6060681-.4994384 R2上升为0.7447(尽管无常数项的R2与有常数项的R2不可比),残差平方的变动与lnq高度相关。
接着计算以上辅助回归的拟合值,并记为lne2f:.predictlne2f(optionxbassumed;fittedvalues) 去掉对数后,即得到方差的估计值,并记为e2f:.gene2f=exp(lne2f) 最后,使用方差估计值的倒数作为权重,进行WLS回归:.reglntclnqlnpllnpklnpf[aw=1/e2f] Source ModelResidual Total SS df MS 173.0699886.76790874 443.2674971140.048342205 179.8378971441.24887428 Numberofobs= F(4,140)= Prob>
F = R-squared = AdjR-squared= RootMSE = 145895.030.00000.96240.9613.21987 lntc lnqlnpllnpklnpf_cons Coef.Std.Err. tP>|t| .8759035.5603879-.0929807.4672438-5.522088 .0153841.1734141.1960402.0616476.9928472 56.943.23 -0.477.58 -5.56 0.0000.0020.6360.0000.000 [95%Conf.Interval] .8454883.2175389-.4805627.3453632 -7.485 .9063187.9032369.2946014.5891243-3.559176 WLS回归的结果显示,lnpk的系数估计值由“-0.22”(OLS估计值)改进为“-0.09”(其理论值应为正数)。
另一方面,使用OLS时,变量lnpl的p值为0.13,在10%的水平上也不显著;而使用WLS后,该变量的p值变为0.002,在1%的水平上显著不为
0。
由于Nerlove(1963)数据存在明显的异方差,使用WLS后提高了估计效率。
如果担心对条件方差函数的设定不准确,导致加权变换后的新扰动项仍有一定的异方差,可使用稳健标准误进行WLS估计: .reglntclnqlnpllnpklnpf[aw=1/e2f],r Linearregression Numberofobs= F(4,140)= Prob>
F = R-squared = RootMSE = 145534.500.00000.9624.21987 lntc lnqlnpllnpklnpf_cons Coef. RobustStd.Err. tP>|t| .8759035.5603879-.0929807.4672438-5.522088 .020787.2090099.3016444.04399151.671596 42.142.68 -0.3110.62-3.30 0.0000.0080.7580.0000.001 [95%Conf.Interval] .8348064.147164 -.6893478.3802702 -8.826924 .9170006.9736118.5033864.5542173-2.217252 无论是否使用稳健标准误,WLS的回归系数都相同,但标准误有所不同。
7.6Stata命令的批处理在进行计量分析时,有时需使用一系列命令对数据集进行处理。
如果每次只在命令窗口输入一个命令,可能带来不便。
可把所有命令放入一个Stata“do文件”(即以“do”为扩展名的 程序文件),进行批处理。
在Stata中,点击NewDo-fileEditor快捷键(参见图7.4),即可 打开一个“do文件编辑器”(Do-fileEditor),写入需要执行的命令。
图7.4Stata的NewDo-fileEditor快捷键 以上文的加权最小二乘法为例。
假设数据文件nerlove.dta在当前路径,则可在“do文件编辑器”中输入如下命令: *WLSforNerlove(1963)capturelogcloselogusingwls_nerlove.smcl,replacesetmoreoffusenerlove.dta,clearreglntclnqlnpllnpklnpfpredicte1,resgene2=e1^2genlne2=log(e2)reglne2lnq,noc predictlne2fgene2f=exp(lne2f)*Weightedleastsquareregressionreglntclnqlnpllnpklnpf[aw=1/e2f]reglntclnqlnpllnpklnpf[aw=1/e2f],rlogcloseexit 其中,“*”表示不执行其后的命令,常用来作为注释(便于自己或他人理解程序)。
“capturelogclose”表示如有已打开的日志文件,先将其关闭(如有打开的日志文件,无法定义新的日志文件)。
命令“logusingwls_nerlove.smcl,replace”表示在当前路径创建名为“wls_nerlove.smcl”的日志文件(选择项replace表示可覆盖此文件的原有内容),并将Stata运行结果记录于此日志文件。
命令“setmoreoff”使得Stata输出结果可自动连贯显示,而无须点击“more”翻屏。
输入以上命令后,点击Do-fileEditor的Execute(do)快捷键即可运行此程序,参见图7.5。
图7.5Do-fileEditor的Execute(do)快捷键 如果要存储此程序文件,可点击Do-fileEditor窗口的菜单FileSave(或SaveAs);比如,将此程序文件存为“wls_nerlove.do”, 参见图7.6。
图7.6存储do文件存储Stata的do文件后,可在Stata中点击菜单FileDo,寻找“wls_nerlove.do”文件,然后执行此文件,参见图7.7。
图7.7执行do文件 如要编辑此文件,可用鼠标右键点击“wls_nerlove.do”图标,选择用“记事本”(Notepad)打开,编辑后存盘即可,参见图7.8。
图7.8编辑do文件
第7章异方差 古典线性回归模型假设的是一种理想状态。
但现实的数据千奇百怪,常常不符合古典模型的某些假定。
从本章开始,我们将逐步放松古典模型的各项假定。
7.1异方差的后果 “条件异方差”(conditionalheteroskedasticity),简称“异方差”(heteroskedasticity),是违背球型扰动项假设的一种情形,即条件方差Var(i|X)依赖于i,而不是常数
2。
在存在异方差的情况下:
(1)OLS估计量依然是无偏、一致且渐近正态的。
因为在证明这些性质时,并未用到“同方差”的假定。
(2)OLS估计量方差Var(βˆ|X)的表达式不再是2(XX)
1,因为Var(ε|X)2I。
使用普通标准误的t检验、F检验失效。
(3)高斯-马尔可夫定理不再成立,OLS不再是BLUE(最佳线性无偏估计)。
在存在异方差的情况下,本章将要介绍的“加权最小二乘法”才是BLUE。
为了直观地理解为何OLS不再是BLUE,考虑一元回归yixii,并假设Var(i|X)是解释变量xi的增函数,即xi越大则Var(i|X)越大,参见图7.1。
图7.1异方差示意图OLS回归线在xi较小时可以较精确地估计,而在xi较大时则难以准确估计。
方差较大的数据包含的信息量较小,但OLS却对所有的数据等量齐观地进行处理;故异方差的存在使得OLS的效率降低。
“加权最小二乘法”(WeightedLeastSquare,简记WLS)正是通过对不同数据所包含信息量的不同进行相应的处理以提高估计效率的。
比如,给予信息量大的数据更大的权重。
计量经济学所指的“异方差”都是“条件异方差”,而非“无条件异方差”。
比如,大样本OLS理论要求样本数据为平稳过程,而平稳过程的方差为不变。
这是否意味着,大样本OLS理论已经假设了同方差? 关键要区分无条件方差(unconditionalvariance)与条件方差(conditionalvariance)。
以一元回归模型yixii为例,假设xi,yi为平稳过程, 则iyixi也是平稳过程,故其无条件方差Var(i)2为常数,不随i而变。
所有个体的条件方差函数Var(i|x1,,xn)在函数形式上也完全相同;比如,Var(i|x1,,xn)xi2。
此条件方差函数的具体取值却依赖于xi,故仍可存在条件异方差。
比如,Var(1|x1,,xn)x12,Var(2|x1,,xn)x22,以此类推。
7.2异方差的例子
(1)考虑以下消费函数: ciyii (7.1) 其中,ci为消费,yi为收入。
一般来说,富人的消费计划较有弹性,而穷人的消费多为必需品,很少变动。
富人的消费支出可能更难 测量,故包含较多测量误差。
Var(i|yi)可能随yi的上升而变大。
(2)企业的投资、销售收入与利润:大型企业的商业活动可能动辄以亿元计,而小型企业则以万元计;因此,扰动项的规模也不相同。
如果将大、中、小型企业放在一起回归,则可能存在异方差。
(3)组间异方差:如果样本包含两组(类)数据,则可能存在组内同方差,但组间异方差的情形。
比如,第一组为自我雇佣者(企业主、个体户)的收入,而第二组为打工族的收入;则自我雇佣者的收入波动可能比打工族更大。
(4)组平均数:如果数据本身就是组平均数,则大组平均数的方差通常要比小组平均数的方差小。
比如,考虑全国各省的人均GDP,每个省一个数据。
显然,人口较多的省份其方差较小,方差与人口数成反比。
7.3异方差的检验
1.画残差图(residualplot) 由于残差可视为扰动项的实现值,故可通过残差的波动来大致考察是否存在异方差。
可以看“残差ei与拟合值yˆi的散点图”(residual-versus-fittedplot)。
也可看“残差ei与某个解释变量xik的散点图”(residual-versus-predictorplot)。
这是最直观的方法,但不严格。
2.BP检验(BreuschandPagan,1979) 假设回归模型为yi12xi2KxiKi 记xi(1xi2xiK)。
(7.2) 假设样本数据为iid,则Var(i|X)Var(i|xi)。
“条件同方差”的原假设为 H0:Var(i|xi)
2 (7.3) 由于Var(i|xi)E(i2|xi)[E(i|xi)]2E(i2|xi),原假设可写为
0 H0:E(i2|xi)
2 (7.4) 如果H0不成立,则条件方差E(i2|xi)是xi的函数,称为“条件方差函数”(conditionalvariancefunction)。
假设此条件方差函数为线性函数:i212xi2KxiKui 故原假设可简化为H0:2K
0 (7.5)(7.6) 在方程(7.5)中,由于扰动项i不可观测,故使用残差平方ei2替代之,进行以下辅助回归(auxiliaryregression): ei212xi2KxiKerrori(7.7) 记此辅助回归的拟合优度为R2。
R2越高,则此辅助回归方程越显著,越可以拒绝H0:2K
0。
BreuschandPagan(1979)使用LM统计量,进行LM检验(LagrangeMultiplierTest,参见第11章): LMnR2d2(K1) (7.8) 如果LM大于2(K1)的临界值,则拒绝同方差的原假设。
为什么LM统计量是nR2呢? 在大样本中,nR2与检验整个方程显著性的F统计量渐近等价。
首先,对于辅助回归(7.7),检验原假设“H0:2K0”的F统计量为(参见第5章) FR2/(K1)~F(K1,nK)(1R2)/(nK) (7.9) 其次,在大样本情况下,F分布与2分布是等价的(参见第6章), 即(K1)F(nK)R2d2(K1)。
(1R2) 进一步,在H0:2K0成立的情况下,辅助回归方程(7.7)仅对常数项回归,故 当n时,R2p
0,而(1R2)p
1。
因此, (K1)F(nK)R2p(nK)R21R2 (7.10) 在大样本下,(nK)R2与nR2并无差别,故LM检验与F检验渐 近等价。
如果认为异方差主要依赖于被解释变量的拟合值,可将辅助回 归(7.7)改为 ei212yˆierrori (7.11) yˆi为回归方程(7.2)的拟合值;然后检验H0:20(可使用F或LM统计量)。
BreuschandPagan(1979)的最初检验假设扰动项i服从正态分布,有一定局限性。
Koenker(1981)将此假定减弱为独立同分布(iid),在实际中较多采用。
3.怀特检验(White,1980)BP检验假设条件方差函数为线性函数,只是对条件方差函数的 一阶近似,可能忽略了高次项。
怀特检验(White,1980)在BP检验的辅助回归(7.7)中加入所有的二次项(含平方项与交叉项)。
不是一般性,考虑以下二元回归: yi12xi23xi3i (7.12) 除常数项外,只有两个解释变量xi2与xi3,故二次项包括xi22,xi23与xi2xi3。
因此,怀特检验的辅助回归为 ei212xi23xi34xi225xi236xi2xi3errori(7.13)其中,ei2为回归方程(7.12)的残差平方。
然后,对原假设“H0:260”进行F检验或LM检验。
怀特检验可检验任何形式的异方差;因为根据泰勒展开式(Taylorexpansion),二次函数可以很好地逼近任何光滑函数。
但如果解释变量较多,则解释变量的二次项(含交叉项)将更多,在辅助回归中将损失较多样本容量。
7.4异方差的处理
1.使用“OLS+稳健标准误” 如果发现存在异方差,一种处理方法是,仍然进行OLS回归(OLS仍然无偏、一致且渐近正态),但使用在异方差情况下也成立的稳健标准误。
这是最简单,也是目前通用的方法。
只要样本容量较大,即使在异方差的情况下,只要使用稳健标准误,则所有参数估计、假设检验均可照常进行。
但可能存在比OLS更有效率的方法,比如WLS。
2.加权最小二乘法(WLS)由于方差较小的观测值包含的信息量较大,故对于异方差的另 一处理方法是,给予方差较小的观测值较大的权重,然后进行加权最小二乘法估计。
对于存在异方差的数据,WLS的基本思想是,通过变量转换,使得变换后的模型满足球形扰动项的假定(变为同方差),然后进行OLS估计,即为最有效率的BLUE。
考虑线性回归模型: yi12xi2KxiKi(7.14) 假定Var(i|xi)i22vi,且viin1为已知。
在上式两边同乘权重1vi(个体i的标准差倒数)可得 yi1xi2xiKi v1v2v Kvv i i i i i 新扰动项ivi不再存在异方差,因为 (7.15) Vari v1Var()2vi
2 iv i v i i 对方程(7.15)进行OLS回归,即为WLS。
(7.16) 加权之后的回归方程满足球形扰动项的假定,故是BLUE。
从方程(7.15)可知,可将WLS定义为最小化“加权残差平方和”:即 n minei i
1 v
2 nei2 i i1vi (7.17) 从此角度,权重为1vi(即方差的倒数),Stata也这样约定。
WLS的R2通常没有太大意义,它衡量的是变换之后的解释变量 xikvi对变换之后的被解释变量yivi的解释力。
3.可行加权最小二乘法(FWLS)使用WLS虽可得到BLUE估计,但必须确切地知道每位个体的 方差,即i2in
1。
在实践中,通常不知道i2in
1,故WLS事实上“不可行” (infeasible)。
解决方法是先用样本数据估计i2in
1,然后再使用WLS,称为 “可行加权最小二乘法”(FeasibleWLS,简记FWLS)。
在作BP检验时,进行如下辅助回归: ei212xi2KxiKerrori其中,ei2为原方程(7.14)的残差平方。
(7.18) 通过此辅助回归的拟合值,即可获得i2的估计值: ˆi2ˆ1ˆ2xi2ˆKxiK(7.19)但在上式中可能出现“ˆi20”的情形,而方差不能为负。
为保证ˆi2始终为正,假设条件方差函数为对数形式: lnei212xi2KxiKerrori(7.20)对此方程进行OLS回归,可得lnei2的预测值,记为lnˆi2。
进而得到拟合值ˆi2exp(lnˆi2)(一定为正)。
然后以1ˆi2为权重对原方程(7.14)进行WLS估计。
记此估计量为ˆFWLS。
4.究竟使用“OLS+稳健标准误”还是FWLS 在理论上,WLS是BLUE。
但实践中使用的FWLS并非线性估计,因为权重1ˆi2也是y的函数。
由于ˆFWLS是y的非线性函数,一般来说是有偏的。
ˆFWLS甚至无资格参加BLUE的评选。
FWLS的优点主要体现在大样本理论中。
如果ˆi2 是 2i 的一致估计,则 FWLS 一致,且在大样本下比 OLS 更有效率。
FWLS的缺点是必须估计条件方差函数ˆi2(xi),而通常不知道条件方差函数的具体形式。
如果该函数的形式设定不正确,则根据FWLS计算的标准误可能失效,导致不正确的统计推断。
使用“OLS+稳健标准误”的好处是,它对回归系数及标准误的估计都一致,并不需要知道条件方差函数的形式。
在Stata中的操作也十分简单,只要在命令reg之后加选择项“robust”即可。
总之,“OLS+稳健标准误”更为稳健(即适用于更一般的情形),而FWLS更有效率。
必须在稳健性与有效性之间做选择。
前者相当于“万金油”(指谁都适用),而后者相当于“特效药”。
由于“病情”通常难以诊断(无法判断条件异方差的具体形式),故特效药也可能失效,甚至起反作用。
如果对 2i 估计不准确,则 FWLS 即使在大样本下也不是 BLUE, 其估计效率可能还不如OLS。
StockandWatson(2012)推荐,在大多数情况下应使用“OLS+稳健标准误”。
但Wooldridge(2009)指出,如果确实存在严重的异方差,则可通过使用FWLS来提高估计效率。
如果对于条件异方差函数的具体形式没有把握,不知道经过加权处理之后的新扰动项ivi是否同方差,可在进行WLS回归时仍使用异方差稳健的标准误,以保证FWLS标准误的有效性。
另外,如果被解释变量取值为正,有时将被解释变量取对数,可以缓解异方差问题(参见习题)。
7.5处理异方差的Stata命令及实例下面以数据集nerlove.dta为例,演示如何在Stata中处理异方差。
此数据集包括以下变量:tc(总成本),q(总产量),pl(工资率),pk(资本的使用成本)与pf(燃料价格),以及相应的对数值lntc,lnq,lnpl,lnpk与lnpf。
1.画残差图 完成回归后,可使用以下命令得到残差图: rvfplot (residual-versus-fittedplot) rvpplotvarname(residual-versus-predictorplot) 首先,打开数据集nerlove.dta,并以OLS估计对数形式的成本函数: .usenerlove.dta,clear .reglntclnqlnpllnpklnpf Source SS df MS Numberofobs= 145 F(4,140)=437.90 Model269.524728 467.3811819 Prob>
F =0.0000 Residual21.5420958140.153872113 R-squared =0.9260 AdjR-squared=0.9239 Total291.0668231442.02129738 RootMSE =.39227 lntc lnqlnpllnpklnpf_cons Coef.Std.Err. tP>|t| .7209135.4559645-.2151476.4258137-3.566513 .0174337.299802 .3398295.10032181.779383 41.351.52 -0.634.24 -2.00 0.0000.1310.5280.0000.047 [95%Conf.Interval] .6864462-.1367602-.8870089 .2274721-7.084448 .75538081.048689.4567136.6241554-.0485779 为初步考察是否存在异方差,下面画残差与拟合值的散点图,结果参见图7.2。
.rvfplot从图7.2可大致看出,当总成本(lntc的拟合值)较小时,扰动项的方差较大。
2 1 Residuals
0 -
1 -
2 图7.2
0 2
4 Fittedvalues 残差与拟合值的散点图 进一步考察残差与解释变量lnq的散点图,参见图7.3。
.rvpplotlnq从图7.3大致可知,当产量(lnq)越小时,扰动项的方差越大。
2 1 Residuals
0 -
1 0
2 4
6 8 10 log(q) 图7.3残差与解释变量lnq的散点图
2.BP检验在Stata中完成回归后,可使用以下命令进行BP检验: estathettest,iidrhs 其中,“estat”指post-estimationstatistics(估计后统计量),即在完成估计后所计算的后续统计量。
“hettest”表示heteroskedasticitytest。
选择项“iid”表示仅假定数据为iid,而无须正态假定。
选择项“rhs”表示,使用方程右边的全部解释变量进行辅助回归,默认使用拟合值yˆ进行辅助回归。
如果想指定使用某些解释变量进行辅助回归,可使用如下命令:estathettest[varlist],iid 其中,“[varlist]”为指定的变量清单;而“[]”表示其中的内容可出现在命令中,也可不出现。
回到Nerlove(1963)的例子:.quietlyreglntclnqlnpllnpklnpf其中,前缀(prefix)“quietly”表示执行此命令,但不在Stata的结果窗口显示运行结果。
首先,使用拟合值yˆ进行BP检验。
.estathettest,iid Breusch-Pagan/Cook-WeisbergtestforheteroskedasticityHo:ConstantvarianceVariables:fittedvaluesoflntc chi2
(1) = Prob>chi2= 29.130.0000 其次,使用所有解释变量进行BP检验。
.estathettest,iidrhs Breusch-Pagan/Cook-WeisbergtestforheteroskedasticityHo:ConstantvarianceVariables:lnqlnpllnpklnpf chi2
(4) = Prob>chi2= 36.160.0000 最后,使用变量lnq进行BP检验。
.estathettestlnq,iid Breusch-Pagan/Cook-WeisbergtestforheteroskedasticityHo:ConstantvarianceVariables:lnq chi2
(1) = Prob>chi2= 32.100.0000 以上各种形式BP检验的p值都等于0.0000,故强烈拒绝同方差的原假设,认为存在异方差。
3.怀特检验在Stata完成回归后,可使用如下命令进行怀特检验:estatimtest,white其中,“imtest”指informationmatrixtest(信息矩阵检验)。
继续以Nerlove(1963)为例:.estatimtest,white White'stestforHo:homoskedasticityagainstHa:unrestrictedheteroskedasticity chi2(14) = Prob>chi2= 73.880.0000 Cameron&Trivedi'spositionofIM-test Source HeteroskedasticitySkewnessKurtosis Total chi2 73.8822.79 2.62 99.29 df p 140.000040.000110.1055 190.0000 检验结果显示,p值(Prob>chi2)等于0.0000,故强烈拒绝同方差的原假设,认为存在异方差。
4.WLS 在得到扰动项方差的估计值ˆi2in1后,可作为权重进行WLS估 计。
假设已把ˆi2in1存储在变量var上,则可通过如下Stata命令来 实现WLS: regyx1x2x3[aw=1/var] 其中,“aw”表示analyticalweight,为扰动项方差(而不是标准差)的倒数。
继续以Nerlove(1963)为例。
首先计算残差,并记为e1:.quietlyreglntclnqlnpllnpklnpf .predicte1,residual其次,生成残差的平方,并记为e2:.gene2=e1^2将残差平方取对数,.genlne2=log(e2)假设lnˆi2为变量lnq的线性函数,进行以下辅助回归:.reglne2lnq Source ModelResidual Total SS df MS 105.722127701.999749 1105.7221271434.90908916 807.7218761445.60917969 Numberofobs= F(1,143)= Prob>
F = R-squared = AdjR-squared= RootMSE = 14521.540.00000.13090.12482.2156 lne2 lnq_cons Coef.Std.Err. tP>|t| -.4479545-.7452062 .0965276.6591018 -4.64-1.13 0.0000.260 [95%Conf.Interval] -.6387597-2.048048 -.2571492.5576351 尽管变量lnq在1%水平上显著,但R2仅为0.1309,且常数项不显著(p值为0.26)。
下面去掉常数项,重新进行辅助回归。
.reglne2lnq,noc Source ModelResidual Total SS df MS 2065.53636708.275258 12065.536361444.91857818 2773.8116214519.1297353 Numberofobs= F(1,144)= Prob>
F = R-squared = AdjR-squared= RootMSE = 145419.950.00000.74470.74292.2178 lne2lnq Coef.Std.Err. tP>|t| -.5527533.0269733-20.490.000 [95%Conf.Interval]-.6060681-.4994384 R2上升为0.7447(尽管无常数项的R2与有常数项的R2不可比),残差平方的变动与lnq高度相关。
接着计算以上辅助回归的拟合值,并记为lne2f:.predictlne2f(optionxbassumed;fittedvalues) 去掉对数后,即得到方差的估计值,并记为e2f:.gene2f=exp(lne2f) 最后,使用方差估计值的倒数作为权重,进行WLS回归:.reglntclnqlnpllnpklnpf[aw=1/e2f] Source ModelResidual Total SS df MS 173.0699886.76790874 443.2674971140.048342205 179.8378971441.24887428 Numberofobs= F(4,140)= Prob>
F = R-squared = AdjR-squared= RootMSE = 145895.030.00000.96240.9613.21987 lntc lnqlnpllnpklnpf_cons Coef.Std.Err. tP>|t| .8759035.5603879-.0929807.4672438-5.522088 .0153841.1734141.1960402.0616476.9928472 56.943.23 -0.477.58 -5.56 0.0000.0020.6360.0000.000 [95%Conf.Interval] .8454883.2175389-.4805627.3453632 -7.485 .9063187.9032369.2946014.5891243-3.559176 WLS回归的结果显示,lnpk的系数估计值由“-0.22”(OLS估计值)改进为“-0.09”(其理论值应为正数)。
另一方面,使用OLS时,变量lnpl的p值为0.13,在10%的水平上也不显著;而使用WLS后,该变量的p值变为0.002,在1%的水平上显著不为
0。
由于Nerlove(1963)数据存在明显的异方差,使用WLS后提高了估计效率。
如果担心对条件方差函数的设定不准确,导致加权变换后的新扰动项仍有一定的异方差,可使用稳健标准误进行WLS估计: .reglntclnqlnpllnpklnpf[aw=1/e2f],r Linearregression Numberofobs= F(4,140)= Prob>
F = R-squared = RootMSE = 145534.500.00000.9624.21987 lntc lnqlnpllnpklnpf_cons Coef. RobustStd.Err. tP>|t| .8759035.5603879-.0929807.4672438-5.522088 .020787.2090099.3016444.04399151.671596 42.142.68 -0.3110.62-3.30 0.0000.0080.7580.0000.001 [95%Conf.Interval] .8348064.147164 -.6893478.3802702 -8.826924 .9170006.9736118.5033864.5542173-2.217252 无论是否使用稳健标准误,WLS的回归系数都相同,但标准误有所不同。
7.6Stata命令的批处理在进行计量分析时,有时需使用一系列命令对数据集进行处理。
如果每次只在命令窗口输入一个命令,可能带来不便。
可把所有命令放入一个Stata“do文件”(即以“do”为扩展名的 程序文件),进行批处理。
在Stata中,点击NewDo-fileEditor快捷键(参见图7.4),即可 打开一个“do文件编辑器”(Do-fileEditor),写入需要执行的命令。
图7.4Stata的NewDo-fileEditor快捷键 以上文的加权最小二乘法为例。
假设数据文件nerlove.dta在当前路径,则可在“do文件编辑器”中输入如下命令: *WLSforNerlove(1963)capturelogcloselogusingwls_nerlove.smcl,replacesetmoreoffusenerlove.dta,clearreglntclnqlnpllnpklnpfpredicte1,resgene2=e1^2genlne2=log(e2)reglne2lnq,noc predictlne2fgene2f=exp(lne2f)*Weightedleastsquareregressionreglntclnqlnpllnpklnpf[aw=1/e2f]reglntclnqlnpllnpklnpf[aw=1/e2f],rlogcloseexit 其中,“*”表示不执行其后的命令,常用来作为注释(便于自己或他人理解程序)。
“capturelogclose”表示如有已打开的日志文件,先将其关闭(如有打开的日志文件,无法定义新的日志文件)。
命令“logusingwls_nerlove.smcl,replace”表示在当前路径创建名为“wls_nerlove.smcl”的日志文件(选择项replace表示可覆盖此文件的原有内容),并将Stata运行结果记录于此日志文件。
命令“setmoreoff”使得Stata输出结果可自动连贯显示,而无须点击“more”翻屏。
输入以上命令后,点击Do-fileEditor的Execute(do)快捷键即可运行此程序,参见图7.5。
图7.5Do-fileEditor的Execute(do)快捷键 如果要存储此程序文件,可点击Do-fileEditor窗口的菜单FileSave(或SaveAs);比如,将此程序文件存为“wls_nerlove.do”, 参见图7.6。
图7.6存储do文件存储Stata的do文件后,可在Stata中点击菜单FileDo,寻找“wls_nerlove.do”文件,然后执行此文件,参见图7.7。
图7.7执行do文件 如要编辑此文件,可用鼠标右键点击“wls_nerlove.do”图标,选择用“记事本”(Notepad)打开,编辑后存盘即可,参见图7.8。
图7.8编辑do文件
声明:
该资讯来自于互联网网友发布,如有侵犯您的权益请联系我们。