方差分析和模型比较
模型拟合函数 aov(formula, data=
data.frame)
和函数 lm()
非常的相似,在Generic functions for extracting model information 部分列出的泛型函数同样适用。
需要注意的是 aov()
还允许分析 多方差层次的模型,如裂区实验设计, 利用区组内信息进行的平衡不完全区组设计(balanced incomplete block design)等。 模型公式
response ~ mean.formula + Error(strata.formula)
strata.formula 定义了一个多层次实验设计中 多个方差因素。最简单的情况是,strata.formula 是单因素的。 它定义了一个双层次的实验,也就是研究在这些因子的水平内 或者水平间的实验响应。
例如,考虑到所有的决定变量因子,模型公式可以 设计如下:
> fm <- aov(yield ~ v + n*p*k + Error(farms/blocks), data=farm.data)
这常常用来描述一个同时含有均值模型 v + n*p*k
和三个误差层次(“农田之间”, “农田内但区组之间”和“区组内”)的实验。
方差分析表
方差表的分析实际上是对拟合模型序列而进行的。 在模型序列的特定地方增加特定的项 会使残差平方和 降低。 因此仅仅在正交实验中,模型中增加项的 顺序是没有影响的。
在多层实验设计中,程序首先把响应值依次投射到 各个误差层次上,并且用均值模型去拟合各个投射。 细节内容可以参考 Chambers & Hastie (1992)。
除了常规的方差分析表(ANOVA table)使用外, 你还可以直接用函数 anova()
来比较两个模型。
> anova(fitted.model.1, fitted.model.2, ...)
结果将是一个方差分析表以显示 依次加入的拟合模型的差异。需要比较的拟合模型 常常是等级序列(hierarchical sequence)。这个和默认的实际上 没有差别,只是使它更容易理解 和控制。
本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。