如何在 Python 中进行单样本 t 检验?


简介

单样本 t 检验是一种统计假设检验,用于确定总体均值是否与假设值存在显著差异。Python 为我们提供了执行此检验所需的资源。在本文中,我们将逐步介绍如何在 Python 中使用 SciPy 库进行单样本 t 检验。

进行单样本 t 检验

进行单样本 t 检验的第一步是陈述零假设和备择假设。零假设是假设总体均值等于假设值。备择假设与零假设相反。它是假设总体均值不等于假设值。

假设我们有一组数据和一个总体均值的假设值,我们可以执行单样本 t 检验以确定总体均值是否与假设值存在显著差异。以下是使用 SciPy 库在 Python 中进行单样本 t 检验的步骤:

步骤 1:导入所需的库

第一步将是导入必要的库。为了在 Python 中执行单样本 t 检验,我们需要导入 NumPy 和 SciPy 库。SciPy 库用于执行统计运算,而 NumPy 库用于执行数学运算。

import numpy as np
from scipy.stats import ttest_1samp

步骤 2:加载数据

然后必须将数据加载到 Python 中。NumPy 模块中的 loadtxt() 方法可以帮助我们做到这一点。文件名作为参数传递给 loadtxt() 函数,该函数生成一个包含内容的数组。

data = np.loadtxt('data.txt')

步骤 3:定义假设值

我们必须指定总体均值的假设值。此数字将作为基线,以评估总体均值是否与估计值存在显著偏差。

hypothesized_value = 50

步骤 4:执行单样本 t 检验

现在我们准备运行单样本 t 检验。可以使用 SciPy 库的 ttest_1samp() 函数来运行单样本 t 检验。ttest_1samp() 函数需要两个参数:数据和假设值。

t_statistic, p_value = ttest_1samp(data, hypothesized_value)

ttest_1samp() 函数的结果是检验统计量和 p 值。t 统计量计算样本均值与假设值之间方差的标准误差。p 值是在零假设下生成与观察到的 t 统计量一样极端的 t 统计量的可能性。

步骤 5:解释结果

最后,我们必须解释单样本 t 检验的结果。我们可以通过比较 p 值和显著性水平来做到这一点。显著性水平是拒绝零假设的截止值。如果 p 值小于 0.05(这是传统的显著性水平),则拒绝零假设。

if p_value <r; 0.05:
   print('Reject Null Hypothesis')
else:
   print('Fail to Reject Null Hypothesis')

如果 p 值小于 0.05,我们拒绝零假设并得出结论,即总体均值与假设值存在显著差异。如果 p 值大于或等于 0.05,则我们无法拒绝零假设,并得出结论,即总体均值与假设值之间没有显著差异。

需要注意的是,单样本 t 检验假设数据呈正态分布。如果数据不是正态分布的,我们可能需要使用其他统计检验,例如 Wilcoxon 符号秩检验。单样本 t 检验还假设数据是独立的并且是从总体中随机抽取的。如果某些假设不满足,则检验结果可能不准确。

代码和输出示例

以下是如何在 Python 中使用 SciPy 库执行单样本 t 检验的示例:

假设我们有一组数据,其中包含苹果样本的重量。我们希望确定总体苹果平均重量是否与 100 克存在显著差异。我们可以使用 Python 如下执行单样本 t 检验:

import numpy as np
from scipy.stats import ttest_1samp

# Load the data
data = np.array([98, 102, 95, 105, 99, 101, 97, 103, 100, 98])

# Define the hypothesized value
hypothesized_value = 100

# Perform the One Sample T-Test
t_statistic, p_value = ttest_1samp(data, hypothesized_value)

# Interpret the results
if p_value < 0.05:
   print('Reject Null Hypothesis')
else:
   print('Fail to Reject Null Hypothesis')

输出

Fail to Reject Null Hypothesis

在本例中,由于 p 值大于 0.05,因此我们无法拒绝零假设。我们得出结论,在 0.05 的显著性水平下,苹果的总体平均重量与 100 克之间没有差异。

结论

总之,在 Python 中执行单样本 t 检验相当简单。SciPy 库为我们提供了执行检验所需的工具。只需导入数据,提供假设值,使用 ttest_1samp() 函数执行单样本 t 检验,然后将 p 值与显著性水平进行比较以解释结果。这些步骤使我们能够评估总体均值是否与假设值存在显著差异。

更新于: 2023-07-13

1K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.