Python中的Welch’s t-测试

Python中的Welch’s t-测试

Welch’s 的T检验:双样本T检验用于比较两个不同的独立数据集的平均值。但我们可以对那些具有相同方差的数据组采用双样本T检验。现在,为了比较具有不同方差的两个数据组,我们使用Welch’s T检验。它被认为是双样本T检验的参数化等价物。

用户需要安装并导入以下库,以便在Python中进行Welch’s t检验。

安装上述所有软件包的语法:

pip3 install scipy numpy

进行Welch’s t检验是一个循序渐进的过程,下面将介绍这些步骤。

第1步:导入库。

第一步是导入上面安装的库。

# Importing libraries
import scipy.stats as stats
import numpy as np

第2步:创建数据组。

让我们考虑一个例子,我们得到两个样本数据,每个样本包含一个班级的10个学生的身高。我们需要检查两个不同班级的学生是否有相同的平均身高。我们可以使用numpy.array()方法创建数据组。

# Creating data groups
data_group1 = np.array([14, 15, 15, 16, 13, 8, 14,
                        17, 16, 14, 19, 20, 21, 15,
                        15])
data_group2 = np.array([36, 37, 44, 27, 24, 28, 27,
                        39, 29, 24, 37, 32, 24, 26,
                        33])

第3步:检查差异。

在实际进行Welch’s t检验之前,我们需要找到给定的数据组是否具有相同的方差。如果大数据组与小数据组的比例大于4:1,那么我们可以认为给定的数据组具有不平等的方差。为了找到一个数据组的方差,我们可以使用下面的语法。

语法:

print(np.var(data_group))

其中, data_group是给定的数据组

# Python program to display variance 
# of data groups
  
# Import library
import scipy.stats as stats
import numpy as np
  
# Creating data groups
data_group1 = np.array([14, 15, 15, 16, 13, 8, 14,
                        17, 16, 14, 19, 20, 21, 15,
                        15])
data_group2 = np.array([36, 37, 44, 27, 24, 28, 27,
                        39, 29, 24, 37, 32, 24, 26,
                        33])
  
# Print the variance of both data groups
print(np.var(data_group1), np.var(data_group2))

输出:

Python中的Welch's t-测试

在这里,比例大于4:1,因此方差是不同的。因此,我们可以应用Welch’s 的t检验。

步骤4:进行Welch’s 的t检验。

语法:

ttest_ind(data_group1, data_group2, equal_var= False)

其中,

data_group1: 第一组数据

data_group2: 第二组数据

equal_var = “False”。在进行Welch’s t检验时,将不考虑人口变异量相等的情况。

示例:

# Python program to conduct Welch's t-Test
  
# Import library
import scipy.stats as stats
import numpy as np
  
# Creating data groups
data_group1 = np.array([14, 15, 15, 16, 13, 8, 14,
                        17, 16, 14, 19, 20, 21, 15,
                        15])
data_group2 = np.array([36, 37, 44, 27, 24, 28, 27,
                        39, 29, 24, 37, 32, 24, 26,
                        33])
  
# Conduct Welch's t-Test and print the result
print(stats.ttest_ind(data_group1, data_group2, equal_var = False))

输出:

Python中的Welch's t-测试

对输出的解释:

检验统计量为-8.658,相应的p值为2.757e-08。这里的P值小于0.05,因此我们可以拒绝测试的无效假设,并得出结论:两类学生的平均考试分数之间的差异是相当显著的。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy教程