friedmanchisquare#
- scipy.stats.friedmanchisquare(*samples, axis=0, nan_policy='propagate', keepdims=False)[原始碼]#
計算重複樣本的 Friedman 檢定。
Friedman 檢定檢測虛無假設,即同一受試者的重複樣本具有相同的分佈。它通常用於檢測以不同方式獲得的樣本之間的一致性。例如,如果在同一組受試者上使用兩種採樣技術,則可以使用 Friedman 檢定來確定這兩種採樣技術是否一致。
- 參數:
- sample1, sample2, sample3…array_like
觀測值陣列。所有陣列必須具有相同數量的元素。必須給出至少三個樣本。
- axisint 或 None,預設值:0
若為整數,則為計算統計量的輸入軸。輸入的每個軸切片(例如,行)的統計量將出現在輸出的對應元素中。若為
None
,則輸入將在計算統計量之前被展平。- nan_policy{‘propagate’, ‘omit’, ‘raise’}
定義如何處理輸入的 NaN 值。
propagate
:若軸切片(例如,行)中存在 NaN 值,則計算統計量時,輸出的對應條目將為 NaN。omit
:執行計算時將忽略 NaN 值。若軸切片中剩餘的資料不足以計算統計量,則輸出的對應條目將為 NaN。raise
:若存在 NaN 值,將引發ValueError
。
- keepdimsbool,預設值:False
若設定為 True,則縮減的軸將保留在結果中,作為大小為 1 的維度。使用此選項,結果將正確地與輸入陣列進行廣播。
- 返回:
- statisticfloat
檢定統計量,已針對 ties 進行校正。
- pvaluefloat
關聯的 p 值,假設檢定統計量具有卡方分佈。
參見
筆記
由於假設檢定統計量具有卡方分佈,因此 p 值僅在 n > 10 且重複樣本超過 6 個時才可靠。
從 SciPy 1.9 開始,
np.matrix
輸入(不建議用於新程式碼)在執行計算之前會轉換為np.ndarray
。在這種情況下,輸出將是純量或形狀適當的np.ndarray
,而不是 2Dnp.matrix
。同樣地,雖然會忽略遮罩陣列的遮罩元素,但輸出將是純量或np.ndarray
,而不是mask=False
的遮罩陣列。參考文獻
[2]Demsar, J. (2006). Statistical comparisons of classifiers over multiple data sets. Journal of Machine Learning Research, 7, 1-30.
範例
>>> import numpy as np >>> rng = np.random.default_rng(seed=18) >>> x = rng.random((6, 10)) >>> from scipy.stats import friedmanchisquare >>> res = friedmanchisquare(x[0], x[1], x[2], x[3], x[4], x[5]) >>> res.statistic, res.pvalue (11.428571428571416, 0.043514520866727614)
p 值小於 0.05;然而,如上所述,由於我們的重複樣本數量很少,因此結果可能不可靠。
如需更詳細的範例,請參閱 重複樣本的 Friedman 檢定。