统计R统计

我为什么不用ANOVA?

2019-01-15  本文已影响46人  董八七

因为它很局限。

ANOVA(Analysis of variance)是Fisher在1918年发明的一种方差分析方法[1]。因为我们多数人在数理统计入门时重点学习过,所以最常使用。ANOVA有三大要求,使用前要逐一检验:

  1. 数据平衡(没有缺失值);
  2. 响应变量服从正态分布;
  3. 方差齐次(处理内不同水平的方差要相等)。

一旦不满足条件需要:

  1. 填补缺失值;
  2. 转换以服从正态;
  3. 方差不齐怎么弄(就这么着吧)。

第一条没有问题。第二条,响应变量服从正态分布才是合理的,图1,举例,前3列是一个处理的3个水平,单独时都服从正态,但混合分布(4列)就不是正态,而混合变量就是我们通常进行检验的响应变量。要清楚,无论什么转换,转换后怎么服从正态,根上就不对。第3条,方差不齐很常见,但似乎没有合适的方法来解决。

图1. 混合分布的正态性

如果以上3个条件都满足,那么用ANOVA是没有问题的,得到的结果和线性模型的是一致的。这里我总结了ANOVA和线性模型的关系(图2)。ANOVA在最小枝,可见有多么局限。

图2. GLMM广义线性混合模型。变量类型粗略分为连续和不连续2种
下面说一下线性模型的相对优势,它是怎么解决ANOVA的3大局限的。线性模型一般写成这样:

y=Xb+Zu+e

y是响应变量,b是固定效应,ue是随机的随机效应和残差;X和Z是固定和随机效应的关联矩阵。

线性模型的条件是ue服从均值为0的正态分布。看见没,没有对y有任何限制。针对ANOVA的第2条。
方差不齐怎么办?把效应u结构化。什么意思呢?比如ANOVA要求水平1和水平2的方差相等:\sigma_{l1}^2==\sigma_{l2}^2,如果不等的话就用一个对角矩阵
G=\sigma^2 I=\left[\begin{array}{c} \sigma_{l1}^2 I&0\\ 0&\sigma_{l2}^2 I\\ \end{array} \right]
分别估计出每个水平的方差,这就是对效应u的结构化。这样就解决了ANOVA的第3条限制。

哪些软件能拟合线性模型?图2里有。
如发现问题欢迎指正!


参考:许世忠教授的讲义。


  1. https://en.wikipedia.org/wiki/Analysis_of_variance

上一篇下一篇

猜你喜欢

热点阅读