scipy.stats.brunnermunzel

scipy.stats.brunnermunzel(x, y, alternative='two-sided', distribution='t', nan_policy='propagate')[源代码]

计算样本x和y的Brunner-Munzel检验。

Brunner-Munzel检验是对零假设的非参数检验,即当从每组中逐个取值时,两组中获得大值的概率相等。与Wilcoxon-Mann-Whitney的U检验不同的是,它不需要假设两组之间的方差相等。请注意,这并不假设分布是相同的。此测试适用于两个可能具有不同大小的独立样本。

参数
x, yarray_like

样本数组,应该是一维的。

alternative{‘双面’,‘少’,‘大’},可选

定义了另一种假设。有以下选项可用(默认为‘双面’):

  • “双面”

  • ‘less’:片面

  • “更大”:片面

distribution{‘t’,‘Normal’},可选

定义如何获取p值。以下选项可用(默认为‘t’):

  • t‘:按t分布求p值

  • ‘正态’:用标准正态分布得到p值。

nan_policy{‘Propagate’,‘RAISE’,‘OMIT’},可选

定义输入包含NaN时的处理方式。以下选项可用(默认值为‘Propagate’):

  • ‘Propagate’:返回NaN

  • “raise”:引发错误

  • ‘omit’:执行计算时忽略NaN值

退货
statistic浮动

Brunner-Munzer W统计量。

pvalue浮动

假设t分布的p值。单面或双面,取决于选择 alternativedistribution

参见

mannwhitneyu

两个样本的Mann-Whitney秩和检验。

注意事项

Brunner和Munzel建议在数据大小为50或更小时用t分布估计p值。如果尺寸小于10,最好使用置换的Brunner Munzel测试(请参见 [2]) 。

参考文献

1

布伦纳,E.和芒泽尔,美国“非参数Benhrens-Fisher问题:渐近理论和小样本近似”。生物识别杂志。第42卷(2000):17-25。

2

Neubert,K.和Brunner,E.“非参数Behrens-Fisher问题的学生化置换检验”。计算统计与数据分析。第51卷(2007年):5192-5204。

示例

>>> from scipy import stats
>>> x1 = [1,2,1,1,1,1,1,1,1,1,2,4,1,1]
>>> x2 = [3,3,4,3,1,2,3,1,1,5,4]
>>> w, p_value = stats.brunnermunzel(x1, x2)
>>> w
3.1374674823029505
>>> p_value
0.0057862086661515377