数据分析之T检验

1、定义:

t检验,亦称student t检验(Student’s t test),主要用于样本含量较小(例如n < 30),总体标准差σ未知的正态分布。 t检验是用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著。它与f检验、卡方检验并列。来源:百度百科

用于统计量服从正态分布,但方差未知的情况。

T检验分析时,当样本量较大时,很少考虑T检验的使用条件。由中心极限定理可知,只要样本量足够大,其样本均数的抽样分布仍然是正态的。即:只要数据分布不是强烈的偏态,一般而言T检验都是适用的。当样本例数n较小时,一般要求样本取自正态本体。

t检验的前提是要求样本服从正态分布或近似正态分布,不然可以利用一些变换(取对数、开根号、倒数等等)试图将其转化为服从正态分布是数据,如若还是不满足正态分布,只能利用非参数检验方法。不过当样本量大于30的时候,可以认为数据近似正态分布。
在这里插入图片描述

2、T检验的分类

T检验的适用条件

2.1、单样本T检验

检验单个变量的均值与目标值之间是否存在差异,如果总体均值已知,样本均值与总体均值之间差异显著性检验属于单样本t检验。

2.1.1 目的

检验单样本的均值是否和已知总体的均值相等(主要用于比较一组数据与一个特定数值之间的差异情况)

2.1.2 要求

  • 总体方差未知,否则就可以利用Z检验(也叫U检验,就是正态检验)
  • 正态数据或近似正态

2.1.3 原假设H0与备择假设H1

  • H0:样本均值与总体均值相等
  • H1:样本均值与总体均值不等

2.1.4 python 中的单样本T检验 ttest_1samp

from scipy import stats
import numpy as np

np.random.seed(7654567)  # 保证每次运行都会得到相同结果
# 均值为5,方差为10
rvs = stats.norm.rvs(loc=5, scale=10, size=(50,2))

stats.ttest_1samp(rvs, [1, 2])

在这里插入图片描述

返回结果:
Ttest_1sampResult(statistic=array([ 2.0801775 , 2.44893711]), pvalue=array([ 0.04276084, 0.01795186]))

分别显示两列数的t统计量和p值。由p值分别为0.042和0.018,当p值小于0.05时,认为差异显著,即第一列数的均值不等于1,第二列数的均值不等于2。

  • 不拒绝原假设——均值等于5
stats.ttest_1samp(rvs, 5.0)
Ttest_1sampResult(statistic=array([-0.68014479, -0.04323899]), pvalue=array([ 0.49961383, 0.96568674]))
  • 拒绝原假设——均值不等于5
stats.ttest_1samp(rvs, 0.0)
Ttest_1sampResult(statistic=array([ 2.77025808, 4.11038784]), pvalue=array([ 0.00789095, 0.00014999]))
  • 第一列数均值等于5,第二列数均值不等于0
stats.ttest_1samp(rvs,[5.0,0.0])
Ttest_1sampResult(statistic=array([-0.68014479, 4.11038784]), pvalue=array([ 4.99613833e-01, 1.49986458e-04]))
  • 第一行数均值等于5,第二行数均值不等于0
#axis=0按列运算,axis=1按行运算
stats.ttest_1samp(rvs.T,[5.0,0.0],axis=1) 
  • 将两列数据均值分别与5.0和0.0比较,得到4个t统计量和p值
stats.ttest_1samp(rvs,[[5.0],[0.0]])
Ttest_1sampResult(statistic=array([[-0.68014479, -0.04323899],[ 2.77025808, 4.11038784]]), 
pvalue=array([[ 4.99613833e-01, 9.65686743e-01],[ 7.89094663e-03, 1.49986458e-04]]))

————————————————
原文链接:https://blog.csdn.net/m0_37777649/article/details/74938120

2.1.5 补充:检验原理

在这里插入图片描述
————————————————
原文链接:https://zhuanlan.zhihu.com/p/138711532

2.2 独立样本t检验

用于检验两组服从正态分布的总体均值是否一样,前提是两个样本方差相等。如果两组样本彼此不独立,应该使用配对样本t检验。

2.2.1 目的

检验两独立样本的均值是否相等。

2.2.2 要求

两样本独立,服从正态分布或近似正态。

2.2.3 根据总体方差是否相等可以分为两类

在这里插入图片描述

2.2.3.1 总体方差相等且未知 样本方差满足

在这里插入图片描述
在这里插入图片描述

2.3.3.2 总体方差不等且未知(或者对它们一无所知)满足

在这里插入图片描述

2.3.3.3 检验原理(方差相等或不等都适用)

在这里插入图片描述
————————————————
原文链接:https://zhuanlan.zhihu.com/p/138711532

2.2.4 python中的独立样本T检验 ttest_ind

from scipy import stats
import numpy as np

