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,我們無法得出變異數不同的結論。