本站分享:AI、大数据、数据分析师培训认证考试,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训

为什么加权最小二乘法也解决不了异方差问题

eviews培训 cdadata 8505℃

为什么加权最小二乘法也解决不了异方差问题

尝试先后用w=1/abs(resid),或w=1/resid^2的加权最小二乘法的结果,解决不了异方差的问题:

w=1/abs(resid)的结果:
F-statistic 4.894772     Prob. F(10,253)  0.0000
Obs*R-squared 42.79614     Prob. Chi-Square(10)  0.0000

w=1/resid^2的结果:
F-statistic 9.100125     Prob. F(44,217)  0.0000
Obs*R-squared 169.9147     Prob. Chi-Square(44)  0.0000

现在很烦恼,如何解决异方差问题?是我的数据有问题么?


精彩解答:

加权最小二乘法,解决异方差的问题是有步骤的,不是随便应用一下,就可解决异方差的问题。具体步骤有:
第一步,检验是否有异方差。先对原回归模型做OLS估计,构造残差平方变量uhat2和因变量预测变量yhat及其平方变量yhat2。再将uhat2关于常数、yhat和yhat2作OLS回归,计算或查出该回归方程估计的F检验统计量值,进行F检验。如拒绝,则存在异方差,进行以下第二步;否则,不存在,不需作异方差纠正。
第二步,在上述检验存在异方差的情况下,应用FGLS估计。具体地,对原回归模型做OLS估计,构造残差平方变量uhat2,再取对数得log(uhat2),将之关于原模型中的解释变量作OLS回归估计(含常数项),得其拟合值变量ghat,再取指数变换exp(ghat),用其倒数1/exp(ghat)作权重,对原模型进行加权最小二乘估计,即将原模型OLS估计中的最小二乘目标函数的一般项乘以1/exp(ghat),或者将原回归模型两端的变量同时除以exp(ghat)的开方再作估计(注意:别用错呀,不是除以exp(ghat))。

请这位同学这样试试,或许能解决你的异方差问题。当然,异方差检验和纠正方法较多,因模型类型不同有不同作法。这里仅以你的模型是初学者常碰到的线性回归模型为例在讲。


谢谢大理公主的详细解答。我是Eviews的新手,就是看看了李长风的《经济计量学》(上海人民出版社)和张晓峒的《Eviews使用指南与案例》(机械工业出版社),就可以写论文了。

在纠正异方差之前,我是做了异方差的检测的,我用的是怀特检验异方差。View->Residual tests ->Heteroskdasticity Tests->White。White检验知,在a=0.05下,查X^2分布表,得到临界值是9.49,即nR^2> X^2(3)(注:X^2(3)中的3表示模型中的解释变量的个数),所以拒绝原假设,不拒绝备选假设,表明模型存在异方差。  请问这个检查方法跟您的是否都可以查出异方差呢?请原谅我的基础比较薄弱。

另外,关于您的第二步,不是很懂。构造残差平方变量uhat2,再取对数得log(uhat2),到这里我懂得操作。但是将之关于原模型中的解释变量作OLS回归估计(含常数项),得其拟合值变量ghat,就不是很懂了。是不是把log(uhat2)作为其中一个变量,重新做OLS回归,但是那个拟合值变量去哪里看呢?谢谢

接下来地的 ‘再取指数变换exp(ghat),用其倒数1/exp(ghat)作权重,对原模型进行加权最小二乘估计,即将原模型OLS估计中的最小二乘目标函数的一般项乘以1/exp(ghat)’,这点我也应该懂得操作。


其他解答:

用White检验也可以。

第二步是修正异方差。是把log(uhat2)作为被解释变量(不妨在EViews中将之定义为一个新的变量,称为yy),关于原模型中的解释变量作OLS回归估计(含常数项),得其拟合值变量ghat。你点EViews这个方程输出结果中的forecast,点OK,Workfile中就自动有一个序列名,叫yyf,就是你要的了。

