bws_test#
- scipy.stats.bws_test(x, y, *, alternative='two-sided', method=None)[原始碼]#
對兩個獨立樣本執行 Baumgartner-Weiss-Schindler 檢定。
Baumgartner-Weiss-Schindler (BWS) 檢定是一種非參數檢定,用於檢驗虛無假設,即樣本 x 的底層分佈與樣本 y 的底層分佈相同。與 Kolmogorov-Smirnov、Wilcoxon 和 Cramer-Von Mises 檢定不同,BWS 檢定透過累積分布函數 (CDF) 差異的變異數來加權積分,強調分佈的尾部,這在許多應用中提高了檢定的功效。
- 參數:
- x, yarray-like
樣本的 1 維陣列。
- alternative{‘two-sided’, ‘less’, ‘greater’}, optional
定義對立假設。預設值為 ‘two-sided’。令 F(u) 和 G(u) 分別為樣本 x 和 y 底層分佈的累積分布函數。則以下對立假設可用
‘two-sided’:分佈不相等,即對於至少一個 u,F(u) ≠ G(u)。
‘less’:樣本 x 的底層分佈在隨機上小於樣本 y 的底層分佈,即對於所有 u,F(u) >= G(u)。
‘greater’:樣本 x 的底層分佈在隨機上大於樣本 y 的底層分佈,即對於所有 u,F(u) <= G(u)。
在更嚴格的假設集下,對立假設可以用分佈的位置來表示;請參閱 [2] 第 5.1 節。
- methodPermutationMethod, optional
配置用於計算 p 值的method。預設值為預設的
PermutationMethod
物件。
- 回傳:
- resPermutationTestResult
- 具有以下屬性的物件
- statisticfloat
資料的觀察檢定統計量。
- pvaluefloat
給定對立假設的 p 值。
- null_distributionndarray
在虛無假設下產生的檢定統計量值。
註釋
當
alternative=='two-sided'
時,統計量由 [1] 第 2 節中給出的方程式定義。此統計量不適用於單側對立假設;在這種情況下,統計量是 [1] 第 2 節中給出的方程式的負數。因此,當第一個樣本的分佈在隨機上大於第二個樣本的分佈時,統計量將趨於正值。參考文獻
[1] (1,2,3,4,5)Neuhäuser, M. (2005). Exact Tests Based on the Baumgartner-Weiss-Schindler Statistic: A Survey. Statistical Papers, 46(1), 1-29.
[2]Fay, M. P., & Proschan, M. A. (2010). Wilcoxon-Mann-Whitney or t-test? On assumptions for hypothesis tests and multiple interpretations of decision rules. Statistics surveys, 4, 1.
範例
我們遵循 [1] 表 3 的範例:十四名兒童被隨機分為兩組。他們在執行特定測試中的排名如下。
>>> import numpy as np >>> x = [1, 2, 3, 4, 6, 7, 8] >>> y = [5, 9, 10, 11, 12, 13, 14]
我們使用 BWS 檢定來評估兩組之間在統計上是否存在顯著差異。虛無假設是兩組之間的表現分佈沒有差異。我們決定需要 1% 的顯著性水準才能拒絕虛無假設,並支持分佈不同的對立假設。由於樣本數量非常少,我們可以將觀察到的檢定統計量與虛無假設下檢定統計量的精確分佈進行比較。
>>> from scipy.stats import bws_test >>> res = bws_test(x, y) >>> print(res.statistic) 5.132167152575315
這與 [1] 中報告的 \(B = 5.132\) 一致。
bws_test
產生的 p 值也與 [1] 中報告的 \(p = 0.0029\) 一致。>>> print(res.pvalue) 0.002913752913752914
由於 p 值低於我們的 1% 閾值,我們將此視為反對虛無假設的證據,並支持兩組之間的表現存在差異的對立假設。