scipy.stats.
obrientransform#
- scipy.stats.obrientransform(*samples)[原始碼]#
計算輸入資料(任意數量的陣列)的 O’Brien 轉換。
用於在執行單因子統計之前檢定變異數的同質性。
*samples
中的每個陣列都是一個因子的層級。如果對轉換後的資料執行f_oneway
並發現顯著,則變異數不相等。出自 Maxwell 和 Delaney [1],第 112 頁。- 參數:
- sample1, sample2, …array_like
任意數量的陣列。
- 回傳值:
- obrientransformndarray
用於 ANOVA 的轉換後資料。結果的第一個維度對應於轉換後陣列的序列。如果給定的陣列都是相同長度的 1-D 陣列,則傳回值是 2-D 陣列;否則,它是物件類型的 1-D 陣列,每個元素都是一個 ndarray。
- 引發:
- ValueError
如果轉換後資料的平均值不等於原始變異數,表示 O’Brien 轉換中缺乏收斂性。
參考文獻
[1]S. E. Maxwell and H. D. Delaney, “Designing Experiments and Analyzing Data: A Model Comparison Perspective”, Wadsworth, 1990.
範例
我們將測試以下資料集在變異數上的差異。
>>> x = [10, 11, 13, 9, 7, 12, 12, 9, 10] >>> y = [13, 21, 5, 10, 8, 14, 10, 12, 7, 15]
將 O’Brien 轉換應用於資料。
>>> from scipy.stats import obrientransform >>> tx, ty = obrientransform(x, y)
使用
scipy.stats.f_oneway
將單因子變異數分析檢定應用於轉換後的資料。>>> from scipy.stats import f_oneway >>> F, p = f_oneway(tx, ty) >>> p 0.1314139477040335
如果我們要求顯著性
p < 0.05
,我們無法得出變異數不同的結論。