连续型变量的推断性分析——t检验
连续型变量的推断性分析方法主要有t检验和方差分析两种,这两种方法可以解决一些实际的分析问题,下面我们分别来介绍一下这两种方法
一、t检验(Student's t test)
t检验也称student t检验(Student's t test),由Gosset提出,主要用于样本含量较小(例如n<30),总体标准差σ未知的正态分布资料。我们在介绍连续变量分布时讲过t分布,t检验是用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著。
介绍t检验之前,先说一下Z检验,假设我们已知一个样本的均值和总体均值,二者之间存在差异,仅凭差异值这一个数字,很难判断这种差异是否超出了抽样误差的概率范围,因此需要以某种方式对这个差值进行标准化。由中心极限定理得知当样本量足够大时,样本的均值分布近似正态分布,因此可以通过如下变换
,就可以完成对差值的标准化,实际上就是将近似正态分布转换为标准正态分布,而变换的方法其实就是Z分数,因此也叫Z检验,标准正态分布也称为Z分布。国内普遍称为u分布和u检验,但个人认为Z检验更为确切。
Z检验在标准化过程中需要已知总体标准差,但是这点在实际工作中很难满足,因此Gosset提出使用样本标准差代替总体标准差进行计算,这样就构成了t统计量和t分布。t分布曲线形态与样本量n(确切地说是自由度v)大小有关。与标准正态分布曲线相比,自由度v越小,t分布曲线愈平坦,曲线中间愈低,曲线双侧尾部翘得愈高;自由度v愈大,t分布曲线愈接近正态分布曲线,当自由度v=∞时,t分布曲线为标准正态分布曲线。对应于每一个自由度ν,就有一条t分布曲线,每条曲线都有其曲线下统计量t的分布规律。t检验就是应用t分布特征,将t作为检验的统计量来进行检验。
在使用t检验和Z检验时,要注意一点:
在大样本条件下(n>50),Z检验和t检验的结果是一致的,当n<50时,需要使用t检验。我们在将样本均值和总体均值的差值进行标准化的过程时,是假定样本服从正态分布的,这是个前提条件,但是根据中心极限定理,即使原数据不服从正态分布,只要样本量足够大,其样本均数的抽样分布依然是正态的,因此在大样本情况下,我们很少考虑这个前提条件,只要数据不是强烈的偏态,均值一般都可以较好的代表数据的集中趋势,这时都可以使用t或Z检验。在小样本情况下,需要进行正态性检验,但研究表明t检验是比较稳健的,只要没有太极端的值,结果都是稳定的。
无论怎样,我个人都是习惯在分析前将数据做一个描述性分析,对数据整体情况做个全面了解,这样也会对后续结果的评估有个参考。
t检验可以在以下分析中使用
1.样本均数与总体均数的差异性分析(单样本t检验)
2.配对设计样本均数或两非独立两样本均数差异性分析(配对t检验)
3.两独立样本均数差异性分析(独立样本t检验)
下面分别介绍一下这三种使用方法
样本均数与总体均数的比较(单样本t检验)
单样本t检验主要针对于只有一个随机样本,推断这个随机样本所在的总体均数与这个总体的已知均值之间是否存在差异,这个总体的已知均值通常是根据以往调查或根据人为经验所得到。
首先建立假设:
H0:μ=μ0,即二者不存在差异
H1:μ≠μ0,即二者存在差异
α=0.05
在原假设成立的情况下,可认为样本均值和总体已知均值之间的差异是抽样误差引起的
按照t检验的差值标准化思想,单样本t检验公式为:

配对设计样本均数或两非独立两样本均数差异性分析(配对t检验)
配对设计可以减少实验误差、控制非处理因素,有效提高研究效率,被广泛应用在科学研究中。
配对样本要求两样本观察值数量相同且顺序固定,常见的配对设计有4种情况:
1.同一受试对象试验前和试验后的数据
2.同一受试对象不同受试部位的数据
3.同一受试对象用两种试验方法检验的结果
4.配对的两个受试对象分别接受进行两种处理后的数据
配对试验设计得出的数据可以是离散变量或连续变量,离散变量可以通过构造列联表使用卡方检验,连续变量可以使用配对t检验。
配对t检验的基本原理是:构建一个随机变量d,d的值来自于配对样本每对样本值的差,这里可将d看做一个变量样本,如果两种处理在效果上没有差异,那么这个样本差值d对应的总体均值应当为0,其样本均值应该在0附近波动。反之如果两种处理在效果上存在差异,那么样本差值d对应的总体均值就不为0,其样本均值也会远离0。这样一来,配对t检验就转换成了样本差值变量d的均值μ与已知其总体均值μd(μd=0)之间是否存在差异的单样本t检验。
建立假设
H0:μ=0,即两种处理不存在差异
H1:μ≠0,即两种处理存在差异 α=0.05
按照t检验的差值标准化思想,配对t统计量公式为:

实际上,配对t检验的本质就是单样本t检验,配对t检验的适用条件和单样本t检验一样,只是考察的数据是差值d而不是原始数据。
两独立样本均数差异性分析(独立样本t检验)
当两个独立样本进行均数比较时,可以使用独立样本t检验
独立样本t检验的基本原理是:假设两个独立样本来所代表的总体均值相同,即μ1=μ2或μ1-μ2=0,既然两总体均为正态分布,那么其样本之差也服从正态分布,我们希望用样本之差估计总体之差,从进而对差值进行检验。
在进行两独立样本t检验的时候,还要考虑两样本的方差齐性问题,也就是方差是否相等,不同情况下的t统计量公式不同,我们可以通过方差齐性检验来进行判断,方差齐性检验是根据F分布来进行的检验,在后面会单独介绍。
如果这两个总体的方差相等,则构建的t统计量公式为

其中


Sc2成为合并方差,我们可以把样本方差S1和S2带入合并方差公式,如下

如果两总体方差不相等,根据上式构建的t统计量并不服从相应的t分布,此时需要对t统计量和自由度进行校正,t统计量校正公式为:

自由度校正公式为

以上三种t检验的应用,都是以均值之差标准化为基础构建t统计量进行检验,他们有具有共同的使用条件:
1.样本正态性:以上三种t检验都是假设样本所在的总体服从正态分布,虽然t检验很稳健,但是还是要检查一下是否有极端值出现,因为均值是很容易受极端值影响的。
2.独立样本t检验和配对样本t检验本质上都是单样本t检验。
3.独立样本t检验要根据样本方差是否相等来决定统计量,而配对样本对方差是否相等不关注。
4.独立样本t检验样本间必须具有独立性,否则结果会偏差较大,但是通常来讲,我们在设计实验的时候,就会对样本间是否独立有个大致判断,也可以通过计算相关系数等
方法进行判断。
连续型变量的推断性分析——t检验的更多相关文章
- seaborn 数据可视化(一)连续型变量可视化
一.综述 Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,图像也更加美观,本文基于seaborn官方API还有自己的一些理解. 1.1.样式控制: ...
- R语言做条形图时候,离散变量和连续型变量的区别
1)条形图 条形图或许是最常用图形,常用来展示分类(different categories on the x-axis)和数值(numeric values on the y-axis)之间的关系. ...
- 【概率论与数理统计】小结4 - 一维连续型随机变量及其Python实现
注:上一小节总结了离散型随机变量,这个小节总结连续型随机变量.离散型随机变量的可能取值只有有限多个或是无限可数的(可以与自然数一一对应),连续型随机变量的可能取值则是一段连续的区域或是整个实数轴,是不 ...
- volatile型变量语义讲解一 :对所有线程的可见性
volatile型变量语义讲解一 :对所有线程的可见性 一.volatile变量语义一的概念 当一个变量被定义成volatile之后,具备两个特性: 特性一:保证此变量对所有线程的可见性.这里的&qu ...
- MINIX3 内核整体架构回顾及内核定 性分析
MINIX3 内核整体架构回顾及内核定 性分析 12.1 注意事项 由于本文档不对 I/O 文件系统做出分析,所以在此不对 MINIX3 整体做出一个分 析,本章主要是针对内核进程分析.并且这里的模 ...
- Java中boolean型变量的默认值问题
1.首先分析Java中的三种不同变量的区别,如下表所示 概念 默认值 其他 类变量 也叫静态变量,是类中独立于方法之外的变量 用static 修饰 有默认初始值,系统自动初始化. 如boolean ...
- C++变量的“总分性”(Mereology)
Stroustrup 在自传中说自己在哲学上深受 Kierkegaard (吉爾凱高爾)的影响,而讨厌黑格尔.所以看 Stroustrup 的书,很少感受到抽象理论的重要性.这也影响了C++的文化:许 ...
- 常用连续型分布介绍及R语言实现
常用连续型分布介绍及R语言实现 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数 ...
- 从软件project的角度写机器学习3——主要监督学习算法的project性分析
主要机器学习算法的project适用性分析 前段时间AlphaGo跟李世石的大战及相关的深度学习的新闻刷了一遍又一遍的朋友圈.只是这件事情,也仅仅是在机器学习的深度上进一步拓展,而机器学习的广度(也即 ...
随机推荐
- Spring的IoC容器注入的类型
Spring除了可以注入Bean实例外,还可以注入其他数据类型. 注入基本数据类型 xml配置文件中的init-method="init"属性是取得Bean实例之后,输入属性值后自 ...
- Logical Databases逻辑数据库
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- CUBRID学习笔记 32 对net的datatable的支持 cubrid教程
在net的驱动中实现理一下的支持 DataTable data populate Built-in commands construct: INSERT , UPDATE, DELETE Column ...
- 用一张图片制作skybox图片 (如何制作360全景图、立方体)
我转发的帖子在这里 http://dong2008hong.blog.163.com/blog/static/4696882720140294039205/ 原帖不知道地址 我这里简单整理了下 去掉了 ...
- updatePanel导致JS失效的解决办法(转)
吐槽下,维护别人之前做的项目好蛋疼,整个页面都是用微软的ajax框架. 今天给repeater用JS写一个hover事件 <script type="text/javascript&q ...
- Effective C++ 的55个条款
看完Effective C++才觉得平时程序设计时需要注意的一些问题,有一定的收获,不过因为没什么项目实践, 并未很深入了解具体情况如何,还需后继实践~ 列举一下55个条款: 1. 视C++为一个语言 ...
- iOS - Notification 通知
1.Notification 通知中心实际上是在程序内部提供了消息广播的一种机制,它允许我们在低程度耦合的情况下,满足控制器与一个任意的对象进行通信的目的.每一个 iOS 程序(即每一个进程)都有一个 ...
- otl插入数据不成功
原因是:void rlogon(...); 没有设置auto_commit为1,otl不会自动提交. 注意:static int otl_initialize (const int threaded_ ...
- Mysql delete,truncate,drop
1.delete 是DML(Data Manipulation Language),每次删除一行,作为事务记录在日志,可以回滚.delete from xxx 2.truncate是DDL(Data ...
- 查看package编译时的错误信息及重新编译
开发时,一般都是使用PL/SQL工具进行开发,查看编译错误及重新编译都很简单,但是一般的生产环境是不允许连接外界工具的,只能在命令行中进行重新编译及查看,今天我就遇到了这个问题,现在总结如下: 1.获 ...