bartlett#
- scipy.stats.bartlett(*samples, axis=0, nan_policy='propagate', keepdims=False)[source]#
執行 Bartlett 變異數同質性檢定。
Bartlett 檢定會檢驗虛無假設,即所有輸入樣本皆來自具有相同變異數的母體。對於來自顯著非常態母體的樣本,Levene 檢定
levene
更為穩健。- 參數:
- sample1、sample2、…array_like
樣本資料陣列。僅接受 1 維陣列,它們可以有不同的長度。
- axisint 或 None,預設值:0
若為 int,則為計算統計量的輸入軸。輸入的每個軸切片(例如,列)的統計量將會出現在輸出的對應元素中。若為
None
,輸入將在計算統計量之前被展平。- nan_policy{‘propagate’、‘omit’、‘raise’}
定義如何處理輸入的 NaN。
propagate
:若軸切片(例如,列)中存在 NaN,則輸出的對應條目將為 NaN。omit
:執行計算時將省略 NaN。若軸切片中剩餘的資料不足以計算統計量,則輸出的對應條目將為 NaN。raise
:若存在 NaN,將引發ValueError
。
- keepdimsbool,預設值:False
若設定為 True,則縮減的軸將保留在結果中,作為大小為一的維度。使用此選項,結果將會針對輸入陣列正確廣播。
- 傳回值:
- statisticfloat
檢定統計量。
- pvaluefloat
檢定的 p 值。
另請參閱
fligner
一種用於檢定 k 個變異數是否相等的非參數檢定
levene
一種用於檢定 k 個變異數是否相等的穩健參數檢定
- Bartlett 變異數同質性檢定
擴展範例
註解
Conover 等人 (1981) 透過廣泛的模擬檢驗了許多現有的參數和非參數檢定,他們的結論是 Fligner 和 Killeen (1976) 以及 Levene (1960) 提出的檢定在偏離常態性和檢定力方面似乎更為優越 ([3])。
從 SciPy 1.9 開始,
np.matrix
輸入(不建議用於新程式碼)會在執行計算之前轉換為np.ndarray
。在這種情況下,輸出將會是純量或具有適當形狀的np.ndarray
,而不是 2Dnp.matrix
。同樣地,雖然會忽略遮罩陣列的遮罩元素,但輸出將會是純量或np.ndarray
,而不是mask=False
的遮罩陣列。參考文獻
[2]Snedecor, George W. and Cochran, William G. (1989), Statistical Methods, Eighth Edition, Iowa State University Press.
[3]Park, C. and Lindsay, B. G. (1999). Robust Scale Estimation and Hypothesis Testing based on Quadratic Inference Function. Technical Report #99-03, Center for Likelihood Studies, Pennsylvania State University.
[4]Bartlett, M. S. (1937). Properties of Sufficiency and Statistical Tests. Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences, Vol. 160, No.901, pp. 268-282.
範例
檢定列表 a、b 和 c 是否來自具有相同變異數的母體。
>>> import numpy as np >>> from scipy import stats >>> a = [8.88, 9.12, 9.04, 8.98, 9.00, 9.08, 9.01, 8.85, 9.06, 8.99] >>> b = [8.88, 8.95, 9.29, 9.44, 9.15, 9.58, 8.36, 9.18, 8.67, 9.05] >>> c = [8.95, 9.12, 8.95, 8.85, 9.03, 8.84, 9.07, 8.98, 8.86, 8.98] >>> stat, p = stats.bartlett(a, b, c) >>> p 1.1254782518834628e-05
非常小的 p 值表示這些母體不具有相同的變異數。
這並不令人意外,因為 b 的樣本變異數遠大於 a 和 c 的樣本變異數
>>> [np.var(x, ddof=1) for x in [a, b, c]] [0.007054444444444413, 0.13073888888888888, 0.008890000000000002]
如需更詳細的範例,請參閱 Bartlett 變異數同質性檢定。