如何在 python 中执行两个样本 t 检验


双样本 t 检验用于检验两个总体的均值是否相等。

本教程介绍如何在 Python 中执行两个样本 t 检验。

示例:Python 中的两个 t 检验示例

研究人员想知道两种不同的植物物种是否具有相同的平均高度。为了测试这一点,他们收集了每个物种 20 种植物的简单随机样本

按照以下步骤执行两个样本 t 检验,以确定两种植物物种的高度是否相同。

第 1 步:创建数据。

首先,我们将创建两个表来保存每组 20 株植物的测量值:

 import numpy as np

group1 = np.array([14, 15, 15, 16, 13, 8, 14, 17, 16, 14, 19, 20, 21, 15, 15, 16, 16, 13, 14, 12])
group2 = np.array([15, 17, 14, 17, 14, 8, 12, 19, 19, 14, 17, 22, 24, 16, 13, 16, 13, 18, 15, 13])

步骤 2:执行两个样本 t 检验。

接下来,我们将使用 scipy.stats 库中的ttest_ind() 函数来执行两个示例 t 检验,该函数使用以下语法:

ttest_ind(a, b, equal_var=True)

金子:

  • a:第 1 组观察结果示例表
  • b:第 2 组观察结果示例表
  • equal_var:如果为 true,则执行假设总体方差相等的标准独立 2 样本 t 检验。如果为 false,则执行Welch 的 t 检验,该检验不假设总体方差相等。默认情况下这是正确的。

在执行检验之前,我们需要决定是否假设两个总体具有相等的方差。一般来说,如果最大样本方差与最小样本方差之比小于 4:1,我们可以假设总体具有相等方差。

 #find variance for each group
print(np.var(group1), np.var(group2))

7.73 12.26

最大样本方差与最小样本方差之比为 12.26/7.73 = 1.586 ,小于 4。这意味着我们可以假设总体的方差相等。

因此,我们可以继续进行等方差的双样本 t 检验:

 import scipy.stats as stats

#perform two sample t-test with equal variances
stats.ttest_ind(a=group1, b=group2, equal_var=True)

(statistic=-0.6337, pvalue=0.53005)

t 检验统计量为-0.6337 ,相应的双尾 p 值为0.53005

第 3 步:解释结果。

此特定双样本 t 检验的两个假设是:

H 0 : µ 1 = µ 2 (两个总体平均值相等)

H A : µ 1 ≠ µ 2 (两个总体平均值相等)

由于我们的检验的 p 值(0.53005)大于 alpha = 0.05,因此我们无法拒绝检验的原假设。我们没有足够的证据表明两个种群之间的平均株高不同。

其他资源

如何在 Python 中执行单样本 T 检验
如何在 Python 中执行配对样本 T 检验

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注