scipy中wilcoxon检验的统计值异常大

2024-05-19 21:14:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在对实验前后的平均心率数据集进行wilcoxon测试。大约有62人参加。在

我运行:

statistic, p-value = wilcoxon(dataBefore - dataAfter)

p值为0.0005,但统计值为498。这似乎是一个异常庞大的数字。我注意到这里归还的东西有些不清楚。我原以为scipy使用了t检验,但我也看到人们把它存储为z统计量。它返回什么?在

这本手册对我来说没什么意义:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.wilcoxon.html上面写着: 统计:float——零上下之差的秩和,以较小者为准 但这对我来说没什么意义。这是人们通常报告的价值吗?在


Tags: 数据httpsorgdocsdocvalue数字scipy
1条回答
网友
1楼 · 发布于 2024-05-19 21:14:44

Wilcoxon符号秩检验用于检验统计量W或检验统计量T。关于WT的计算细节,请参见Wikipedia,包括一个示例。scipy.stats.wilcoxon计算T。(和R一样,但它称之为统计V)对于N=62,W的最大可能值是1+2+…+62=1953,T的最大可能值是这个值的一半,所以您的T=498就可以了。在

注意WilcoxonT而不是学生T检验的T。但是在你的例子中,如果前后差异通过正态性,配对t检验可以作为Wilcoxon的替代品,例如GraphPad的checklist。在

这里有一个人工心率数据的例子,Wilcoxonp-值和T与您的案例类似:

import scipy.stats as st, numpy as np

# example data with 63 before-after values  
before = np.arange(50, 70, 0.32)
after = np.arange(46.5, 76.5, 0.48)

print st.wilcoxon(before, after)
print st.ttest_rel(before, after)

输出就是

^{pr2}$

在这个例子中,前后差异是均匀分布的,所以不是很正常,所以Wilcoxon检验是更好的选择。在

相关问题 更多 >