这第二步是假设:原模型中的扰动项的平方u2是所有自变量线性函数的指数函数,这样,使u2总是大于0了,从而符合方差非负性了。

************

请教大理公主,我现在的模型从线性换成指数模型了,LOG(GOLD)=4.83436083901+0.00647116536153*OIL+0.0149811952443*CPI-8.26400991831e-05*INDEX-0.0103946866049*USDX+0.107556854899*WAR。我做的是怀特检验和哈佛检验(Harvey),都显示存在异方差。我应用了您上面说的方法,发觉异方差的确解决了,但是我的解释变量有两个反而通不过t检验了。我也试过用w=1/abs(resid),或w=1/resid^2的加权最小二乘法,解决不了异方差问题。

对于指数模型,是不是有其他形式的权重可用呢?

我后来看了一下资料,莫非您的方法就是传说中的FGLS?如果这种方法能够完全解决异方差,但是导致部分解释变量的t检验不能通过。在异方差和t检验之间,如何取舍呢?

还是说方程不能追求完美呢?在保留t检验全部通过的情况下,只要通过加权异方差情况得到改善即可?


解答:

计量模型的设定和检验是一个矛盾统一体。给出设定然后估计,是假设你这个设定是正确,然后再估计的。当你怀疑估计结果有问题时,你才怀疑到原来的设定有问题,再进一步做检验。检验时,又假定你构造检验经计量所用的检验模型是正确的。为什么这么啰嗦呢?就是因为我们不知道真的模型是什么。再退一步,即使你用的模型是真的,即反映了变量间真正的关系,但你收集到的数据不是变量真正随机过程的反映,同样你的估计没有好的效果。所以,我们只能更多地、更好地学习计量经济学,特别是现代计量经济学的理论和方法,加强自己建模素养,提升自己分析问题的能力,才能更科学地研究实际问题。

上次所说的第一步是异方差检验。第二步是在异方差形式未知的情况下的FGLS,即你说的“传说中的FGLS”。

你的问题很好:在异方差和t检验之间,如何取舍呢?

首先,要明白异方差会带来什么,造成什么后果?t检验是干什么用的?从估计量大样本理论来看,当模型设定正确时,异方差不影响估计量的一致性,即估计量在样本容量充分大时,它偏离真正值的可能性非常非常小。所以,异方差不是一个了不起的事,我只要充分地收集数据就能得到较好的估计。但这有一个前提,模型设定正确!

t检验干啥呢?t检验是检验模型中的系数参数是否等于一个已知的常数,比如,线性回归模型中解释变量的系数等于0。由t统计量服从t分布(为什么?又要假设扰动项服从正态分布,或者样本容量充分的大),根据t检验,检验假设原假设H0:系数等于0。

回到你的问题。
你说,异方差修正后,解释变量有两个反而通不过t检验了。现在,问题有二:一,你模型有异方差吗?如果没有,你处理了,即用WLS方法修正了,这样,WLS估计量反而不是最优的了(因为OLS估计量是BLUE,记得?),所以,这时WLS不是最优的,由其估计的标准差就大,t值就小,t检验就通不过了。二,原来不是对数形式的模型(即因变量水平形式参数模型)不对吗?如果原来的模型正确,现在你改用因变量对数形式作为新的因变量(因变量对数形式参数模型),则模型设定有问题了,当然t检验就会有问题了。

所以,建议:

首先,检验模型的设定,比如你检验比较一下,水平形式因变量模型和对数形式因变量模型(注意:相应的自变量也有水平和对数形式,得作出分析,用什么形式好)。这方面,可参考伍德里奇《计量经济学导论》的第九章:More on Specification and Data Problems,上面有水平形式因变量模型和对数形式因变量模型的比较和选择(读书很重要!!)。

其次,如果上面检验和比较,你觉得某一种形式模型是正确的了,则估计之,再看它有没有异方差,如有,再用FGLS作修改。如果你说,修正后,又有自变量不显著了,怎么办呢?事情是这样,如果这个自变量本来就不应该在这模型中,或者它对因变量的影响本来就不是显著的,你为什么要强求它非显著不可呢?也许该系数不显著就是它对应的解释变量与因变量关系的本来的面目。


