乐趣区

关于mysql:统计科学之讲讲异方差的检验

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

对于测验异方差的统计办法有很多,咱们这一节只讲比拟广泛且比拟罕用的 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 以及自由度。

对于异方差更多的内容,能够点击文章结尾的专辑局部查看。

退出移动版