python方差齊性檢驗 講講如何來檢驗方差齊性

2021-10-11 14:51:22 字數 1483 閱讀 3040

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檢驗,適用於多組方差的比較,且對正態性沒要求。

python方差齊性檢驗 一文秒懂方差齊性檢驗

案例 針對同一系列的教材,學校設計了兩種不同的自助學習系統,現採集每種教學系統下學生完成全部教程所需要的時間。案例摘自 商務與經濟統計學 1 利用描述統計學方法彙總每種學習系統下學生學完教程的時間資料。根據樣本資料,你能觀察到有何相似之處和差異?2 評價兩種方法總體均值之間的差異,討論你的結論?3 ...

bartlett檢驗 方差齊性檢驗

我們在方差分析裡面有講過,方差分析有乙個很重要的前提就是叫方差齊性。這一篇來講講如何來檢驗方差齊性。先講講什麼是方差齊性,方差齊性是指不同組間的總體方差是一樣的。那為什麼方差分析的前提是要組間的總體方差保持一致呢?先想想方差分析是做什麼呢?方差分析是用來比較多組之間均值是否存在顯著差異。那如果方差不...

基於python的異方差檢驗 講講異方差的檢驗

我們前面講了異方差,也講了怎麼用圖示法來判斷是否有異方差,這一篇來講講怎麼用統計的方法來判斷有沒有異方差。關於檢驗異方差的統計方法有很多,我們這一節只講比較普遍且比較常用的white test 懷特檢驗 假設現在我們做了如下的回歸方程 如果要用懷特檢驗檢驗上述方程有沒有異方差,主要分以下幾個步驟 1...