计量模型的设定和检验是一个矛盾统一体。给出设定然后估计,是假设你这个设定是正确,然后再估计的。当你怀 …

谢谢您的详细回复。我大概理解你的意思。做计量经济学论文,总是需要不断平衡,不断怀疑,不断修正。

我觉得我需要重新看看书,正如您提到的伍德里奇《计量经济学导论》,我看网上对这本书的评价都相当不错,谢谢您的推荐。

在做异方差检验之前,其实我是做了线性模型和对数模型(自变量取对数),双对数模型(自变量和因变量都取对数)和指数模型(因变量取对数)以及二次指数模型。我比较的依据是看拟合优度(较高者),F统计量(较高者),t统计量(全部通过)为原则。我之所以选择指数模型而不是线性模型,仅仅是因为指数模型的拟合优度较高(前者0.909025,后者0.808326)。您说我这样的比较,是不是比较粗糙和粗鲁呢?呵呵。也许我在看完伍德里奇《计量经济学导论》后,会有更多的认识。

下附我的模型比较数据:
================================================================
拟合优度         修正拟合优度        F统计量        DW统计量        T检验
多元线性回归     0.808326        0.804626             218.4504        0.10516        全部通过
双对数模型        0.894519        0.892483              439.2838        0.103192      常数项不通过
对数模型            0.781082        0.776856             184.8181        0.084699      一项不通过
指数模型            0.909025        0.907268              517.5847        0.134789     全部通过
二次指数模型     0.930128        0.927662              377.1702        0.147128      一项不通过


我问下关于第二步,把log(uhat2)与原模型进行回归的时候,如果原模型是一般多元线性模型,本来不是对数形式,那么原模型的 解释变量Xi需要用对数形式吗?
另外,ghat是不是就是第二步回归得到的每个解释变量的系数呀?


把log(uhat2)作为被解释变量(不妨在EViews中将之定义为一个新的变量,称为yy),关于原来模型中的解释变量作OLS回归估计(含常数项),得其拟合值变量ghat。原来模型中的解释变量是对数形式,以log(uhat2)作为被解释变量的回归模型也用对数形式;不是的话,就不用对数形式形。总之,两者的解释变量及其形式是一样的。

拟合值变量ghat是个什么含义,从log(uhat2)作为被解释变量的回归模型,应该很清楚啊,即是log(uhad2)的预测值。


请问修正异方差的时候权重到底如何选择呢,我看到您提供了一种形式,另外还有其他的比如1/abs(uhat)^0.5等,该如何选取呢?我对收入的对数做回归后拟合优度为32%,存在异方差,按照您介绍的方法进行修正后,拟合优度提高到82%。一般情况下拟合优度会有这么大的提高吗?我有点怀疑啊。
另外,以ef为权重修正之后,输出结果的变量那一栏显示的是x1/ef、x2/ef、x3/ef,而不再是原来的x1、x2、x3,这是不是只是一种表达形式呢?写回归方程的话仍然是回归系数b1*x1+b2*x2+b3*x3这样子?
刚开始用计量方法,不太懂。谢谢。

解答:用FGLS后,被解释变量与原来的被解释变量不一样了,所以,不能与原模型的估计进行拟合优度R2比较了。以前R2小,现在大了,是有可能的。
写回归方程的话,仍然用原来回归系数的估计,写成b1*x1+b2*x2+b3*x3这样子


时间序列数据也可以用fgls吗

是的,时间序列数据模型也可以用fgls。但要注意时间序列数据的序列相关性,既有异方差又有序列相关性时怎样处理修正,请见伍德里奇书《Introductory Econometrics A Modern Approach. Ed.4》Chapter 12.

转载请注明:数据分析 » 为什么加权最小二乘法也解决不了异方差问题

喜欢 (0)or分享 (0)