使用scipy实现两样本t检验

两样本t检验是统计学中用于比较两组样本均值是否有显著差异的方法。在数据挖掘中,我们经常需要对不同的特征或变量进行比较,以确定它们之间是否存在显著差异。这时,两样本t检验可以用作一种工具来评估这些差异的显著性。

那到底什么是两样本t检验呢?

我们可以举个简单的例子了解一下:

假设有一所学校现在有两个教学方法:方法A和方法B。那么学校肯定是想知道这两种方法是否对学生成绩产生了显著的影响。

我们首先将学生随机分成两组,一组接受方法A的教学,另一组接受方法B的教学。然后,我们在相同的时间段内进行教学,并在学期结束时收集学生成绩的数据。

接下来,我们计算每组学生的平均分数和标准差。然后,使用两样本t检验计算一个t值,该值表示两组学生的平均分数之间的差异相对于组内变异的程度。

如果计算得到的t值较大,说明两组学生的平均分数差异较大,可能存在真实的差异。然后,我们根据计算得到的t值,样本大小和显著性水平计算一个p值。

如果p值小于设定的显著性水平(通常是0.05),我们可以拒绝原假设,即两种教学方法对学生成绩没有显著影响,而接受备择假设,即两种教学方法对学生成绩有显著影响。

通过两样本t检验,我们可以确定哪种教学方法在学生成绩方面更有效。

那又有一个疑问了,如何计算t值呢?

  1. 计算两组数据的平均值(分别记为x1x2)和标准差(分别记为s1s2)。
  2. 计算每组数据的样本大小(分别记为n1n2)。
  3. 计算两组数据的标准差,它是标准差除以样本大小的平方根。对于两组数据,标准差的计算公式如下:
    SE = sqrt((s1^2/n1) + (s2^2/n2))
  4. 计算t值,它表示两组数据的平均值之间的差异相对于标准误差的大小。计算公式如下:
    t = (x1 - x2) / SE

下面是示例代码:

python 复制代码
import pandas as pd
df=pd.read_csv(r"C:\Users\ljl20\Desktop\文档\stu_data.csv", encoding='GBK')
df.groupby('性别').身高.describe()
bash 复制代码
from scipy import stats as ss
#方差齐性
ss.levene(df.身高[df.性别=='男'],df.身高[df.性别=='女'])

使用了SciPy库中的stats模块,并调用了其中的levene函数来进行方差齐性检验。那么什么是方差齐性检验呢?方差齐性是一项重要的假设,方差齐性检验主要用于检验两个或多个样本的方差是否相等。这段代码就是对男性和女性的身高做一个方差齐性检验。

bash 复制代码
ss.ttest_ind(df.身高[df.性别=='男'],df.身高[df.性别=='女'],equal_var=False)
ini 复制代码
t_statistic, p_value = ss.ttest_ind_from_stats(
    mean1=171.444444, std1=9.103395, nobs1=27,
    mean2=165.360000, std2=5.179125, nobs2=25,
    equal_var=False
)
print("T统计量:", t_statistic)
print("P值:", p_value)

这段代码使用了SciPy库中的stats模块,调用ttest_ind_from_stats函数来进行两样本独立t检验。 代码中的ttest_ind_from_stats函数的参数如下:

  • mean1:第一个样本的均值
  • std1:第一个样本的标准差
  • nobs1:第一个样本的样本大小
  • mean2:第二个样本的均值
  • std2:第二个样本的标准差
  • nobs2:第二个样本的样本大小
  • equal_var:一个布尔值,用于指定是否假设两个样本的方差相等。在这段代码中,equal_var=False表示不假设方差相等。

使用scipy实现两样本t检验,你学会了吗?

相关推荐
西柚小萌新7 分钟前
【深入浅出PyTorch】--上采样+下采样
人工智能·pytorch·python
shut up2 小时前
LangChain - 如何使用阿里云百炼平台的Qwen-plus模型构建一个桌面文件查询AI助手 - 超详细
人工智能·python·langchain·智能体
宝贝儿好3 小时前
【python】第五章:python-GUI编程
python·pyqt
闲人编程3 小时前
从多个数据源(CSV, Excel, SQL)自动整合数据
python·mysql·数据分析·csv·存储·数据源·codecapsule
B站_计算机毕业设计之家4 小时前
推荐系统实战:python新能源汽车智能推荐(两种协同过滤+Django 全栈项目 源码)计算机专业✅
大数据·python·django·汽车·推荐系统·新能源·新能源汽车
茯苓gao4 小时前
Django网站开发记录(一)配置Mniconda,Python虚拟环境,配置Django
后端·python·django
Full Stack Developme4 小时前
Python Redis 教程
开发语言·redis·python
码界筑梦坊4 小时前
267-基于Django的携程酒店数据分析推荐系统
python·数据分析·django·毕业设计·echarts
Cherry Zack4 小时前
Django视图进阶:快捷函数、装饰器与请求响应
后端·python·django
qq_4924484464 小时前
Jmeter设置负载阶梯式压测场景(详解教程)
开发语言·python·jmeter