scipy.stats.

epps_singleton_2samp#

scipy.stats.epps_singleton_2samp(x, y, t=(0.4, 0.8), *, axis=0, nan_policy='propagate', keepdims=False)[原始碼]#

計算 Epps-Singleton (ES) 檢定統計量。

檢定兩個樣本是否來自相同底層機率分佈的虛無假設。

參數:
x, yarray-like

要檢定的兩個觀察樣本。輸入不能超過一個維度。樣本可以有不同的長度,但都必須至少有五個觀察值。

tarray-like,選用

經驗特徵函數要評估的點 (t1, …, tn)。它應該是正的相異數字。預設值 (0.4, 0.8) 在 [1] 中提出。輸入不能超過一個維度。

axisint 或 None,預設值:0

如果為整數,則為計算統計量時沿著輸入的軸。輸入的每個軸切片(例如,行)的統計量將出現在輸出的對應元素中。如果 None,則會在計算統計量之前將輸入展平。

nan_policy{‘propagate’, ‘omit’, ‘raise’}

定義如何處理輸入的 NaN。

  • propagate:如果在計算統計量的軸切片(例如,行)中存在 NaN,則輸出的對應條目將為 NaN。

  • omit:在執行計算時將省略 NaN。如果沿著計算統計量的軸切片中剩餘的資料不足,則輸出的對應條目將為 NaN。

  • raise:如果存在 NaN,將會引發 ValueError

keepdimsbool,預設值:False

如果設定為 True,則縮減的軸將保留在結果中,作為大小為一的維度。使用此選項,結果將正確地廣播到輸入陣列。

返回:
statisticfloat

檢定統計量。

pvaluefloat

基於漸近卡方分佈的關聯 p 值。

另請參閱

ks_2samp, anderson_ksamp

筆記

檢定兩個樣本是否由相同的底層分佈產生是統計學中的一個經典問題。廣泛使用的檢定是 Kolmogorov-Smirnov (KS) 檢定,它依賴於經驗分佈函數。Epps 和 Singleton 在 [1] 中介紹了基於經驗特徵函數的檢定。

與 KS 檢定相比,ES 檢定的一個優點是它不假設連續分佈。在 [1] 中,作者得出結論,在許多範例中,該檢定的檢力也高於 KS 檢定。他們建議對於離散樣本以及每個至少有 25 個觀察值的連續樣本使用 ES 檢定,而 anderson_ksamp 建議用於連續情況下較小的樣本量。

p 值是從檢定統計量的漸近分佈計算得出的,該分佈遵循 chi2 分佈。如果 xy 的樣本大小都小於 25,則將 [1] 中提出的小樣本校正應用於檢定統計量。

t 的預設值在 [1] 中確定,方法是考慮各種分佈並找到在一般情況下導致檢定具有高檢力的良好值。[1] 中的表 III 給出了該研究中測試的分佈的最佳值。t 的值在實作中按半四分位距縮放,請參閱 [1]

從 SciPy 1.9 開始,np.matrix 輸入(不建議用於新程式碼)在執行計算之前會轉換為 np.ndarray。在這種情況下,輸出將是純量或 np.ndarray 的適當形狀,而不是 2D np.matrix。同樣地,雖然會忽略遮罩陣列的遮罩元素,但輸出將是純量或 np.ndarray,而不是具有 mask=False 的遮罩陣列。

參考文獻

[1] (1,2,3,4,5,6,7)

T. W. Epps 和 K. J. Singleton,「An omnibus test for the two-sample problem using the empirical characteristic function」,Journal of Statistical Computation and Simulation 26, p. 177–203, 1986。

[2]

S. J. Goerg 和 J. Kaiser,「Nonparametric testing of distributions - the Epps-Singleton two-sample test using the empirical characteristic function」,The Stata Journal 9(3), p. 454–465, 2009。