用Python檢驗幾組資料的方差是否相等
阿新 • • 發佈:2020-12-29
有時我們會遇到判定兩組資料的均值或方差是否相等,我們可以利用t-檢驗判斷均值是否相等(如何進行t-檢驗),而對於方差,我們同樣有檢驗方法,要比用t-檢驗判斷均值是否相等簡單的多。
我們用的就是scipy.stats.levene(),只需往裡輸入我們要檢驗的資料即可,不過必須是一維的。最後結果輸出檢驗統計量和 p p p值,如果 p p p值小於我們給定的 α \alpha α閾值,那我們就能判定這幾組資料的方差並不相等。
import numpy as np
from scipy import stats
#先產生50個服從標準正態分佈的樣本和50個均值為0方差為4的資料
np.random.seed(2020)
data_ran = np.random.normal(0, 1, 50)
data_ran2 = np.random.normal(0, 2, 50)
#檢驗兩組資料的方差是否相等(這兩組資料的方差並不相等,因此結果應該是拒絕原假設)
r1 = stats.levene(data_ran, data_ran2)
print(r1)
輸出:LeveneResult(statistic=14.941411312615362, pvalue=0.00019943084704952306)
從輸出的結果可以看出,
p
p
p值很小,哪怕我們將
α
\alpha
α設為
0.001
0.001
0.001,也仍然可以拒絕這兩組資料的方差並不相等(事實上也是如此,因為它們一個來自方差為1的正態分佈,一個來自方差為4的正態分佈)。