如何在 python 中执行 kruskal-wallis 测试
Kruskal-Wallis 检验用于确定三个或更多独立组的中位数之间是否存在统计显着差异。
它被认为是单向方差分析的非参数等效项。
本教程介绍如何在 Python 中执行 Kruskal-Wallis 测试。
示例:Python 中的 Kruskal-Wallis 测试
研究人员想知道三种不同的肥料是否会导致不同程度的植物生长。他们随机选择 30 种不同的植物,并将它们分成三组,每组 10 株,并为每组施用不同的肥料。一个月后,他们测量了每株植物的高度。
按照以下步骤执行 Kruskal-Wallis 检验,以确定所有三组的中位生长是否相同。
第 1 步:输入数据。
首先,我们将创建三个表来保存三组中每一组的植物测量值:
group1 = [7, 14, 14, 13, 12, 9, 6, 14, 12, 8] group2 = [15, 17, 13, 15, 15, 13, 9, 12, 10, 8] group3 = [6, 8, 8, 9, 5, 14, 13, 8, 10, 9]
步骤 2:执行 Kruskal-Wallis 检验。
接下来,我们将使用 scipy.stats 库中的kruskal() 函数执行 Kruskal-Wallis 测试:
from scipy import stats #perform Kruskal-Wallis Test stats.kruskal(group1, group2, group3) (statistic=6.2878, pvalue=0.0431)
第 3 步:解释结果。
Kruskal-Wallis 检验使用以下原假设和备择假设:
原假设 (H 0 ):所有组中的中位数相等。
备择假设: (Ha):所有组中的中位数并不相等。
在本例中,检验统计量为6.2878 ,相应的 p 值为0.0431 。由于该 p 值小于 0.05,因此我们可以拒绝所有三种肥料的植物生长中值相同的原假设。我们有足够的证据得出结论,所使用的肥料类型会导致植物生长在统计上存在显着差异。