np.random.seed(12345678)
#loc:平均值  scale:方差
rvs1 = stats.norm.rvs(loc=5,scale=10,size=500)  
rvs2 = stats.norm.rvs(loc=5,scale=10,size=500)

在这里插入图片描述
在这里插入图片描述

  1. 当两总体方差相等时,即具有“方差齐性”,可以直接检验
  • 不拒绝原假设——两总体均值相等
stats.ttest_ind(rvs1,rvs2, equal_var = True)
LeveneResult(statistic=0.9775501222315258, pvalue=0.323044034693146)
  • 如果两总体具有方差齐性,错将equal_var设为False,p值变大
stats.ttest_ind(rvs1,rvs2, equal_var = False)
Ttest_indResult(statistic=0.26833823296238857, pvalue=0.78849452749501059)
  1. 当不确定两总体方差是否相等时,应先利用levene检验,检验两总体是否具有方差齐性。
stats.levene(rvs1, rvs2)
LeveneResult(statistic=1.0117186648494396, pvalue=0.31473525853990908)

p值远大于0.05,认为两总体具有方差齐性。

如果两总体不具有方差齐性,需要将equal_val参数设定为“False”。这里设置成False则进行Welch’s t-test而不是Student’s t-test

注:

  • 两总体方差不等时,若没有将equal_var参数设定为False,则函数会默认equal_var为True,这样会低估p值
rvs3 = stats.norm.rvs(loc=5, scale=20, size=500)
stats.ttest_ind(rvs1, rvs3)
Ttest_indResult(statistic=-0.5189533606202925, pvalue=0.6039083183389862)
  • 正确的P值
rvs3 = stats.norm.rvs(loc=5, scale=20, size=500)
stats.ttest_ind(rvs1, rvs3, equal_var = False)
Ttest_indResult(statistic=0.8518907349603478, pvalue=0.39455490418122585)

2.3、配对样本t检验

用于两个样本并不互相独立,对两个总体的均值差异进行检验,原假设d=μ1-μ2=0,即假定两个总体均值相等

2.3.1 目的

分析配对定量数据之间的差异对比关系

2.3.2 要求

  • 总体方差相等
  • 正态数据或近似正态
  • 两个样本的样本量要相同,样本先后的顺序是一一对应的。

2.3.3 检验原理

在这里插入图片描述
————————————————
原文链接:https://zhuanlan.zhihu.com/p/138711532

2.3.4 python 中的配对样本T检验 ttest_rel

from scipy import stats
import numpy as np

rvs1 = stats.norm.rvs(loc=5,scale=10,size=500)
rvs2 = (stats.norm.rvs(loc=5,scale=10,size=500) + stats.norm.rvs(scale=0.2,size=500))
rvs3 = (stats.norm.rvs(loc=8,scale=10,size=500) + stats.norm.rvs(scale=0.2,size=500))
  • 不拒绝原假设,认为rvs1 与 rvs2 所代表的总体均值相等
stats.ttest_rel(rvs1,rvs2)
Ttest_relResult(statistic=0.24101764965300979, pvalue=0.8096404344581155)
  • 拒绝原假设,认为rvs1 与 rvs3所代表的总体均值不相等
stats.ttest_rel(rvs1,rvs3)
Ttest_relResult(statistic=-3.9995108708727924, pvalue=7.308240219166128e-05)

2.4 配对T检验与独立T检验

两者的主要区别在于:配对样本t检验需要两组样本数相等,且要求每对配对数据之间要有一定的对应关系,而独立样本t检验两组数据的样本个数可以不等

  • 常见的配对研究包括几种情况:
    在这里插入图片描述

  • 无论是哪种T检验,都要数据服从正态或近似正态分布。
    在这里插入图片描述
    正态性有多种检验方法,常见方法如:正态图、正态性检验、P-P图/Q-Q图等。

    正态性检验可查看之前的文章:数据分析之正态性检验(女人近我三尺便是向我问剑)

  • 非正态时处理方法

    若数据满足正态性则不用考虑此步,直接选择对应方法分析。
    若不满足,则可考虑使用非参数检验,三种T检验对应的不同的处理方法,具体说明如下:
    在这里插入图片描述
    从功能上讲,它们的区别仅在于数据是否正态。除此之外,非参数检验的检验效率不如参数检验,因而在实际研究中,可能即使数据非正态,也会使用基于正态分布的参数检验。

  • 对于独立样本t检验,除了要满足正态性,还需要满足方差齐的前提条件。即方差齐的情况下,才可以使用t检验。如果方差不齐,则应采用校正T检验。

在这里插入图片描述

在spss软件中,会分别输出方差相等与不相等时T检验的结果,如通过Levene’s检验结果即p>0.05,则说明两组数据方差齐。
上图中只有③喜欢产品这一变量不满足方差齐条件,因此应该使用校正t检验,也就是看方差不相等时的结果。

  • 无论配对t检验还是独立样本t检验,都只适用于两组数据的对比,如果数据超过两组,需要使用方差分析

