scipy.stats.

anderson_ksamp#

scipy.stats.anderson_ksamp(samples, midrank=True, *, method=None)[source]#

k 個樣本的 Anderson-Darling 檢定。

k 樣本 Anderson-Darling 檢定是單樣本 Anderson-Darling 檢定的修改版。它檢定虛無假設:k 個樣本是從同一個母體中抽取的,而無需指定該母體的分布函數。臨界值取決於樣本數。

參數:
samples一維類陣列序列

陣列形式的樣本資料。

midrank布林值,選用項

計算的 Anderson-Darling 檢定類型。預設值 (True) 是適用於連續和離散母體的 midrank 檢定。若為 False,則使用右側經驗分布。

methodPermutationMethod,選用項

定義用於計算 p 值的method。如果 methodPermutationMethod 的實例,則 p 值會使用 scipy.stats.permutation_test 以及提供的配置選項和其他適當設定來計算。否則,p 值會從表格值中內插。

回傳值:
resAnderson_ksampResult

包含屬性的物件

statistic浮點數

正規化 k 樣本 Anderson-Darling 檢定統計量。

critical_values陣列

顯著性水準 25%、10%、5%、2.5%、1%、0.5%、0.1% 的臨界值。

pvalue浮點數

檢定的近似 p 值。如果未提供 method,則該值會被向下/向上限制在 0.1%/25%。

引發:
ValueError

如果提供的樣本少於 2 個、樣本為空,或樣本中沒有不同的觀測值。

另請參閱

ks_2samp

雙樣本 Kolmogorov-Smirnov 檢定

anderson

單樣本 Anderson-Darling 檢定

註解

[1] 定義了 k 樣本 Anderson-Darling 檢定的三個版本:一個用於連續分布,另兩個用於離散分布,其中樣本之間可能發生 ties。此常式預設計算基於 midrank 經驗分布函數的版本。此檢定適用於連續和離散資料。如果 midrank 設定為 False,則右側經驗分布用於離散資料的檢定。根據 [1],如果未針對樣本之間的 ties 進行調整的檢定中,由於捨入誤差而發生少量衝突,則兩個離散檢定統計量僅略有差異。

對應於顯著性水準 0.01 到 0.25 的臨界值取自 [1]。p 值會向下/向上限制在 0.1%/25%。由於臨界值的範圍可能會在未來版本中擴展,因此建議不要測試 p == 0.25,而是 p >= 0.25 (下限也類似)。

在版本 0.14.0 中新增。

參考文獻

[1] (1,2,3)

Scholz, F. W and Stephens, M. A. (1987), K-Sample Anderson-Darling Tests, Journal of the American Statistical Association, Vol. 82, pp. 918-924.

範例

>>> import numpy as np
>>> from scipy import stats
>>> rng = np.random.default_rng()
>>> res = stats.anderson_ksamp([rng.normal(size=50),
... rng.normal(loc=0.5, size=30)])
>>> res.statistic, res.pvalue
(1.974403288713695, 0.04991293614572478)
>>> res.critical_values
array([0.325, 1.226, 1.961, 2.718, 3.752, 4.592, 6.546])

虛無假設:兩個隨機樣本來自相同的分布,可以在 5% 的顯著性水準下被拒絕,因為回傳的檢定值大於 5% 的臨界值 (1.961),但在 2.5% 的水準下則否。內插法給出的近似 p 值為 4.99%。

>>> samples = [rng.normal(size=50), rng.normal(size=30),
...            rng.normal(size=20)]
>>> res = stats.anderson_ksamp(samples)
>>> res.statistic, res.pvalue
(-0.29103725200789504, 0.25)
>>> res.critical_values
array([ 0.44925884,  1.3052767 ,  1.9434184 ,  2.57696569,  3.41634856,
  4.07210043, 5.56419101])

對於來自相同分布的三個樣本,虛無假設無法被拒絕。報告的 p 值 (25%) 已被向上限制,可能不是很準確 (因為它對應於值 0.449,而統計量為 -0.291)。

在 p 值被向上限制或樣本大小較小的情況下,置換檢定可能會更準確。

>>> method = stats.PermutationMethod(n_resamples=9999, random_state=rng)
>>> res = stats.anderson_ksamp(samples, method=method)
>>> res.pvalue
0.5254