📜  如何在Python中执行邓恩检验

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

如何在Python中执行邓恩检验

如果 Kruskal-Wallis 检验产生统计上显着的结果,则应使用Dunn 检验来确定哪些组是不同的。在您的 ANOVA 显示三个或更多均值的显着差异后,您可以应用邓恩检验来确定哪些特定均值与其他均值不同。 Dunn 的多重比较检验是一种非参数事后非参数检验,它不假定您的数据来自某个分布。

要执行 duns 测试,用户需要调用 scikit-posthocs 库中的 posthoc_dunn()函数。

posthoc_dunn()函数:

安装 posthocs 库的语法:

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

  • 零假设:给定样本具有相同的中位数
  • 备择假设:给定样本具有不同的中位数。

在本例中,我们导入包,读取 iris CSV 文件,并使用 posthoc_dunn()函数进行 dunns 测试。对三种植物的萼片宽度进行了邓恩检验。

单击此处查看和下载 CSV 文件。

Python3
# importing packages and modules
import pandas as pd
import scikit_posthocs as sp
 
# reading CSV file
dataset= pd.read_csv('iris.csv')
 
# data which contains sepal width of the three species
data = [dataset[dataset['species']=="setosa"]['sepal_width'],
        dataset[dataset['species']=="versicolor"]['sepal_width'],
        dataset[dataset['species']=="virginica"]['sepal_width']]
 
# using the posthoc_dunn() function
p_values= sp.posthoc_dunn(data, p_adjust = 'holm')
 
print(p_values)


Python3
p_values > 0.05


输出:

  • 对于第 1 组和第 2 组之间的差异,调整后的 p 值为 3.247311e-14
  • 对于第 2 组和第 3 组之间的差异,调整后的 p 值为 1.521219e-02

我们进一步检查 p_values 是否高于显着性水平。 false 表示两组具有统计显着性或拒绝原假设。

Python3

p_values > 0.05


输出:

在本例中,我们将显着性水平设为 0.05。没有两组(物种)具有统计学意义,因为没有两组的 p_value 超过 0.05。因此,我们可以说原假设为假,而备择假设为真。