scipy.stats.

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 值,假設檢定統計量具有卡方分佈。

參見

重複樣本的 Friedman 檢定

擴展範例

筆記

由於假設檢定統計量具有卡方分佈,因此 p 值僅在 n > 10 且重複樣本超過 6 個時才可靠。

從 SciPy 1.9 開始,np.matrix 輸入(不建議用於新程式碼)在執行計算之前會轉換為 np.ndarray。在這種情況下,輸出將是純量或形狀適當的 np.ndarray,而不是 2D np.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 檢定