本节就不推导了。最艰难的部分已经过去了,多因素的推导过程和单因素大同小异,并且一大堆下标,真的认真计算的话会被水淹没不知所措的。只要多多观察总结规律就很容易。
Two way ANOVA with interactive
模型
最主要的区别是多了个交叉项,我们要考虑两个维度的因素可能会存在协同作用。假设有两个因素 $A$ 和 $B$,因素 $A$ 有 $I$ 个等级,因素 $B$ 有 $J$ 个等级。每个处理组的个体数相等,记作 $n$(不然真的会被恶心死)。(所以一共有 $nIJ$ 个个体) $$ y_{i,j,l}=\eta+\alpha_i+\beta_j+\omega_{i,j}+e_{i,j,l}, $$ 其中 $\omega_{i,j}$ 表示协同作用,$e_{i,j,l}\overset{i.i.d.}\sim N(0,\sigma^2)$.
其实真正的自由参数只有 $IJ$ 个,即 $$ y_{i,j,l}=\mu_{i,j}+e_{i,j,l}. $$ 它们的对应关系是:
- $\eta=\bar\mu_{\cdot,\cdot}$, 表示整体均值,
- $ \alpha_i=\bar\mu_{i,\cdot}-\eta$, 表示 $A$ 的第 $i$ 组的 buff,
- $\beta_j=\bar\mu_{\cdot,j}-\eta$, 表示 $B$ 的第 $j$ 组的 buff,
- $\omega_{i,j}=(\mu_{i,j}-\eta)-(\bar\mu_{i,\cdot}-\eta)-(\bar\mu_{\cdot,j}-\eta)=\mu_{i,j}-\bar\mu_{i,\cdot}-\bar\mu_{\cdot,j}+\eta$, 表示共同作用的额外 buff。
模型估计 $\mu_{i,j}$ 换成 $\bar y_{i,j,\cdot}$ 即可,另外 $\hat e_{i,j,l}=y_{i,j,l}-\bar y_{i,j,\cdot}$.
ANOVA 表
$$ \begin{align} SST&=\sum_{i,j,l}(y_{i,j,l}-\bar y_{\cdot,\cdot,\cdot})^2,\ SSA&=nJ\sum_i (\bar y_{i,\cdot,\cdot}-\bar y_{\cdot,\cdot,\cdot})^2,\ SSB&=nI\sum_j (\bar y_{\cdot,j,\cdot}-\bar y_{\cdot,\cdot,\cdot})^2,\ SS(AB)&=n\sum_{i,j}(\bar y_{i,j,\cdot}-\bar y_{i,\cdot,\cdot}-\bar y_{\cdot,j,\cdot}+\bar y_{\cdot,\cdot,\cdot})^2,\ SSE&=\sum_{i,j,l}(y_{i,j,l}-\bar y_{i,j,\cdot})^2. \end{align} $$
打完这一串真要命。有等式 $$ SST=SSA+SSB+SS(AB)+SSE. $$
来源 | 自由度 | 平方和 |
---|---|---|
Factor A | $I-1$ | $SSA$ |
Factor B | $J-1$ | $SSB$ |
Interaction | $(I-1)(J-1)$ | $SS(AB)$ |
Residual | $IJ(n-1)$ | $SSE$ |
Total | $nIJ-1$ | $SST$ |
假设检验
用 $F$-检验。检验啥玩意就用啥玩意除以 $MSE$.
例如 $H_0: \alpha_i=0$,就是 $F_A=\frac{SSA/(I-1)}{SSE/(IJ(n-1))}\sim F_{I-1,IJ(n-1)}$. 老掉牙了,不多说了。
如果交叉项的检验显著($H_0: \omega_{i,j}=0$ 被拒绝),这意味着我们无法单独考虑一个变量的作用,必须联合起来考虑,所以应该回到用 $\mu_{i,j}$ 表示的模型,把 $A\times B$ 当成整体因素进行 one way ANOVA 的后续分析(例如多重比较)。
如果交叉项检验不显著,模型立刻变为下面的——
Two way ANOVA without interactive
注:令 $n=1$ 就是 PPT 中的 additive model。
模型
直接粗暴地删掉 $\omega$ 即可: $$ y_{i,j,l}=\eta+\alpha_i+\beta_j+e_{i,j,l}, $$ 其中 $e_{i,j,l}\overset{i.i.d.}\sim N(0,\sigma^2)$.
参数估计前面没变,只有 $\hat e_{i,j,l}$ 变了。具体地:
- $\hat\eta=\bar y_{\cdot,\cdot,\cdot}$,
- $\hat\alpha_i=\bar y_{i,\cdot,\cdot}-\bar y_{\cdot,\cdot,\cdot}$,
- $\hat\beta_j=\bar y_{\cdot,j,\cdot}-\bar y_{\cdot,\cdot,\cdot}$,
- $\hat e_{i,j,l}=y_{i,j,l}-\bar y_{i,\cdot,\cdot}-\bar y_{\cdot,j,\cdot} +\bar y_{\cdot,\cdot,\cdot}$.
ANOVA
相应地,$SSE$ 要变一下: $$ SSE=\sum_{i,j,l}(y_{i,j,l}-\bar y_{i,\cdot,\cdot}-\bar y_{\cdot,j,\cdot} +\bar y_{\cdot,\cdot,\cdot})^2. $$ 其他定义不变,我们有 $$ SST=SSA+SSB+SSE. $$
来源 | 自由度 | 平方和 |
---|---|---|
Factor A | $I-1$ | $SSA$ |
Factor B | $J-1$ | $SSB$ |
Residual | $nIJ-I-J+1$ | $SSE$ |
Total | $nIJ-1$ | $SST$ |
假设检验
$F$-检验
$H_0:\alpha_i=0$, $F=\dfrac{SSA/(I-1)}{SSE/(nIJ-I-J+1)}\sim F_{I-1,nIJ-I-J+1}$.
多重比较
$$ T_{i_1,i_2}=\dfrac{\bar y_{i_1,\cdot,\cdot}-\bar y_{i_2,\cdot,\cdot}}{\sqrt{\hat\sigma^2 2/(nJ)}}\sim t_{nIJ-I-J+1}. $$
其中 $\hat\sigma^2=SSE/(nIJ-I-J+1)$.
Bonferroni method 和 Tukey method 是一样的。
Multiple way ANOVA
二元到多元没什么本质区别,只不过公式更难写了…… 比如说 three way 的长这样: $$ \begin{align} y_{i,j,l,k}=&\eta+\alpha_i+\beta_j+\gamma_l +\ &(\alpha\beta){i,j}+(\alpha\gamma){i,l}+(\beta\gamma){j,l}+\ &(\alpha\beta\gamma){i,j,l}+e_{i,j,l,k.}. \end{align} $$ 其他的自己推罢。
拉丁方(Latin Square)设计
实验设计
这是你从未体验过的船新设计思路,它可以极大地缩减实验规模。假设有 $3$ 个因素,每个因素有 $5$ 个 level,而我们只关心其中一个的影响,另外两个视为 block。完全实验至少需要做 $5\times 5\times 5=125$ 次实验,而使用拉丁方设计,只需要 $25$ 次。
具体来说,两个 block 组合,有 $5\times 5$ 种 level,每种 level 我们只对 treatment 的一个 level 做一次实验。如下矩阵表示了具体设计: $$ \begin{pmatrix} e & a & b & c & d \ c&d&b&e&a\ b&c&d&a&e\ a&b&e&d&c\ d&e&a&c&b\ \end{pmatrix}. $$ $a,b,c,d,e$ 是我们所关心的因素的 $5$ 个 level。第 $i$ 行 $j$ 列表示 block 的取值是 $i,j$ 时,用 treatment 的哪个 level 来做实验。
为了消除 block 的影响,我们要求这个矩阵每一行和每一列不能有重复元素。这样的矩阵叫拉丁方阵,这也是“拉丁方设计”这一名字的来源。
再次强调采用拉丁方设计需要满足的条件:
- 三个因素有一个是关注因素(treatment),另外两个是捣乱的(block);
- 三个因素的水平数必须相同;
- 三个因素之间不存在交互作用。
模型
$\alpha,\beta$ 表示两个 block,$\tau$ 表示 treatment,每个因素有 $k$ 个 level。则 $$ y_{i,j,l}=\eta+\alpha_i+\beta_j+\tau_l+e_{i,j,l}. $$ 其中 $e_{i,j,l}\overset{i.i.d.}\sim N(0,\sigma^2)$. 估计值的定义显然。
ANOVA
各个 $SS$ 的公式也不写了,自己写吧。我们把两个 block 成为 row 和column。
来源 | 自由度 | 平方和 |
---|---|---|
row | $k-1$ | $SS_{row}$ |
column | $k-1$ | $SS_{col}$ |
treatment | $k-1$ | $SS_{trt}$ |
Error | $(k-1)(k-2)$ | $SSE$ |
Total | $k^2-1$ | $SST$ |
假设检验
$F$-检验:$H_0:\tau_i=0$, $F=\dfrac{SS_{trt}/(k-1)}{SSE/((k-1)(k-2))}\sim F_{k-1,(k-1)(k-2)}$.
$t$-检验:$T_{i,j}=\dfrac{\bar y_{\cdot,\cdot,i}-\bar y_{\cdot,\cdot,j}}{\sqrt{\hat\sigma^2 (2/k)}}$.
结语
写完了…… 感觉这一节就是抄了一遍 PPT 啊……
方差分析的模型灵活多变,这里只是介绍了几种常用的。实际应用时,往往需要根据实际问题有针对性的建立模型。只要掌握原理,怎么折腾都行。