如何在 Python 中執行 Brown-Forsythe 檢驗
Brown-Forsythe 檢驗是一種統計檢驗,用於確定兩個或多個組的方差是否相等。雖然 Levene 檢驗使用與均值的絕對偏差,但 Brown-Forsythe 檢驗使用與中值的偏差。
檢驗中使用的原假設如下:
H0:各組(總體)的方差相等
備擇假設是方差不相等:
H1:各組(總體)的方差不相等
為了執行檢驗,我們計算每個組的中值以及與中值的絕對偏差。然後,我們根據這些偏差的方差計算 F 統計量。假設計算出的 F 統計量大於來自F 分佈表的臨界值。在這種情況下,我們拒絕原假設並得出結論,即各組的方差不相等。
在 Python 中,scipy 和 statsmodels 庫提供了一種執行 Brown-Forsythe 檢驗的方法。
需要注意的是,Brown-Forsythe 檢驗對異常值敏感,但比 Levene 檢驗對非正態性更穩健。如果資料非正態,通常建議使用 Brown-Forsythe 檢驗。
Python 中的 Brown-Forsythe 檢驗
語法
levene(sample1, sample2, …sampleN, center=’median’, proportiontocut=0.05)
引數
sample1, sample2, …sampleN − 樣本資料,可能具有不同的長度。樣本必須是一維的才能被接受。
Center − 要用於檢驗的資料函式。“Median”(中值)為預設值。
Proportiontocut − 當 center 為“trimmed”(截尾)時,表示要從每端移除的資料點數。
解釋
在levene() 函式中,使用者必須傳遞不同長度的一維樣本資料以及引數 center 為“Median”(中值)。然後,此函式返回提供的樣本的統計量和 p 值。
演算法
從 scipy 中匯入 levene 函式。
建立要對其執行 Brown-Forsythe 檢驗的資料樣本。
將樣本資料傳遞給 levene 函式以執行檢驗。
從函式中獲取返回的統計量和 p 值。
您可以使用 scipy 庫中的 stats.Levene 方法來執行 Brown-Forsythe 檢驗。
from scipy.stats import levene group1 = [1, 2, 3, 4, 5] group2 = [2, 3, 4, 5, 6] group3 = [3, 4, 5, 6, 7] statistic, pvalue = levene(group1, group2, group3) print("statistic: ", statistic) print("p-value: ", pvalue)
輸出
statistic: 0.0 p-value: 1.0
在這裡,您可以看到 p 值為 1,大於 0.05。這意味著我們可以接受原假設。因此,兩組的方差相同。因此,備擇假設被拒絕。
除了實現 Brown-Forsythe 檢驗外,我們還想澄清機器學習工程師通常存在的一個困惑。那就是 Brown-Forsythe 檢驗和 ANOVA 檢驗之間是如何相關的。
Brown-Forsythe 檢驗和 ANOVA 檢驗之間有什麼關係?
Brown-Forsythe 檢驗和 ANOVA(方差分析)檢驗之間存在關聯,因為它們都檢驗組均值之間的差異。但是,它們檢驗不同的假設並具有不同的應用。
ANOVA 是一種統計方法,用於檢驗兩個或多個組的均值之間是否存在顯著差異。它假設各組的方差相等,並且資料呈正態分佈。ANOVA 用於確定兩個或多個組的均值是否相等,並比較各組的方差。
Brown-Forsythe 檢驗是 Levene 檢驗的一種變體,Levene 檢驗使用與均值的絕對偏差,而 Brown-Forsythe 檢驗使用與中值的偏差。另一方面,Brown-Forsythe 檢驗是用於檢驗方差齊性的一種檢驗,這是 ANOVA 的一個必要假設。它用於確定兩個或多個組的方差是否相等。
在實踐中,通常在執行 ANOVA 之前執行 Brown-Forsythe 檢驗以檢查是否滿足方差相等的假設。如果方差不相等,則可能適合使用非引數檢驗(如 Kruskal-Wallis 檢驗或 Welch 的 ANOVA 檢驗)而不是常規檢驗。
Brown-Forsythe 檢驗的用例
Brown-Forsythe 檢驗被用於各個領域,例如生物學、醫學、心理學、社會科學和工程學,以檢驗不同組的方差是否相等。一些常見的用例包括:
比較兩個或多個樣本的方差 − Brown-Forsythe 檢驗可以確定兩個或多個樣本的方差是否相等。例如,在醫學研究中,該檢驗可用於比較不同患者組的血壓測量值的方差。
在執行 ANOVA 之前檢驗方差齊性 − 由於 Brown-Forsythe 檢驗是用於檢驗方差齊性的一種檢驗,因此它可以用來檢查在執行 ANOVA 之前是否滿足方差相等的假設。這可以確保 ANOVA 的結果有效。
檢驗非正態分佈資料的方差是否相等 − Brown-Forsythe 檢驗比 Levene 檢驗對非正態性更穩健。它可以用於檢驗非正態分佈資料的方差是否相等。
比較重複測量設計中的方差 − 在進行重複測量設計實驗時,使用 Brown-Forsythe 檢驗來檢查各組之間方差的齊性可能很有用。
製造業中的質量控制 − Brown-Forsythe 檢驗可以用於檢查不同生產批次的方差是否相等,以確保產品的質量一致。
結論
總之,Brown-Forsythe 檢驗是一種用於檢測資料集中是否存在異方差的有用統計方法。可以使用 scipy 庫在 Python 中輕鬆實現它。檢驗結果可以為有關對資料執行適當統計分析的決策提供依據。通過了解檢驗的假設並解釋結果,研究人員可以更好地理解其資料的分佈並對其分析做出明智的決策。