string(21) "{"docs":[],"count":0}" array(2) { ["docs"]=> array(0) { } ["count"]=> int(0) } 方差分析(ANOVA)简记 - 爱码网

基本概念

方差分析(Analysis of Variance,简称ANOVA),是一种对多个水平或多组样本之间期望的差异进行显著性检验的方法。

对于两组样本,如X1,X2,,Xn1X_{1}, X_{2}, \ldots, X_{n_1}为来自正态总体XN(μ1,σ2)X \sim N(\mu_1, \sigma^2)的一个样本,Y1,Y2,,Yn2Y_{1}, Y_{2}, \ldots, Y_{n_2}为来自正态总体YN(μ2,σ2)Y \sim N(\mu_2, \sigma^2)的一个样本,往往可以使用t检验方法检验两个总体均值的差异是否显著。但如果有s(s2)s(s \ge 2)组样本,或某个要检验的随机变量X受到某种因素A的影响,因素A有s个水平A1,A2,,AsA_1,A_2,\ldots,A_s,随机变量X在各组/各水平下的均值分别为μ1,μ2,,μs\mu_1,\mu_2,\ldots,\mu_s。若想要检验随机变量X是否受到因素A的影响,即检验这s组样本之间的均值是否有显著差异,即检验假设μ1=μ2==μs\mu_1 = \mu_2 = \ldots = \mu_s,可以尝试进行Cs2C_s^2次成对t检验,但这样做的复杂度显然较高。因此常常使用方差分析的方法来进行这种类型的显著性检验。

单因素试验的方差分析

在此先简单记录单因素试验的方差分析,即仅仅考察某个单一因素对随机变量的影响。

前提和假设

之后的讨论均基于如下前提和假设:

有一种因素A对随机变量X有一定影响,因素A有s个水平,假设各个水平下随机变量X的总体均服从正态分布,且在各个水平下的方差相等,均为σ2\sigma^2。在A的s个水平下分别进行nj(j1,2,,s)n_{j}(j=1,2,\cdots,s)次独立试验。试验结果如下:

A1A_1 A2A_2 \cdots AsA_s
X11X_{11} X12X_{12} \cdots X1sX_{1s}
X21X_{21} X22X_{22} \cdots X2sX_{2s}
\vdots \vdots \vdots \vdots
Xn11X_{n_{1}1} Xn22X_{n_{2}2} \cdots XnssX_{n_{s}s}
样本总和 T1T_{\cdot1} T2T_{\cdot2} \cdots TsT_{\cdot s}
样本均值 X1\overline{X_{\cdot1}} X2\overline{X_{\cdot2}} \cdots Xs\overline{X_{\cdot s}}
样本方差 S12S_1^2 S22S_2^2 \cdots Ss2S_s^2
总体均值 μ1\mu_1 μ2\mu_2 \cdots μs\mu_s
  • 注意每个水平下的实验次数njn_{j}可以不一样,故表格不一定是正方形。总共的实验次数n=n1+n2++nsn = n_1 + n_2 + \cdots + n_s
  • 样本总和Tj=i=1njXijT_{\cdot j} = \sum_{i=1}^{n_{j}} X_{i j},即第j个水平/第j组样本(第j列)的加和;
  • 样本均值Xj=1njTj=1nji=1njXij\overline{X_{\cdot j}} = \frac{1}{n_j}T_{\cdot j} = \frac{1}{n_j}\sum_{i=1}^{n_{j}} X_{i j},即第j个水平/第j组样本(第j列)的样本均值;
  • 样本方差Sj2=1nj1i=1nj(XijXj)2S_j^2 =\frac{1}{n_j-1} \sum_{i=1}^{n_{j}} (X_{ij} - \overline{X_{\cdot j}})^2,即第j个水平/第j组样本(第j列)的样本方差;
  • 因素A有s个水平,假设各个水平下随机变量X的总体均服从正态分布,且各个水平下的方差相等,用数学语言描述即为:各个水平Aj(j=1,2,,s)A_j (j=1,2,\cdots,s)下的样本(即各列数据)X1j,X2j,,XnjjX_{1j},X_{2j},\cdots,X_{n_j j}来自具有相同方差的正态总体N(μj,σ2)N(\mu_j, \sigma^2),总体均值μj(j=1,2,,s)\mu_j (j=1,2,\cdots,s)则表示各个水平(各组)的总体均值。

基本思路

要检验A这一因素对随机变量X没有任何影响,则检验A因素在s个不同水平下时,随机变量X的期望差异不显著,即零假设为:H0:μ1=μ2==μsH_0: \mu_1 = \mu_2 = \ldots = \mu_s。为验证该假设建模:

定义总平均为各水平总体均值的算术平均数:μ=1nj=1njnjμj\mu = \frac{1}{n}\sum_{j=1}^{n_{j}} n_j\mu_j,即在不考虑因素A时随机变量X的总体平均。相应地,数据的总平均X=1nj=1njTj=1nj=1si=1njXij\overline{X} = \frac{1}{n}\sum_{j=1}^{n_{j}} T_{\cdot j} = \frac{1}{n}\sum_{j=1}^{s}\sum_{i=1}^{n_{j}} X_{ij}。根据各个水平下的总体方差均为σ2\sigma^2的假设,则随机变量X的总体方差自然也就是σ2\sigma^2。结合中心极限定理,则有:

XN(μ,σ2n) \overline{X} \sim N(\mu, \frac{\sigma^2}{n})

