當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python SciPy stats.bws_test用法及代碼示例

本文簡要介紹 python 語言中 scipy.stats.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, y 類數組

一維樣本數組。

alternative {‘雙麵’,‘less’, ‘greater’},可選

定義備擇假設。默認為“雙麵”。令 F(u) 和 G(u) 分別為 x 和 y 基礎分布的累積分布函數。那麽以下替代假設可用:

  • “雙麵”:分布不相等,即對於至少一個 u,F(u) ≠ G(u)。

  • ‘less’:x 的分布隨機小於 y 的分布,即對於所有 u,F(u) >= G(u)。

  • ‘greater’:x 的分布隨機大於 y 的分布,即對於所有 u,F(u) <= G(u)。

在一組更具限製性的假設下,替代假設可以用分布的位置來表達;參見[2]第5.1節。

method 排列方法,可選

配置用於計算 p 值的方法。默認為默認 PermutationMethod 對象。

返回

res PermutationTestResult
具有屬性的對象:
statistic 浮點數

觀察到的數據檢驗統計量。

pvalue 浮點數

給定替代方案的 p 值。

null_distribution ndarray

在原假設下生成的檢驗統計量的值。

注意

什麽時候alternative=='two-sided',統計量由以下給出的方程定義[1]第 2 節。這一統計數據不適用於片麵的替代方案;在這種情況下,統計數據是消極的由方程給出的[1]第 2 節 因此,當第一個樣本的分布隨機大於第二個樣本的分布時,統計量將趨於為正。

參考

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

諾伊豪瑟,M.(2005)。基於 Baumgartner-Weiss-Schindler 統計數據的精確測試:調查。統計論文,46(1),1-29。

[2]

Fay, M. P. 和 Proschan, M. A. (2010)。 Wilcoxon-Mann-Whitney還是t-test?關於假設檢驗的假設和決策規則的多重解釋。統計調查,4, 1。

例子

我們按照[1]中表3的例子:14名兒童被隨機分為兩組。他們在執行特定測試時的排名如下。

>>> 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

這符合\(B = 5.132\) 報道於[1].這p- 產生的值bws_test也同意\(p = 0.0029\) 報道於[1].

>>> print(res.pvalue)
0.002913752913752914

由於 p 值低於 1% 的閾值,因此我們將此作為反對零假設的證據,支持兩組之間的表現存在差異的替代方案。

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.bws_test。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。