📜  如何在Python中进行 Wilcoxon 符号秩检验?

📅  最后修改于: 2022-05-13 01:55:11.997000             🧑  作者: Mango

如何在Python中进行 Wilcoxon 符号秩检验?

先决条件:参数和非参数方法,假设检验

在本文中,我们将了解如何在Python编程语言中进行 Wilcoxon 符号秩检验。 Wilcoxon 符号秩检验,也称为 Wilcoxon 配对检验,是一种非参数假设检验,它比较两个配对组的中位数并判断它们是否同分布。

使用 Wilcoxon()函数的 Wilcoxon 符号秩检验

在这种方法中,用户需要使用 scipy.stats 库中的所需参数调用 Wilcoxon()函数,以使用Python编程语言对给定数据进行 Wilcoxon 符号秩检验。

这是一个假设检验,两个假设如下:

  • Ho(接受):样本分布是相等的。
  • Ha(拒绝):样本分布不均等。

示例 1:在Python中进行基本的 Wilcoxon 有符号秩检验

在此示例中,我们将简单地使用 scipy.stats 库中的 Wilcoxon()函数在Python编程语言中对给定的两组进行 Wilcoxon 符号秩检验。

Python
# Create data
import scipy.stats as stats
  
group1 = [456, 564, 54, 554, 54, 51, 1, 12, 45, 5]
group2 = [65, 87, 456, 564, 456, 564, 564, 6, 4, 564]
  
# conduct the Wilcoxon-Signed Rank Test
stats.wilcoxon(group1, group2)


Python
import pandas as pd
import scipy.stats as stats
  
data = pd.read_csv("gfg_data.csv")
stats.wilcoxon(data['bp_before'], data['bp_after'])


输出:

WilcoxonResult(statistic=15.0, pvalue=0.2023283082009374)

输出解释:

因为在上面的例子中,p 值为 0.2,小于阈值(0.5),即 alpha(0.5),即 p-value 0.5,则相反。

示例 2:使用 CSV 文件进行 Wilcoxon 有符号秩检验

在此示例中,我们将使用包含 121 行的数据集,其中包含血压前后的血压,然后将使用Python编程语言中的 wilcoxon()函数对其进行测试。

所用数据集的链接:单击此处。

Python

import pandas as pd
import scipy.stats as stats
  
data = pd.read_csv("gfg_data.csv")
stats.wilcoxon(data['bp_before'], data['bp_after'])

输出:

WilcoxonResult(statistic=2234.5, pvalue=0.0014107333565442858)

输出解释:

因为在上面的例子中,p值是0.001,它小于阈值(0.5),即alpha(0.5),即p值 0.5,则相反。