如何在Python中执行Dunn检验?


Dunn检验是一种用于比较多个样本均值的统计技术。当需要比较多个样本的均值以识别哪些样本之间存在显著差异时,Dunn检验经常在许多学科中使用,包括生物学、心理学和教育学。在本文中,我们将深入探讨Dunn检验,并提供Python实现。

什么是Dunn检验?

Dunn检验是一种用于比较多个样本均值的统计分析方法。它是一种多重比较检验,用于比较两个以上样本的均值,以识别哪些样本之间存在显著差异。

当违反正态性假设时,有时将Dunn检验与非参数Kruskal-Wallis检验一起使用来比较多个样本的均值。如果样本均值之间存在任何显著差异,则使用Kruskal-Wallis检验来检测它们。然后通过成对比较样本均值来确定哪些样本之间存在显著差异。如果存在显著差异,则使用Dunn检验来比较样本均值。

在Python中执行Dunn检验

要在Python中运行Dunn检验,可以使用scikit-posthocs库中的posthoc_dunn()方法。

以下代码演示了如何使用此函数:

语法

sp.posthoc_dunn(data, p_adjust = 'bonferroni')

此函数接收一个数据数组,并返回Bartlett检验统计量和p值。

参数

  • p_adjust是p值调整方法

为了在Python中演示该检验,考虑以下场景:研究人员想要确定三种不同的肥料是否会导致植物生长程度的不同。他们随机选择30株不同的植物,并将它们分成三组,每组10株,每组使用不同的肥料。他们在一个月后测量每株植物的高度。

算法

  • 安装scikit-posthocs库

  • 指定10株植物的分组生长数据

  • 将所有三组数据合并到一个数据集中

  • 使用Bonferroni校正进行p值修正的Dunn检验

示例

此处演示了如何使用scikit-posthocs库运行Dunn检验:

!pip install scikit-posthocs

#specify the growth of the 10 plants in each group
group1 = [9, 10, 16, 9, 10, 5, 7, 13, 10, 9]
group2 = [16, 19, 15, 17, 19, 11, 6, 17, 11, 9]
group3 = [7, 9, 5, 8, 8, 14, 11, 9, 14, 8]
data = [group1, group2, group3]

#perform Dunn's test using a Bonferonni correction for the p-values
import scikit_posthocs as sp
sp.posthoc_dunn(data, p_adjust = 'bonferroni')

输出

The adjusted p-value for the distinction between groups 1 and 2 is 0.115458.
The adjusted p-value for the distinction between groups 1 and 3 is 1.000000.
The adjusted p-value for the distinction between groups 2 and 3 is 0.27465.

结论

Dunn检验广泛应用于许多领域,包括生物学、心理学和教育学,在这些领域中,需要比较多个样本的均值以确定样本之间是否存在显著差异。它是一种非参数检验,不依赖于正态性假设,因此当违反正态性假设时,它尤其有用。

Dunn检验可用于教育领域,比较来自不同学校或班级的多个样本数据的均值,以确定学校或班级是否存在显著不同的均值。例如,它可以用来比较不同学校的平均考试分数或不同班级的平均成绩。

更新于:2022年12月28日

1000+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告