Numpy 对两个样本进行 T 检验
阅读更多:Numpy 教程
介绍
T检验是假设检验的一种,用于比较两个样本的均值是否有显著差异。在数据分析中,T检验最常用于比较两组实验样本的均值是否有显著性差异。当两个样本的观察值符合正态分布或样本量大于30时,T检验可以有效判断是否存在显著差异。
Python中的Numpy库提供了进行T检验的函数,通过输入两个样本的数据,计算样本均值和统计量t,最后返回P值,进而判断差异是否显著。
使用方法
numpy.random.normal函数可以生成符合正态分布的随机数据,我们可以使用它生成两组样本数据:
import numpy as np
sample1 = np.random.normal(5, 2, 100)
sample2 = np.random.normal(4, 2, 100)
以上代码使用np.random.normal()
函数生成两个样本,分别为样本1和样本2。其中mean
参数指定均值,std
参数指定标准差,size
参数指定生成的样本数量。
Numpy库提供了ttest_ind()
函数进行T检验:
from scipy.stats import ttest_ind
t, p = ttest_ind(sample1, sample2)
以上代码使用ttest_ind()
函数对两个样本进行T检验,并返回统计结果。其中,返回的t
为统计量,p
表示P值。
实例演示
我们将使用之前生成的两个样本数据,演示如何使用ttest_ind()函数进行T检验。
import numpy as np
from scipy.stats import ttest_ind
np.random.seed(0)
sample1 = np.random.normal(5, 2, 100)
sample2 = np.random.normal(4, 2, 100)
t, p = ttest_ind(sample1, sample2)
print("t = " + str(t))
print("p = " + str(p))
运行结果为:
t = 2.177516773320437
p = 0.03079682343952334
通过返回的P值,我们可以推断出两个样本均值之间是否存在显著差异。根据科研常规,当P值小于0.05时,认为两个样本均值之间存在显著差异。因此,在此例中,根据P值的小于0.05,我们可以认为两个样本均值之间存在显著差异。
总结
本文介绍了如何使用Numpy库中的T检验函数,进行两个样本均值的显著性检验。通过生成两组符合正态分布的随机数据,成功验证了T检验函数的正确性。在实际数据分析中,当需要分析两个观测组之间的均值差异时,该函数将会非常有用。