如何在Python中进行 Wilcoxon 符号秩检验?
先决条件:参数和非参数方法,假设检验
在本文中,我们将了解如何在Python编程语言中进行 Wilcoxon 符号秩检验。 Wilcoxon 符号秩检验,也称为 Wilcoxon 配对检验,是一种非参数假设检验,它比较两个配对组的中位数并判断它们是否同分布。
使用 Wilcoxon()函数的 Wilcoxon 符号秩检验
在这种方法中,用户需要使用 scipy.stats 库中的所需参数调用 Wilcoxon()函数,以使用Python编程语言对给定数据进行 Wilcoxon 符号秩检验。
Syntax: wilcoxon(x, y, alternative=’two-sided’)
Parameters:
- x: an array of sample observations from group 1
- y: an array of sample observations from group 2
- alternative: defines the alternative hypothesis. Default is ‘two-sided’ but other options include ‘less’ and ‘greater.’
这是一个假设检验,两个假设如下:
- 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
示例 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值