1、背景
t检验是科研中非常常用的一种方法和手段,但是理解到位的人并不多,虽然这也不影响其使用。本文主要目的在于将与t检验有关的前前后后都讲明白。
2、补充知识
理解t检验,我们需要补充一些统计学有关的先验知识。
2.1 正态分布
概率密度函数为
正态分布为自然界最常见的分布,注意,这个最后面没有之一。
图像如图所示
根据图像我们知道,我们来看下正态分布的几个性质:
(1)正态分布的概率密度函数为偶函数;
(2) 概率密度函数关于x=
μ
\mu
μ对称;
(3)标准差
σ
\sigma
σ越大,分母越小,密度函数曲线越矮。
(4)这里,
1
σ
1\sigma
1σ区间对应的概率为68.4%,
2
σ
2\sigma
2σ对应的区间为95.4%,
3
σ
3\sigma
3σ对应的区间为99.7%。这3个较为常用。
在统计学检验中的P值,我们通常会假定(P<0.05),这里的0.05
也是来自于这里。确切的说,当从均值
μ
\mu
μ往左或往右各1.96倍标准差的时候,对应的左侧和右侧面积之和就是5%。因为这种概率不是很高,所以认为其是小概率事件。
我们日常生活中常听到的六西格玛也是来自于这里。
6
σ
6\sigma
6σ的意思是,均值往左和往右个6个标准差,这个时候对应的左侧和右侧面积之和是99.99996.6%
,也就是说错误发生率为百万分之三点四,用于容错率非常低的情况(如航天飞机发动机故障率)。
2.2 自由度
自由度的定义是指计算样本统计量时能够自由取值的个数,一般用df来表示
。举个例子,例如x+y+z=100
,一旦y和z的值确定下来,那么x的值也就固定了,因此能够自由取值的个数只有2个,而不是3个,也就是说,自由度是2
。
在不同的统计方法中,自由度都不一样,但基本原则是每估计1个参数,就需要消耗一个自由度
。
举例来说,假如对于变量X我们有30个样本(某班级男生身高),我们要检验该班级男生平均身高是否为170cm,则需要消耗1个自由度,自由度为30-1=29
。
另外插一句,关于计算方差时,如果较真的话,需要区分总体方差与样本方差。总体方差的计算除的是n
,样本方差的计算除的是n-1
。因为在计算样本方差的过程中,需要假定样本方差等于总体方差,因此消耗了1个自由度,所以计算的时候分母是`n-1``。
几个典型场景:
(1)在单样本t检验中,自由度是n-1。因为只需要估计1个参数,就需要消耗1个自由度,所以自由度是n-1。
(2)在两组比较的t检验中,自由度为n1+n2-2
。因为需要估计的参数有2个,分别为2组的均数。
2.3 t分布
t分布的由来
在20世纪初,有人因为工作原因发现了一个问题,同样的指标,在大样本的时候是服从标准正态分布的,但是如果数据变少了,形状就和标准正态分布不大一样了。然后一个叫Gosset的人摸索出了一套符合小样本的分布规律,称为student’s分布,也叫t分布。
假设X服从标准正态分布N(0,1),Y服从
χ
2
(
n
)
\chi^{2}(n)
χ2(n)分布,那么
Z
=
X
Y
/
n
Z=\frac{X}{\sqrt{Y/n}}
Z=Y/nX的分布称为自由度为n的t分布,记为
Z
t
(
n
)
Z~t(n)
Z t(n)。
下图为不同自由度下的t分布:
可以看出,随着自由度的增加,t分布逐渐接近于标准正态分布。
提示:matlab中tpdf
函数可用于生成t分布的概率密度函数。
下面解释一下,为何t分布明明是用来解决正态分布在小样本下失效的问题,但是定义却完全看不出来和这个问题有任何关系。
首先:
1)假设X是呈正态分布的独立的随机变量(期望值为
μ
\mu
μ,总体方差为
σ
2
\sigma^{2}
σ2但其值未知),则样本期望为
x
ˉ
=
X
1
+
X
2
+
.
.
+
X
n
n
\bar{x}=\frac{X_{1}+X_{2}+..+X_{n}}{n}
xˉ=nX1+X2+..+Xn
2) 样本方差为
S
n
=
1
n
−
1
∑
i
=
1
n
(
X
i
−
X
ˉ
)
2
S_{n}=\frac{1}{n-1}\sum_{i=1}^{n}(X_{i}-\bar{X})^{2}
Sn=n−11i=1∑n(Xi−Xˉ)2
3)我们都知道非正态分布可通过Z变换(减去均值除以标准差)变换为正态分布,但由于总体方差未知,我们先用样本方差代替总体方差,于是得到
T
=
X
−
μ
S
n
n
T=\frac{X-\mu}{\frac{S_{n}}{\sqrt{n}}}
T=nSnX−μ
T的概率密度函数即为t分布的概率密度函数,自由度为n-1。上面公式中分母还额外除了一个
n
\sqrt{n}
n,是进一步讲方差变换为1。
通过上述我们就能明白,t分布的本质是在小样本情况不符合正态分布时,对样本进行一定的变换,使得样本尽量符合正态分布。 我们的定义和t分布的应用背景就能对应起来了
2.3 卡方分布
定义:若n个相互独立的随机变量x1,x2,...xn均服从标准正态分布($\mu=0,\sigma=1$),则这n个服从标准正态分布的随机变量的平方和构成的新的变量服从卡方分布
【来源:百度百科】。
注意,卡方分布和t分布都是一簇分布,都随着自由度的变化而变化。
3、t检验
3.1 t检验统一的公式
t
=
样本统计量
−
总体参数
样本统计量的标准差
(
标准误
)
t=\frac{样本统计量-总体参数}{样本统计量的标准差(标准误)}
t=样本统计量的标准差(标准误)样本统计量−总体参数
上面为t检验的统一公式。
如果是2组之间进行比较(注意,t检验不仅是2组之间的比较,不要误以为t检验仅能用于2组间的比较,还可用于回归分析中
),一般我们假定总体参数为2组差值=0,因此公式变换为
t
=
(
x
ˉ
1
−
x
ˉ
2
)
−
0
S
x
ˉ
1
−
x
ˉ
2
t=\frac{(\bar{x}_{1}-\bar{x}_{2})-0}{S_{\bar{x}_{1}-\bar{x}_{2}}}
t=Sxˉ1−xˉ2(xˉ1−xˉ2)−0
解释一下,分子中的
x
ˉ
1
−
x
ˉ
2
\bar{x}_{1}-\bar{x}_{2}
xˉ1−xˉ2为样本统计量(两组均值之差),0是无效假设的总体参数,因此分子反映了样本统计量与总体参数的偏离程度,分母中的标准误则是样本统计量的标准差。
因此,t检验实际上是反映了相对样本统计量的标准差而言,样本统计量偏离总体参数的大小
。
很明显,偏离程度越大,越说明不大可能是从该总体中抽样出来的样本。一般认为,概率小于0.05就算是“不大可能”,因此只要找到t分布中两侧面积小于0.05的t值即可。
3.2 t检验举例
我们随便编个例子,假设某班级男生随机抽样10个样本分别为
164,170,173,175,178,180,189,175,185,190
现在我们需要验证该班级男生的平均身高是否为175cm,可以先思考下该如何验证?
这里我们可以使用单样本t检验。
第一步,讲样本值都减去175,得到
-11,-5,-2,0,3,5,14,0,10,15
第二步,根据t检验公式计算t值
t
=
(
−
11
−
5
−
2
+
0
+
3
+
5
+
14
+
0
+
10
+
15
)
/
标准差
=
0.34
t=(-11-5-2+0+3+5+14+0+10+15)/标准差=0.34
t=(−11−5−2+0+3+5+14+0+10+15)/标准差=0.34
第三步,我们已经知道了t值为0.34,这个时候自由度为n-1=9
,在自由度为9时,t分布的概率密度函数图像和累积分布函数图像分别为
由图可知,当t值为0.34,t分布的累积密度函数值为0.62,相应P值为0.36。意思是:在该班级男生平均升高为175cm的无效假设前提下,样本出现该情况的偏离的概率为35%。由于其远高于5%,因此,我们不能推翻原假设,认为无效假设很可能成立。
我们再用matlab的单样本检验函数ttest
试下
x=[164,170,173,175,178,180,189,175,185,190];
a=x-175;
[h,p]=ttest(a);
%% 输出 h=0,说明不拒绝原假设
3.3 t检验的前提条件
(1)如果数据严重偏态,不建议使用t检验,轻微偏态不受影响。这里我们也清楚原因在于t检验也存在将非正态数据转换为正态数据的过程,如果数据偏态严重,则转换效果很差;
(2)如果只是两组比较,则使用t检验,如果是多组比较之后还想两两比较,则不建议使用t检验;
(3)如果两组方差相差较大,也不建议使用t检验。其实从t分布的定义中我们就看出,t检验要求两组总体方差相等;
(4)如果两组数据不独立,则不建议使用t检验
先写到这里,后续再进行补充~
参考资料
1、《白话统计》 冯国双
2、stduent’s 分布 维基百科