计量经济软件应用——Stata软件实验之异方差实验目的:能够借助Stata软件诊断异方差的存在(White检验)和修正异方差(加权最小二乘法WLS),能对软件运行结果进行解释。知识点:异方差检验的最常用方法——White检验出现异方差的最常见原因,是误差项的条件方差与某些解释变量相关,因此检验异方差的基本思路就是看误差项的条件方差是否与解释变量相关。怀特检验考虑到误差项方差与所有解释变量的相关关系,还进一步考虑了误差项方差与所有解释变量的平方及每两个解释变量的交互项的相关关系。怀特检验分为怀特一般检验(White’sgeneraltest)和怀特特殊检验(White’sspecialtest)。例如对于包含3个解释变量的原模型,怀特一般检验的模型为:22220112233415263712813923eXXXXXXXXXXaXX0129:0Ha原假设实际上是对模型进行回归总体显著性检验(F检验),如果拒绝原假设,则存在异方差,如果不能拒绝原假设,则不存在异方差。容易看出,用于怀特一般检验的模型会包含很多解释变量;例如如果原模型有3个解释变量,那么怀特一般检验的模型将包含9个解释变量,而如果原模型有6个解释变量,那么怀特一般检验的模型将包含27个解释变量。这样对于样本容量不大的数据,使用怀特一般检验会使得估计的时候自由度偏少。为此,怀特特殊检验使用了一个节省自由度的回归模型,即:其中是原模型的拟合值,是拟合值的平方。由于是所有解释变量的线性函数,而是这些解释变量的平方项和交互项的线性函数,因此用该模型代替怀特一般检验的模型来22012ˆˆ(1)eYYˆY2ˆYˆY2ˆY进行异方差检验是可行的。具体来说,针对模型(1),同方差原假设为:原假设实际上是对模型(1)进行回归总体显著性检验(F检验);如果拒绝原假设,则存在异方差,如果不能拒绝原假设,则不存在异方差。异方差的修正——加权最小二乘法如果通过White检验发现存在异方差性,可以使用加权最小二乘(WLS)进行估计。1、异方差形式已知时的加权最小二乘估计(以一元为例)假如已经知道异方差的具体形式,如:其中简记为是解释变量的一个已知函数;对于原模型两端乘以权重,得到:012:0H222()()iiiiVarhXh()ihXih01iiiYX1ih(同方差模型)2、异方差形式未知时的加权最小二乘估计(以一元为例)在一般情况下,我们不可能知道的异方差的具体形式,这就需要对异方差的函数形式做出估计,然后再进行加权最小二乘估计。这种方法属于可行的广义最小二乘估计(FGLS)的一种。处理异方差问题的FGLS的步骤是:第1步:对进行OLS回归,得到残差平方及其自然对数;第2步:对以下模型进行OLS回归,并得到拟合值第3步:计算的指数(这里exp是Stata指数函数的命令)01iiiiiiiYXhhhh01iiiYX2ie2lnie201lniiieaaXv2ˆlniigeigˆiihexpg()第4步:以为异方差函数形式的估计对原模型进行WLS估计,权重为,此时,变换后的模型为:此模型为同方差模型。ˆih01iiiYX01ˆˆˆˆiiiiiiiYXhhhh1ˆih异方差检验和修正的Stata基本命令whitetst对最近的回归进行怀特一般检验。whitetst,fitted对最近的回归进行怀特特殊检验。wls0yx1x2…xk,wvar(hh)type(abse)nocony对x1,x2,…,xk的WLS回归,wvar(hh)中的hh表示异方差函数形式的开平方,注意这里是异方差函数形式的开平方;选项type(abse)和nocon是使用上述FGLS方法时必须指定的。Stata软件操作实例实验1工资方程中异方差的检验和修正本例使用“工资方程1.dta”数据文件介绍异方差的检验和修正。1、打开数据文件。直接双击“工资方程1.dta”文件;或者点击Stata窗口工具栏最左侧的Open键,然后选择“工资方程1.dta”即可;2、估计工资方程:其中lnwage工资对数,exp工作经验,expsq工作经验的平方;命令及运行结果:reglnwageeduexpexpsq0123ln+(2)wageeduexpexpsqu_cons1.159347.082564714.040.000.99736241.321331expsq-.0002567.000094-2.730.006-.0004411-.0000722exp.0142112.00437743.250.001.0056232.0227992edu.0552351.00622688.870.000.0430186.0674516lnwageCoef.Std.Err.tP|t|[95%Conf.Interval]Total344.782211224.281684812RootMSE=.51099AdjR-squared=0.0730Residual318.8157821221.261110386R-squared=0.0753Model25.966428238.65547607ProbF=0.0000F(3,1221)=33.15SourceSSdfMSNumberofobs=1225.reglnwageeduexpexpsqStata软件操作实例3、异方差的检验:white检验怀特检验分为怀特一般检验和怀特特殊检验。怀特一般检验的步骤:第1步:对(2)式进行OLS回归。在这里,我们对这一回归的结果不感兴趣,可以在reg命令前加上quietly选项,其含义是让Stata进行回归,但不显示结果。(quietly可用于任何Stata命令的前面,表示不在Stata的Result窗口中显示分析结果。)quietlyreglnwageeduexpexpsq第2步:使用predict命令生成残差u(e),并生成残差的平方usq()。predictu,residualgenusq=u^22eStata软件操作实例第3步:生成所有解释变量的平方项:edusq、expsqsq(原模型的解释变量中已经有exp的平方项expsq,所以不用再生成exp的平方项);生成每两个解释变量的交互项:edu_exp、edu_expsq、exp_expsq。genedusq=edu^2genexpsqsq=expsq^2genedu_exp=edu*expgenedu_expsq=edu*expsqgenexp_expsq=exp*expsq第4步:做usq对所有解释变量、解释变量平方项及每两个解释变量的交互项的回归,即(3)式,根据该模型的回归总体显著性检验的F统计量来检验同方差性原假设是否成立。012345678+__(3)usqeduexpexpsqedusqexpsqsqedu_expeduexpsqexpexpsqvStata软件操作实例regusqeduexpexpsqedusqexpsqsqedu_expedu_expsqexp_expsq回归结果表明,回归总体显著性检验的F统计量的伴随概率P值为0.0000,故可以在1%显著性水平上拒绝同方差原假设,即原模型中存在异方差性。_cons1.169762.2836174.120.000.61332881.726195exp_expsq-.0000538.0000475-1.130.258-.000147.0000395edu_expsq-.0000526.0000361-1.460.145-.0001233.0000182edu_exp.0042543.00170952.490.013.0009005.0076082expsqsq6.26e-074.98e-071.260.209-3.51e-071.60e-06edusq.005972.00132364.510.000.0033752.0085688expsq.0020642.00161051.280.200-.0010955.0052239exp-.0557473.0286069-1.950.052-.1118717.0003771edu-.1529231.0364649-4.190.000-.2244643-.081382usqCoef.Std.Err.tP|t|[95%Conf.Interval]Total222.9339421224.182135574RootMSE=.42227AdjR-squared=0.0210Residual216.8321871216.178315943R-squared=0.0274Model6.10175548.762719425ProbF=0.0000F(8,1216)=4.28SourceSSdfMSNumberofobs=1225.regusqeduexpexpsqedusqexpsqsqedu_expedu_expsqexp_expsqStata软件操作实例3、异方差的检验:white检验怀特特殊检验的步骤:第1步:对(2)式进行OLS回归。同样地,可以在reg命令前加上quietly选项,不显示回归结果。quietlyreglnwageeduexpexpsq第2步:使用predict命令生成残差u(e),并生成残差的平方usq()。predictu,residualgenusq=u^2第3步:使用predict命令生成拟合值y以及拟合值的平方ysq。predictygenysq=y^22eStata软件操作实例第4步:做usq对y和ysq的回归,即(4)式,根据该模型的回归总体显著性检验的F统计量来检验同方差性原假设是否成立。regusqyysq回归结果表明,回归总体显著性检验的F统计量的P值为0.0000,故可以在1%的显著性水平上拒绝同方差原假设,即原模型存在异方差性。012(4)usqyysq_cons5.1072311.0580974.830.0003.0313437.18312ysq1.615772.33992924.750.000.94886232.282681y-5.621151.200728-4.680.000-7.976867-3.265434usqCoef.Std.Err.tP|t|[95%Conf.Interval]Total222.9339421224.182135574RootMSE=.4231AdjR-squared=0.0171Residual218.7527311222.179012055R-squared=0.0188Model4.1812111522.09060558ProbF=0.0000F(2,1222)=11.68SourceSSdfMSNumberofobs=1225.regusqyysqStata软件操作实例上述手工进行的怀特检验过程比较繁琐,为方便可直接使用怀特检验的命令whitetst;但是该命令的程序文件(adofile)并没有列入Stata软件自身携带的自执行文件中,这就需要在网络上搜索whitetst.ado文件(程序文件)和whitetst.hlp文件(帮助文件)安装到Stata软件的ado/base目录下,这样就可以在Stata中使用whitetst命令进行怀特异方差检验了。使用whitetst命令进行怀特检验的方法是:首先对原模型进行OLS回归,然后键入whitetst,表示对最近的一个回归进行怀特一般检验;如果在OLS回归后键入whitetst,fitted,则表示对最近的一个回归进行怀特特殊检验。reglnwageeduexpexpsqwhitetst怀特一般检验的统计量,服从自由度为8的分布,统计量的伴随概率P值为0.000049,即存在异方差性。whitet