1. 程式人生 > 其它 >用Python檢驗幾組資料的方差是否相等

用Python檢驗幾組資料的方差是否相等

技術標籤:python學習python

 有時我們會遇到判定兩組資料的均值或方差是否相等,我們可以利用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的正態分佈)。