因素A在不同水平下可能会对总平均有不同影响,再定义水平AjA_j效应为:δj=μjμ\delta_j = \mu_j - \mu,即该水平下的均值与总平均的差异(体现了因素A在该水平上导致的均值的“位移”)。根据定义,有j=1snjδj=0\sum_{j=1}^{s} n_{j} \delta_{j} = 0

在A的某个水平下进行试验,每次试验的结果则可以表示为总平均μ\mu、该水平下的效应δj\delta_j与一个随机误差ϵij\epsilon_{ij}的和。即:

Xij=μj+ϵij=μ+δj+ϵij X_{ij} = \mu_j + \epsilon_{ij} = \mu + \delta_j + \epsilon_{ij}

往往认为随机误差ϵij\epsilon_{ij}为每次试验随机产生的,故互相独立且均服从正态分布N(0,σ2)N(0, \sigma^2),也就是该随机误差导致了组内数据的抖动,产生了总体方差σ2\sigma^2

差异分解

引入总变差STS_T,即所有数据与数据总平均之间的差异之和:

ST=j=1si=1nj(XijX)2 S_T = \sum_{j=1}^{s}\sum_{i=1}^{n_{j}} (X_{ij} - \overline{X})^2

再定义误差平方和SES_E效应平方和SAS_A

SE=j=1si=1nj(XijXj)2=j=1s(nj1)Sj2 S_E = \sum_{j=1}^{s}\sum_{i=1}^{n_{j}} (X_{ij} - \overline{X_{\cdot j}})^2 = \sum_{j=1}^{s}(n_j - 1)S_j^2
SA=j=1snj(XjX)2=j=1snjXj2nX2 S_A = \sum_{j=1}^{s} n_j(\overline{X_{\cdot j}} - \overline{X})^2 = \sum_{j=1}^{s} n_j \overline{X_{\cdot j}}^2 - n\overline{X}^2

误差平方和体现的是水平内差异(即组内方差)的和,该部分差异仅由随机误差引起。效应平方和体现的是水平间差异(组间差异)的和,该部分差异则由随机误差以及因素A不同水平下的绝对效应共同引起。基于如上定义,可以推导出(详细推导过程省略):

ST=SE+SA S_T = S_E + S_A

图像理解

下面作图辅助对上述各种概念的理解:
方差分析(ANOVA)简记
其中各水平/各组数据通过不同颜色的点表示,不同水平的数据所在的区域大小体现了组内方差;各区域的几何中心点即为该组数据的样本均值Xj\overline{X_{\cdot j}}。所有数据所在的区域大小体现了总变差STS_T;整体区域的几何中心即为总平均μ\mu。局部区域的几何中心与整体区域的几何中心之间的距离就体现了对应水平的效应δj\delta_j

差异的统计学特征

先单独看各水平下的数据,即各列数据。根据各个水平下的总体服从等方差正态分布N(μj,σ2)N(\mu_j, \sigma^2)的假设,有

(nj1)Sj2σ2=(nj1)i=1nj(XijXj)2σ2χ2(nj1) \frac{(n_j - 1)S_j^2}{\sigma^2} = \frac{(n_j - 1)\sum_{i=1}^{n_{j}} (X_{ij} - \overline{X_{\cdot j}})^2}{\sigma^2} \sim \chi^2(n_j - 1)

结合χ2\chi^2分布的可加性,将各列相加即得:

j=1s(nj1)Sj2σ2=SEσ2χ2(ns) \frac{\sum_{j=1}^{s}(n_j - 1)S_j^2}{\sigma^2} = \frac{S_E}{\sigma^2} \sim \chi^2(n - s)

进而有E(SE)=(ns)σ2E(S_E)=(n-s)\sigma^2,即SEns\frac{S_E}{n-s}就是总体方差σ2\sigma^2的无偏估计。这样也再次证明了误差平方和SES_E为组内方差的和,仅由随机误差引起。

再看不同水平之间的数据。对于效应平方和,可以推导出如下关系(详细推导过程省略):

E(SA)=(s1)σ2+j=1snjδj2 E(S_A) = (s-1)\sigma^2 + \sum_{j=1}^{s}n_j \delta_j^2

这也详细说明了效应平方和SAS_A随机误差(第一部分)以及因素A不同水平下的绝对效应(第二部分)共同引起。

检验统计量

此时就可以考虑若零假设成立,即因素A在不同水平下随机变量X的期望差异不显著,也就是说因素A的不同水平的绝对效应的和(即上式中第二部分)为0。因此有:

E(SA)=(s1)σ2  ;SAσ2χ2(s1) E(S_A) = (s-1)\sigma^2 \; ; \qquad \frac{S_A}{\sigma^2} \sim \chi^2(s - 1)

构建统计量:

F=SA/(s1)SE/(ns)F(s1,ns) F = \frac{S_A / (s-1)}{S_E / (n-s)} \sim F(s-1, n-s)

若零假设成立,则SEns\frac{S_E}{n-s}SAs1\frac{S_A}{s-1}均为总体方差σ2\sigma^2的无偏估计,即上述统计量不得过大。若上述检验量过大(具体值由显著性水平α\alpha决定),则说明效应平方和SAS_A比误差平方和SES_E大,也就是说因素A的不同水平的绝对效应之和较大,进而可以认为因素A会影响随机变量X的均值。

一句话总结方差分析就是看组内差异和组间差异是否大致相同,进而推断组间均值是否一致。

相关文章: