首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >讲讲异方差的检验

讲讲异方差的检验

作者头像
张俊红
发布2020-06-28 14:35:58
1.4K0
发布2020-06-28 14:35:58
举报
文章被收录于专栏:张俊红张俊红
总第225篇/张俊红

我们前面讲了异方差,也讲了怎么用图示法来判断是否有异方差,这一篇来讲讲怎么用统计的方法来判断有没有异方差。

关于检验异方差的统计方法有很多,我们这一节只讲比较普遍且比较常用的white test(怀特检验)。

假设现在我们做了如下的回归方程:

如果要用怀特检验检验上述方程有没有异方差,主要分以下几个步骤:

1.step1:

对方程进行普通的ols估计,可以得到方程的残差ui。

2.step2:

以第一步估计估计出来的残差作为y,构造如下方程:

上面构造的方程看起来比较复杂,但主要是由三部分组成:原方程的解释变量、解释变量的平方、解释变量之间的交互项。

方程构造好以后对方程进行估计求解。

3.step3:

再回想一下什么是异方差,就是残差项与某一个或某一些x之间有相关性是不是。

那如果step2中的方程中每一个系数都为0,是不是说明残差与任意x都是无关的,我们把这个称为原假设;反之,只要有一个系数不为0,就说明残差与x有关,也就是存在异方差,我们把这个称为备择假设。

在原假设成立的情况下,可以得知step2中方程的R^2乘以样本容量n服从自由度等于step2回归方程中的变量数的卡方分布。

在服从卡方分布的前提下就可以根据与卡方分布的临界值来比较来判断原假设是否成立。

4.step4:

如果计算出来的nR^2显著高于选定显著性水平(p_value值)的卡方临界值,则需要拒绝原假设,也就是方程存在异方差。

如果存在异方差时,还可以查看step2方程的估计结果中每个变量的显著性情况,进而确定是哪个变量引起的异方差。

需要注意的是,如果模型中包含多个变量时,此时引进多个变量的交互项会大大降低方程的自由度,所以看情况可以选择不加。

当然,以上过程也不需要我们自己去实现,Python也是有现成的包可以调用:

statsmodels.stats.diagnostic.spec_white(resid,exog)

resid表示原方程的残差,exog表示要构step2中的方程形式。通过上面的函数最后会输出卡方值、对应的p_value以及自由度。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 俊红的数据分析之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.step1:
  • 2.step2:
  • 3.step3:
  • 4.step4:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档