方差齐性检验python实现
作者:互联网
方差齐性
在方差分析有一个重要的前提叫方差齐性
先讲讲什么是方差齐性,方差齐性是指不同组间的总体方差是一样的。那为什么方差分析的前提是要组间的总体方差保持一致呢?先想想方差分析是做什么呢?方差分析是用来比较多组之间均值是否存在显著差异。那如果方差不一致,也就意味着值的波动程度是不一样的,如果此时均值之间存在显著差异,不能够说明一定是不同组间处理带来的,有可能是大方差带来大的波动;如果方差一样,也就意味着值的波动程度是一样的,在相同波动程度下,直接去比较均值,如果均值之间存在显著差异,那么可以认为是不同组间处理带来的。
方差齐性检验是对两组样本的方差是否相同进行检验。检验思想与均值之间差异性检验是一样的。常用的方法有:方差比、Hartley检验、Levene检验、BF法、Bartlett检验。
方差比
方差比就是两组方差的比,用比较大的一组方差除以较小一组的方差,最后得到一个F值,然后根据F值大小判断两组之间的方差是否相等。F值越大,则认为两组方差越不相等
Levene检验
Levene检验是将每个值先转换为为该值与其组内均值的偏离程度,然后再用转换后的偏离程度去做方差分析,即组间方差/组内方差。
在这里关于组内均值有多种计算方式:平均数、中位数、截取平均数(去掉最大和最小值后求平均)。
在Python中有现成的函数可以使用:
from scipy.stats import levene
stat, p = levene(x, y, z)
print(stat, p)
#这里的x, y, z是不同组的样本
Barlett检验
Bartlett检验的核心思想是通过求取不同组之间的卡方统计量,然后根据卡方统计量的值来判断组间方差是否相等。该方法极度依赖于数据是正态分布,如果数据非正态分布,则的出来的结果偏差很大。
在Python中有现成的函数可以使用:
from scipy.stats import bartlett
stat, p = bartlett(x, y, z)
print(stat, p)
#这里的x, y, z是不同组的样本
总结
方差比、Barlett检验都需要原始数据是正态分布,Levene检验和BF法对正态分布不是很依赖,比较常用的是Levene检验,适用于多组方差的比较,而且对正态性没有要求
标签:方差,python,均值,检验,方差分析,组间,方差齐性 来源: https://blog.csdn.net/Kobe123brant/article/details/111768269