参考链接:T检验分析思路完整总结,来看!

用SPSS进行T检验:
参数检验(一):为什么SPSS没有Z检验
参数检验(二):t检验的介绍与单样本t检验的SPSS操作
参数检验(三):独立样本和配对样本t检验的SPSS操作

其他T检验相关:
如何理解Z检验和T检验?
利用python进行T检验

待续。。。

  • 24
    点赞
  • 221
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: student t检验是一种统计方法,用于检验两组样本均值是否存在显著差异。它基于t分布的理论,适用于小样本情况下。在t检验中,我们首先假设两组样本的均值相等,然后计算出一个t值,然后根据t值去查t分布表得出其对应的显著性水平。 student t检验通常包括以下几个步骤: 1. 建立假设:设置原假设(H0)和备择假设(H1)。原假设通常是两组样本均值相等,备择假设则是两组样本均值不相等。 2. 选择显著性水平:根据实际问题的要求,选择一个适当的显著性水平,常见的有0.05和0.01。 3. 计算t值:通过计算两组样本的均值、标准差和样本量,计算出t值。 4. 查表:根据计算得到的t值,查找t分布表找出对应的临界值。 5. 判断:通过比较t值和临界值,判断该差异是否显著。如果t值小于临界值,则差异不显著,接受原假设;反之,如果t值大于临界值,则差异显著,拒绝原假设。 student t检验可以用于许多实际问题的研究,比如比较两种药物的疗效、不同教学方法的效果等。它的优点是计算简单、普遍适用于小样本情况下,但也有一些前提条件需要满足,比如样本要求独立、正态分布等。 总之,student t检验是用于比较两组样本均值是否存在显著差异的统计方法,通过计算t值并与临界值比较,来进行判断。在实际应用中,我们可以根据问题的具体需求和数据的特点选择是否采用student t检验来进行统计分析。 ### 回答2: 学生t检验是一种用于比较两个样本均值差异是否显著的统计方法。该检验通常用于小样本情况下,且样本符合正态分布的情况下。 学生t检验的原理是通过计算两个样本的均值差异与标准误之间的比值来确定检验统计量t的值。其中标准误是由样本标准差和样本大小所决定。通过对自由度和显著性水平的设定,可以在t分布表中查找相应的临界值,进而判断两个样本均值差异是否显著。 学生t检验主要用于以下情况: 1. 比较两组样本的均值是否有显著差异,例如比较两个班级的平均分是否有显著差异。 2. 检验一个样本在不同时间点或条件下的均值变化是否显著,例如比较同一组学生在两次考试中的平均分是否有显著差异。 学生t检验的使用步骤包括: 1. 设定原假设和备择假设。 2. 收集两个样本的数据,计算两个样本的平均值、标准差和样本大小。 3. 计算检验统计量t的值。 4. 在t分布表中查找相应的临界值。 5. 比较检验统计量t的值和临界值,判断两个样本均值差异是否显著。 6. 根据判断结果,得出结论并进行进一步的解释。 学生t检验在实际应用中具有重要意义,可以帮助我们从统计学的角度评估两个样本之间的差异,并得出科学和可靠的结论。但需要注意的是,在使用学生t检验时要满足一些前提条件,例如样本的独立性、正态分布和方差齐性等。如果样本不满足这些条件,可能需要考虑使用其他的统计方法。 ### 回答3: Student t检验是一种统计方法,用于判断两组样本均值是否有显著差异。它是基于t分布理论,通过比较两组样本的均值和方差来判断差异的显著性。 在进行Student t检验之前,我们要先做出一些假设。首先,我们提出原假设(H0)和备择假设(H1),其中原假设为“两组样本均值相等”,备择假设为“两组样本均值不相等”。然后,选择适当的t检验类型(单样本t检验、配对样本t检验或独立样本t检验)来计算t值。 在执行t检验时,我们计算得到一个t统计值,该值与自由度(根据样本大小确定)一起参考t分布表,得到p值。p值表示根据观察到的样本数据,计算得到结果的概率。当p值小于事先设定的显著性水平(通常为0.05)时,我们就可以拒绝原假设,认为两组样本均值之间存在显著差异。 Student t检验的应用广泛,可以用于比较不同治疗方法的效果、分析两组样本之间的差异、判断实验条件对实验结果的影响等。此外,Student t检验也有一些限制,如对数据满足正态分布和方差齐性的要求等。 总之,Student t检验是一种常用的统计方法,用于比较两组样本均值是否有显著差异。通过计算t值和p值来进行判断,可以帮助研究者对数据进行分析和决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YouShouldKnowMe

别来这套

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值