本章小结

  • 方差分析的基本原理——误差来源分解(理解)

  • 方差分析的基本假设(理解)

  • 单因素方差分析(重点

  • 有/无交互作用的双因素方差分析(理解)

方差分析就是检验各总体均值是否相等来判断分类型自变量对数值型因变量是否有显著性影响。

在研究一个或者多个分类型自变量和一个数值型因变量之间的关系时,方差分析是主要的方法。

有关术语

在方差分析中,要检验的分类型自变量叫做因素或者因子(factor)。
因素的不同表现称为水平或者处理。
每个因子水平下得到的样本数据称为观测值。

例如, 要分析行业对被投诉次数是否有显著影响。这里的行业是要检验的对象,称为因素或因子;
零售业、旅游业、航空公司、家电制造业是行业这一因素的具体表现,称为水平处理
在每个行业下得到的样本数据(被投诉次数)称为观测值。由于这里只涉及行业一个因素,因此称为单因素 4 水平的试验。

因素的每一个水平可以看做一个总体,如零售业、旅游业、航空公司、家电制造业可以看做 4 个总体,上面的数据可以看做从这 4 个总体中抽取的样本数据。被投诉次数是一个数值型变量,行业是自变量,一个分类型变量。

基本假设

三个基本假设,每一个子标题为对应假设的检验方法

  1. 每个总体服从正态分布(正态性假设)

    1. 偏度与峰度进行检验(也可以计算对应的 Z-score, 偏度: Z-score=偏度系数/偏度标准误)
    2. 图形检验法(计算所有水平的均值作频数直方图布,P-P 图,Q-Q 图,大样本下效果较好)
    3. 非参数检验法(直接检验总体的分布是否符合正态分布)
  2. 总体的方差必须相同(方差齐性假设)

    1. 图形检验法(箱线图)
    2. 参数与非参数检验法
      • overlinetlett’s test
      • Levene’s test
      • Flinger-Killeen test
  3. 数据观测值是独立的

    注意:

    方差分析的三种假设一正态性、方差齐性、独立性,均需在方差分析之前检验是否成立。

    但是对于正态性和方差齐性的检验,不必过于严格,二者出现些许不满足,并不会对方差分析的结果产生较大影响,不能仅仅因为某项检验未能完美通过,就放弃方差分析这一种数据分析的重要方法。
    在上述假设条件下,问题也就转换为了自变量的各个水平的均值是否相等。样本的均值越接近,四个总体均值相等的证据越充分。

单因素方差分析

当方差分析中只涉及一个分类型自变量时称为单因素方差分析

统计模型

假设因素A有 k 个水平,对应 k 个均值:

H0:μ1=μ2==μkH_0:\mu_1=\mu_2=\dots=\mu_k

H1:μ1,μ2,,μk不全相等H_1:\mu_1, \mu_2, \dots, \mu_k\text{不全相等}

H0H_0成立,则简称因子A不显著。在展开对上述假设的检验时,这里不妨设从第i个水平下抽取的样本容量为m(为叙述方便这里假设每个水平下抽取的样本容量保持一致),用yijy_{ij}表示第i个总体的第j次重复抽取结果,对于每一个水平来说,yijy_{ij}的取值可以看成是总体均值μi\mu_i和随机影响εij\varepsilon_{ij}的叠加,而第i个总体的均值μi\mu_i也可以看成是总均值μ\mu和水平影响αi\alpha_i的叠加,结合前边提到的方差分析的假设,方差分析的统计模型模型可以写作:

{yij=μi+εij=μ+αi+εij,i=1,2,,r,j=1,2,,m,i=1ai=0, 诸 εij 相互独立,且都服从 N(0,σ2).αi:因子A第i个水平的主效应,简称Ai的水平效应μ:总均值,又叫做一般平均\left\{\begin{array}{l} y_{i j}=\mu_i+\varepsilon_{i j}=\mu+\alpha_i+\varepsilon_{i j}, \quad i=1,2, \cdots, r, j=1,2, \cdots, m, \\ \sum_{i=1} a_i=0, \\ \text { 诸 } \varepsilon_{i j} \text { 相互独立,且都服从 } N\left(0, \sigma^2\right) .\\ \alpha_i:\text{因子A第i个水平的主效应,简称}A_i\text{的水平效应}\\ \mu:\text{总均值,又叫做一般平均} \end{array}\right.

于是方差分析的原假设可以写作:

H0:α1=α2==αk=0H_0:\alpha_1=\alpha_2=\cdots=\alpha_k=0

t检验面对三个总体均值是否存在显著差异有些束手无策,费希尔等人另辟蹊径,改用对误差进行分解的方法导出F分布来进行显著性检验。

误差分解

方差分析是通过对数据误差来源的分析来判断不同总体的均值是否相等,进而分析自变量对因变量是否有显著影响
一般认为,数据误差分为组间误差和组内误差

  • 组内误差:水平内部的数据误差,反映的是样本内部数据的离散程度,一般源于随机抽取过程中随机因素的影响造成的(随机误差)。
  • 组间误差:不同水平之间的误差,既包括抽样本身导致的随机误差,也包括系统性因素造成的系统误差

在方差分析中,数据的误差是用平方和来表示的。
反映全部数据误差大小的平方和称为总平方和,记为 SST。例如,所抽取的全部 23 家企业被投诉次数之间的误差平方和就是总平方和,它反映了全部观测值的离散状况。

\begin{equation} \operatorname{SST}=\sum_{i=1}^{k} \sum_{j=1}^{n_{i}}\left(y_{i j}-\overline{y}\right)^{2} \end{equation}

反映组内误差大小的平方和称为组内平方和也称为误差平方和或残差平方和记为 SSE。例如,每个样本内部的数据平方和加在一起就是组内平方和,它反映了每个样本内各观测值的离散状况。

\begin{equation} \operatorname{SSE}=\sum_{i=1}^{k} \sum_{j=1}^{n_{i}}\left(y_{i j}-\overline{y}_{i}\right)^{2} \end{equation}

反映组间误差大小的平方和称为组间平方和,也称为因素平方和,记为 SSA。例如,四个行业被投诉次数之间的误差平方和就是组间平方和,它反映了样本均值之间的差异程度。

\begin{equation} \mathrm{SSA}=\sum_{i=1}^{k} n_{i}\left(\overline{y}_{i}-\overline{y}\right)^{2} \end{equation}

上述三个平方和的关系满足:

SST=SSA+SSE \mathrm{SST}=\mathrm{SSA}+\mathrm{SSE}

一般来说,如果组间误差和组内误差的比值接近 1,也就是说不存在系统误差,那么就说明研究的因素对对应的因变量没有影响,例如对于判断行业对被投诉次数是否有显著影响这一问题上,实际上就是检验被投诉次数的差异主要是由什么原因引起的,如果是系统误差,那么就可以认为不同行业对被投诉次数有显著影响,这也使得研究能转换为检验四个行业被投诉次数的均值是否相等。

分析步骤

针对一次单因素方差分析,这里用 A 表示因素,AiA_i表示因素的不同水平, 每一个观测值用xijx_{ij}表示,不同水平抽取的样本量可以相等也可以不相等。分析步骤如下:

  1. 提出假设:

H0:μ1=μ2==μk自变量对因变量无显著影响 H_0:\mu_1=\mu_2=\dots=\mu_k\hspace{10pt} \text{自变量对因变量无显著影响}

H1:μ1,μ2,,μk不全相等自变量对因变量有显著影响 H_1:\mu_1, \mu_2, \dots, \mu_k \text{不全相等}\hspace{10pt} \text{自变量对因变量有显著影响}

  1. 构造检验统计量
    检验统计量的构造分为三步
    首先计算各个水平下样本观察值的均值记为xi\overline{x}_i
    接着计算所有观测值的均值记为$\overline{x}, $;
    再然后是计算各个误差平方和
    计算统计量,为了消除观测值数目对误差平方和大小的影响,统计学中引入了“均方”的概念——偏差平方和平方和除以自由度, 也称为方差,三个平方和的自由度分别为:

    SST:n-1, n 为观测值数目

    SSA:k-1, k 为某一因素水平的个数

    SSE:n-k。

    实际应用过程中,只计算 SSA 的均方和 SSE 的均方。SSA 的均方又叫做组间均方或者组间方差,记为 MSA:

MSA=SSAk1 MSA=\frac{SSA}{k-1}

SSE 的均方也称为组内均方或者组内方差,记为 MSE:

MSE=SSEnk MSE=\frac{SSE}{n-k}

一般用MSAMSE\frac{MSA}{MSE}的比值来衡量系统误差的大小,可以证明(过程见茆书377页),在H0H_0为真的条件下,MSAMSE\frac{MSA}{MSE}服从分子自由度为 k-1、分母自由度为 n-k 的 F 分布:

\begin{equation} F=\frac{M S A}{M S E} \sim F(k-1, n-k) \end{equation}

  1. 统计决策
    根据给定的显著性水平 α\alpha, 在 FF 分布表中查找与分子自由度 df1=k1d f_{1}=k-1 、分母自 由度 df2=nkd f_{2}=n-k 相应的临界值 Fa(k1,nk)F_{a}(k-1, n-k)
    F>F1αF>F_{1-\alpha}, 则拒绝原假设 H0:μ1=μ2==μkH_{0}: \mu_{1}=\mu_{2}=\cdots=\mu_{k}, 表明 μi(i=1,2,,k)\mu_{i}(i=1, 2, \cdots, k) 之间 的差异是显著的;
    F<F1αF<F_{1-\alpha}, 则不拒绝原假设 H0H_{0}, 没有证据表明 μi(i=1,2,,k)\mu_{i}(i=1, 2, \cdots, k) 之间有显著差异;

    当检验的因素只有两个水平时, 单因素方差分析与两个独立样本均值之差的 tt 检验的结果完全相同, 因为当 因素的水平 k=2k=2 时, 检验的 tt 统计量与 FF 统计量的关系为: F=t2F=t^{2}

单因素方差分析表

为了使计算过程更加清晰,通常将上述过程的内容列在一张表内,这就是方差分析表((analysis of variance table), 一般形式如下:

方差分析可以借助 excel 快速进行,具体方法可以在网上搜索。

关系强度的测量

前边介绍的方法只是说明了分类自变量对数值因变量是否有显著差异,而没有对差异化的程度进行一个度量。

严格来说,只要组间平方和不等于 0,我们都可以说明这两个变量是存在关系的,只是说当组间平方和比组内平方和大时,就意味着两个变量之间的关系比较显著。
于是我们也希望得到一种衡量两个变量之间关系强度的方法,这时就可以借助 SSA 占 SST 的比例大小来衡量:

R2=SSASSTR^2=\frac{SSA}{SST}

组间平方和和组内平方和的相对大小反映了两个变量的关系强度。

参数估计

在检验结果为显著时,我们可以对总均值μ\mu以及各水平效应αi\alpha_i以及误差方差σ2\sigma^2进行估计。

点估计

根据yijN(μ+αi,σ2)y_{ij}\sim N(\mu+\alpha_i,\sigma^2)进行极大似然估计,这里直接给出点估计结果:
Analysis of Variance_20230127224723

区间估计

注意在方差估计时对于不同总体估计得到的方差是一致的(MSeMS_e),与单个总体的方差不同
Analysis of Variance_20230127225049

多重比较

当拒绝原假设,我们期望发现到底是哪些均值是不相等的,这个时候就需要对不同水平的均值进行进一步的分析,这个时候使用的方法就是多重比较方法(multiole comparison procedures)。多重比较法是指在r(r>2)个水平均值中同时比较任意两个水平均值有无显著差异的方法。
接下来以费希尔提出的最小显著差异方法(least significant difference,LSD)为例:

简单来说就是两个方差相等且未知的正态总体均值差的假设检验/置信区间估计

  1. 提出假设:H0:μi=μj;H1:μiμjH_0:\mu_i=\mu_j;H_1:\mu_i\ne\mu_j
  2. 建立检验统计量,根据不同水平样本的特点,这里可以构建 t 统计量:

t=(xixj)(μiμj)MSE(1ni+1nj)t(nk) t=\frac{(\overline{x}_i-\overline{x}_j)-(\mu_i-\mu_j)}{\sqrt{MSE(\frac{1}{n_i}+\frac{1}{n_j})}}\sim t(n-k)

n 为样本总数,k 为水平个数。在显著性水平α\alpha下,如果有:

xixj>tα2MSE(1ni+1nj)=LSD |\overline{x}_i-\overline{x}_j|>t_{\frac{\alpha}{2}}\sqrt{MSE(\frac{1}{n_i}+\frac{1}{n_j})}=LSD

那么就拒绝H0H_0,否则就不拒绝。在具体实践过程中,就是对指定因素的某两个水平分别进行检验即可。

除此以外,tukey的HSD方法也是常用的多重比较方法,该方法是基于对于每一个总体都有:

ti=yˉiμiσ^/mt(fe)t_i=\frac{\bar{y}_i-\mu_i}{\hat{\sigma} / \sqrt{m}} \sim t\left(f_e\right)

导出的。
通过将寻找最大的tit_i和最小的tit_i作差来构造统计量q(r,fe)q(r,f_e),然后通过查表来得到对应的临界值

双因素方差分析

当涉及到两个分类型自变量时,方差分析就成了双因素方差分析(two-way analysis variance)。双因素方差分析需要考虑的一个问题是两个自变量对因变量的影响是否是相互独立的。如果是相互独立的,我们就可以将这样的方差分析叫做无交互作用(interaction)的双因素方差分析或者叫无重复双因素分析(two-factor without replication),这种方差分析的本质是分别判断两个自变量对因变量是否有显著影响。若不独立,则叫做有交互作用的方差分析/可重复双因素(two-factor with replication)分析。

无交互作用的双因素方差分析

类比单因素方差分析,双因素方差分析的数据结构如下:

an image

根据数据结构中的表示,这里列出假设检验的整个过程:
提出假设
建立假设时应该分别根据列因素和行因素提出如下假设。
行因素假设:

H0:μ1=μ2==μi==μk行因素(自变量)对因变量没有显著影响H_{0}: \mu_{1}=\mu_{2}=\cdots=\mu_{i}=\cdots=\mu_{k} \quad \text{行因素(自变量)对因变量没有显著影响}

H1:μi(i=1,2,,k)不全相等 行因素(自变量)对因变量有显著影响H_{1}: \mu_{i}(i=1, 2, \cdots, k) \text{不全相等 行因素(自变量)对因变量有显著影响}

列因素假设:

H0:μ1=μ2==μj==μr列因素(自变量)对因变量没有显著影响H_{0}: \mu_{1}=\mu_{2}=\cdots=\mu_{j}=\cdots=\mu_{r} \quad \text{列因素(自变量)对因变量没有显著影响}

H1:μj(j=1,2,,r)不全相等 列因素(自变量)对因变量有显著影响H_{1}: \mu_{j}(j=1, 2, \cdots, r )\text{不全相等 列因素(自变量)对因变量有显著影响}

构造检验统计量
在构造需要的统计量之前,需要先分解误差平方和:

\begin{equation} \begin{aligned} \operatorname{SST} &=\sum_{i=1}^{k} \sum_{j=1}^{r}\left(x_{i j}-\overline{\overline{x}}\right)^{2} \\ &=\sum_{i=1}^{k} \sum_{j=1}^{r}\left(\overline{x}_{i \cdot} -\overline{\overline{x}}\right)^{2}+\sum_{i=1}^{k} \sum_{j=1}^{r}\left(\overline{x}_{\cdot j}-\overline{\overline{x}}\right)^{2}+\sum_{i=1}^{k} \sum_{j=1}^{r}\left(x_{i j}-\overline{x}_{i} .-\overline{x}_{\cdot j}+\overline{\overline{x}}\right)^{2}\\ &=SSR+SSC+SSE \end{aligned} \end{equation}

其中 SSR 代表行因素产生的误差平方和,SSC 代表列因素产生的误差平方和,SSE 表示除行因素和列因素之外的剩余因素所产生的的误差平方和,称为随机误差平方和
接下来是各误差平方和的自由度大小:

SST:kr1SST:kr-1

SSR:k1SSR:k-1

SSC:r1SSC:r-1

SSE:(k1)(r1)SSE:(k-1)(r-1)

类似地,将 SSR、SSC、SSE 除上对应的自由度可以得到误差项的均方 MSR、MSC、MSE。
接着在检验行因素对因变量的影响是否显著可以采用下面的统计量:

\begin{equation} F_{R}=\frac{M S R}{M S E} \sim F(k-1, (k-1)(r-1)) \end{equation}

列因素:

\begin{equation} F_{C}=\frac{M S C}{M S E} \sim F(r-1, (k-1)(r-1)) \end{equation}

统计决策
FR>FαF_{R}>F_{\alpha}, 则拒绝原假设 H0:μ1=μ2==μi==μkH_{0}: \mu_{1}=\mu_{2}=\cdots=\mu_{i}=\cdots=\mu_{k}, 表明 μi(i=1,2,\mu_{i}(i=1, 2, \cdots, k) 之间的差异是显著的; 也就是说, 所检验的行因素对观测值有显著影响。
FC>FαF_{C}>F_{\alpha}, 则拒绝原假设 H0:μ1=μ2==μj==μrH_{0}: \mu_{1}=\mu_{2}=\cdots=\mu_{j}=\cdots=\mu_{r}, 表明 μj(j=1,2,\mu_{j}(j=1, 2, \cdots, r) 之间的差异是显著的; 也就是说, 所检验的列因素对观测值有显著影响。

分析表

关系强度的测量

两个自变量对因变量的联合效应定义为R2R^2

R2=联合效应总效应=SSR+SSCSSTR^2=\frac{\text{联合效应}}{\text{总效应}}=\frac{SSR+SSC}{SST}

因此,对于两个自变量而言,进行双因素方差分析要优于分别对两个因素进行单因素方差分析。与单因素方差分析相比,双因素方差分析下的误差平方和 SSE 与将两个因素分别进行单因素方差分析所得出的任何一个平方和都小,而且 P 值也变得更小了。这是因为在双因素方差分析中,误差平方和不包括两个自变量中的任何一个,因而减少了残差效应。而在单因素方差分析时,没有被研究的因素的误差包含在其中,这导致方差分析的误差增大

有交互作用的双因素方差分析

有交互作用的方差分析与无交互作用的方差分析相似,主要区别是有交互作用情况下因为两个自变量的交互作用在选取数据时要对两个变量的某一特定水平都进行多次抽样(对交互作用引起的误差要单独考虑),有交互作用的数据分结构如下所示:

分析表


与无交互作用相比,有交互作用的方差分析多了一项交互作用导致的误差平方和(SSRC):

\begin{equation*} \operatorname{SSRC}=m \sum_{i=1}^{k} \sum_{j=1}^{r}\left(\bar{x}_{i j}-\bar{x}_{i} .-\bar{x}_{\cdot j}+\overline{\bar{x}}\right)^{2} \end{equation*}

SSRC有时也记为SSAB
此时对应的误差平方和SSE表示为:

SSE=SSTSSRSSCSSRCSSE=SST-SSR-SSC-SSRC

注意不同误差平方和自由度的大小