方差齐性检验
總第235篇/張俊紅
1.前言
我們在方差分析里面有講過,方差分析有一個很重要的前提就是叫方差齊性。這一篇來講講如何來檢驗方差齊性。
先講講什么是方差齊性,方差齊性是指不同組間的總體方差是一樣的。那為什么方差分析的前提是要組間的總體方差保持一致呢?先想想方差分析是做什么呢?方差分析是用來比較多組之間均值是否存在顯著差異。那如果方差不一致,也就意味著值的波動程度是不一樣的,如果此時均值之間存在顯著差異,不能夠說明一定是不同組間處理帶來的,有可能是大方差帶來大的波動;如果方差一樣,也就意味著值的波動程度是一樣的,在相同波動程度下,直接去比較均值,如果均值之間存在顯著差異,那么可以認為是不同組間處理帶來的。
方差齊性檢驗是對兩組樣本的方差是否相同進行檢驗。檢驗思想與均值之間差異性檢驗是一樣的。常用的方法有:方差比、Hartley檢驗、Levene檢驗、BF法、Bartlett檢驗。
2.方差比
方差比顧名思義就是兩組方差的比,用較大一組的方差除較小一組的方差,最后得到一個F值,然后根據F值的大小來判斷兩組之間的方差是否相等。F值越大,則認為兩組方差越不相等。
3.Hartley檢驗
Hartley檢驗與方差比的思想比較類似,差別在于Hartley檢驗用于多組方差的檢驗,用多組中最大的方差除最小的方差,得到一個F值,然后通過F值的判斷來對方差齊性進行判斷。
4.Levene檢驗
Levene檢驗是將每個值先轉換為為該值與其組內均值的偏離程度,然后再用轉換后的偏離程度去做方差分析,即組間方差/組內方差。
在這里關于組內均值有多種計算方式:平均數、中位數、截取平均數(去掉最大和最小值后求平均)。
在Python中有現成的函數可以使用:
from?scipy.stats?import?levene stat,?p?=?levene(x,?y,?z) print(stat,?p)上面公式中x、y、z代表不同組的樣本。
5.BF法
Levene檢驗最開始計算組內均值的時候只是用了組內平均數,后來又有名叫Brown和Forsythe的兩位前輩對齊進行了改造,添加了中位數和截取均值的方法,簡稱BF法。
這個在Python里面用的也是levene函數,通過調整參數的取值即可。
6.Bartlett檢驗
Bartlett檢驗的核心思想是通過求取不同組之間的卡方統計量,然后根據卡方統計量的值來判斷組間方差是否相等。該方法極度依賴于數據是正態分布,如果數據非正態分布,則的出來的結果偏差很大。
在Python中有現成的函數可以使用:
from?scipy.stats?import?bartlett stat,?p?=?bartlett(x,?y,?z) print(stat,?p)上面公式中x、y、z代表不同組的樣本。
7.總結
前面介紹了好幾種方法,最后來總結下這幾種方法的利弊及適用條件:方差比、Hartley檢驗、Bartlett檢驗都需要原始數據是正態分布,Levene檢驗和BF法對正態分布不是很依賴。比較常用的是Levene檢驗,適用于多組方差的比較,且對正態性沒要求。
總結
- 上一篇: 微信能翻译日文吗
- 下一篇: 为什么肯德基旁边总有一家麦当劳