如何检验方差齐性?

如何检验方差齐性?_第1张图片

张俊红 | 作者

俊红的数据分析之路 | 来源


方差分析有一个很重要的前提就是叫方差齐性。这一篇来讲讲如何来检验方差齐性。

先讲讲什么是方差齐性,方差齐性是指不同组间的总体方差是一样的。那为什么方差分析的前提是要组间的总体方差保持一致呢?先想想方差分析是做什么呢?方差分析是用来比较多组之间均值是否存在显著差异。那如果方差不一致,也就意味着值的波动程度是不一样的,如果此时均值之间存在显著差异,不能够说明一定是不同组间处理带来的,有可能是大方差带来大的波动;如果方差一样,也就意味着值的波动程度是一样的,在相同波动程度下,直接去比较均值,如果均值之间存在显著差异,那么可以认为是不同组间处理带来的。

方差齐性检验是对两组样本的方差是否相同进行检验。检验思想与均值之间差异性检验是一样的。常用的方法有:方差比、Hartley检验、Levene检验、BF法、Bartlett检验。

1

方差比

方差比顾名思义就是两组方差的比,用较大一组的方差除较小一组的方差,最后得到一个F值,然后根据F值的大小来判断两组之间的方差是否相等。F值越大,则认为两组方差越不相等。

2

Hartley检验

Hartley检验与方差比的思想比较类似,差别在于Hartley检验用于多组方差的检验,用多组中最大的方差除最小的方差,得到一个F值,然后通过F值的判断来对方差齐性进行判断。

3

Levene检验

Levene检验是将每个值先转换为为该值与其组内均值的偏离程度,然后再用转换后的偏离程度去做方差分析,即组间方差/组内方差。

在这里关于组内均值有多种计算方式:平均数、中位数、截取平均数(去掉最大和最小值后求平均)。

在Python中有现成的函数可以使用:

from scipy.stats import levene
stat, p = levene(x, y, z)
print(stat, p)

上面公式中x、y、z代表不同组的样本。

4

BF法

Levene检验最开始计算组内均值的时候只是用了组内平均数,后来又有名叫Brown和Forsythe的两位前辈对齐进行了改造,添加了中位数和截取均值的方法,简称BF法。

这个在Python里面用的也是levene函数,通过调整参数的取值即可。

5

Bartlett检验

Bartlett检验的核心思想是通过求取不同组之间的卡方统计量,然后根据卡方统计量的值来判断组间方差是否相等该方法极度依赖于数据是正态分布,如果数据非正态分布,则的出来的结果偏差很大。

在Python中有现成的函数可以使用:

from scipy.stats import bartlett
stat, p = bartlett(x, y, z)
print(stat, p)

上面公式中x、y、z代表不同组的样本。

6

总结

前面介绍了好几种方法,最后来总结下这几种方法的利弊及适用条件:方差比、Hartley检验、Bartlett检验都需要原始数据是正态分布,Levene检验和BF法对正态分布不是很依赖。比较常用的是Levene检验,适用于多组方差的比较,且对正态性没要求。

●可以从一份超市数据集中分析出啥?

●10大Python数据可视化库!

后台回复“入群”即可加入小z数据干货交流群

你可能感兴趣的:(数据分析,统计学,数据可视化,数据挖掘,数学建模)