基本概念
方差分析(Analysis of Variance,简称ANOVA),是一种对多个水平或多组样本之间期望的差异进行显著性检验的方法。
对于两组样本,如X1,X2,…,Xn1为来自正态总体X∼N(μ1,σ2)的一个样本,Y1,Y2,…,Yn2为来自正态总体Y∼N(μ2,σ2)的一个样本,往往可以使用t检验方法检验两个总体均值的差异是否显著。但如果有s(s≥2)组样本,或某个要检验的随机变量X受到某种因素A的影响,因素A有s个水平A1,A2,…,As,随机变量X在各组/各水平下的均值分别为μ1,μ2,…,μs。若想要检验随机变量X是否受到因素A的影响,即检验这s组样本之间的均值是否有显著差异,即检验假设μ1=μ2=…=μs,可以尝试进行Cs2次成对t检验,但这样做的复杂度显然较高。因此常常使用方差分析的方法来进行这种类型的显著性检验。
单因素试验的方差分析
在此先简单记录单因素试验的方差分析,即仅仅考察某个单一因素对随机变量的影响。
前提和假设
之后的讨论均基于如下前提和假设:
有一种因素A对随机变量X有一定影响,因素A有s个水平,假设各个水平下随机变量X的总体均服从正态分布,且在各个水平下的方差相等,均为σ2。在A的s个水平下分别进行nj(j=1,2,⋯,s)次独立试验。试验结果如下:
|
A1 |
A2 |
⋯ |
As |
|
X11 |
X12 |
⋯ |
X1s |
|
X21 |
X22 |
⋯ |
X2s |
|
⋮ |
⋮ |
⋮ |
⋮ |
|
Xn11 |
Xn22 |
⋯ |
Xnss |
| 样本总和 |
T⋅1 |
T⋅2 |
⋯ |
T⋅s |
| 样本均值 |
X⋅1 |
X⋅2 |
⋯ |
X⋅s |
| 样本方差 |
S12 |
S22 |
⋯ |
Ss2 |
| 总体均值 |
μ1 |
μ2 |
⋯ |
μs |
- 注意每个水平下的实验次数nj可以不一样,故表格不一定是正方形。总共的实验次数n=n1+n2+⋯+ns;
- 样本总和T⋅j=∑i=1njXij,即第j个水平/第j组样本(第j列)的加和;
- 样本均值X⋅j=nj1T⋅j=nj1∑i=1njXij,即第j个水平/第j组样本(第j列)的样本均值;
- 样本方差Sj2=nj−11∑i=1nj(Xij−X⋅j)2,即第j个水平/第j组样本(第j列)的样本方差;
- 因素A有s个水平,假设各个水平下随机变量X的总体均服从正态分布,且各个水平下的方差相等,用数学语言描述即为:各个水平Aj(j=1,2,⋯,s)下的样本(即各列数据)X1j,X2j,⋯,Xnjj来自具有相同方差的正态总体N(μj,σ2),总体均值μj(j=1,2,⋯,s)则表示各个水平(各组)的总体均值。
基本思路
要检验A这一因素对随机变量X没有任何影响,则检验A因素在s个不同水平下时,随机变量X的期望差异不显著,即零假设为:H0:μ1=μ2=…=μs。为验证该假设建模:
定义总平均为各水平总体均值的算术平均数:μ=n1∑j=1njnjμj,即在不考虑因素A时随机变量X的总体平均。相应地,数据的总平均为X=n1∑j=1njT⋅j=n1∑j=1s∑i=1njXij。根据各个水平下的总体方差均为σ2的假设,则随机变量X的总体方差自然也就是σ2。结合中心极限定理,则有:
X∼N(μ,nσ2)
因素A在不同水平下可能会对总平均有不同影响,再定义水平Aj的效应为:δj=μj−μ,即该水平下的均值与总平均的差异(体现了因素A在该水平上导致的均值的“位移”)。根据定义,有∑j=1snjδj=0。
在A的某个水平下进行试验,每次试验的结果则可以表示为总平均μ、该水平下的效应δj与一个随机误差ϵij的和。即:
Xij=μj+ϵij=μ+δj+ϵij
往往认为随机误差ϵij为每次试验随机产生的,故互相独立且均服从正态分布N(0,σ2),也就是该随机误差导致了组内数据的抖动,产生了总体方差σ2。
差异分解
引入总变差ST,即所有数据与数据总平均之间的差异之和:
ST=j=1∑si=1∑nj(Xij−X)2
再定义误差平方和SE和效应平方和SA:
SE=j=1∑si=1∑nj(Xij−X⋅j)2=j=1∑s(nj−1)Sj2
SA=j=1∑snj(X⋅j−X)2=j=1∑snjX⋅j2−nX2
误差平方和体现的是水平内差异(即组内方差)的和,该部分差异仅由随机误差引起。效应平方和体现的是水平间差异(组间差异)的和,该部分差异则由随机误差以及因素A不同水平下的绝对效应共同引起。基于如上定义,可以推导出(详细推导过程省略):
ST=SE+SA
图像理解
下面作图辅助对上述各种概念的理解:

其中各水平/各组数据通过不同颜色的点表示,不同水平的数据所在的区域大小体现了组内方差;各区域的几何中心点即为该组数据的样本均值X⋅j。所有数据所在的区域大小体现了总变差ST;整体区域的几何中心即为总平均μ。局部区域的几何中心与整体区域的几何中心之间的距离就体现了对应水平的效应δj。
差异的统计学特征
先单独看各水平下的数据,即各列数据。根据各个水平下的总体服从等方差正态分布N(μj,σ2)的假设,有
σ2(nj−1)Sj2=σ2(nj−1)∑i=1nj(Xij−X⋅j)2∼χ2(nj−1)
结合χ2分布的可加性,将各列相加即得:
σ2∑j=1s(nj−1)Sj2=σ2SE∼χ2(n−s)
进而有E(SE)=(n−s)σ2,即n−sSE就是总体方差σ2的无偏估计。这样也再次证明了误差平方和SE为组内方差的和,仅由随机误差引起。
再看不同水平之间的数据。对于效应平方和,可以推导出如下关系(详细推导过程省略):
E(SA)=(s−1)σ2+j=1∑snjδj2
这也详细说明了效应平方和SA由随机误差(第一部分)以及因素A不同水平下的绝对效应(第二部分)共同引起。
检验统计量
此时就可以考虑若零假设成立,即因素A在不同水平下随机变量X的期望差异不显著,也就是说因素A的不同水平的绝对效应的和(即上式中第二部分)为0。因此有:
E(SA)=(s−1)σ2;σ2SA∼χ2(s−1)
构建统计量:
F=SE/(n−s)SA/(s−1)∼F(s−1,n−s)
若零假设成立,则n−sSE和s−1SA均为总体方差σ2的无偏估计,即上述统计量不得过大。若上述检验量过大(具体值由显著性水平α决定),则说明效应平方和SA比误差平方和SE大,也就是说因素A的不同水平的绝对效应之和较大,进而可以认为因素A会影响随机变量X的均值。
一句话总结方差分析就是看组内差异和组间差异是否大致相同,进而推断组间均值是否一致。