用R语言进行数据分析:方差分析模型

方差分析和模型比较

模型拟合函数 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」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。

(0)
上一篇 2015-11-22 02:08
下一篇 2015-11-22 02:15

相关文章

关注我们
关注我们
分享本页
返回顶部