gpt4 book ai didi

重复测量方差分析 : ezANOVA vs. aov vs. lme 语法

转载 作者:行者123 更新时间:2023-12-04 09:45:35 31 4
gpt4 key购买 nike

这个问题是关于语法和语义的,因此请在交叉验证上找到一个(尚未回答的)重复:https://stats.stackexchange.com/questions/113324/repeated-measures-anova-ezanova-vs-aov-vs-lme-syntax

在机器学习领域,我在相同的 5 个数据集上评估了 4 个分类器,即每个分类器返回数据集 1、2、3、...和 ​​5 的性能度量。现在我想知道分类器在它们的表现。这是一些玩具数据:

Performance<-c(2,3,3,2,3,1,2,2,1,1,3,1,3,2,3,2,1,2,1,2)
Dataset<-factor(c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5))
Classifier<-factor(c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4))
data<-data.frame(Classifier,Dataset,Performance)

按照教科书,我进行了重复测量的单向方差分析。我将我的表现解释为因变量,将分类器解释为主题,将数据集解释为主题内因素。使用 aov,我得到:
model <- aov(Performance ~ Classifier + Error(factor(Dataset)), data=data)
summary(model)

产生以下输出:
Error: factor(Dataset)
Df Sum Sq Mean Sq F value Pr(>F)
Residuals 4 2.5 0.625

Error: Within
Df Sum Sq Mean Sq F value Pr(>F)
Classifier 3 5.2 1.7333 4.837 0.0197 *
Residuals 12 4.3 0.3583

使用线性混合效应模型时,我得到了类似的结果:
model <- lme(Performance ~ Classifier, random = ~1|Dataset/Classifier,data=data)
result<-anova(model)

然后,我尝试使用 ezANOVA 重现结果,以便对球形度进行 Mauchlys 检验:
 ezANOVA(data=data, dv=.(Performance), wid=.(Classifier), within=.(Dataset), detailed=TRUE, type=3)

产生以下输出:
        Effect DFn DFd  SSn SSd         F          p p<.05       ges
1 (Intercept) 1 3 80.0 5.2 46.153846 0.00652049 * 0.8938547
2 Dataset 4 12 2.5 4.3 1.744186 0.20497686 0.2083333

这显然与 aov/lme 的先前输出不对应。尽管如此,当我在 ezANOVA 定义中将“性能”与“分类器”交换时,我得到了预期的结果。

我现在想知道是我的教科书错了(aov 定义)还是我误解了 ezANOVA 语法。此外,为什么我在重写ezANOVA语句时只得到Mauchly的测试结果,而在第一种情况下却没有?

最佳答案

由于您要比较分类器而不是数据集,因此内部因子是分类器,内部 ID 是数据集。因此,ezANOVA 示例的正确语法是:

ezANOVA(data=data, dv=.(Performance), within=.(Classifier), wid=.(Dataset), detailed=TRUE)

顺便说一句,不需要指定平方和的类型。由于您只有一个因子,因此无论如何,所有类型的平方和都会产生相同的结果。

关于重复测量方差分析 : ezANOVA vs. aov vs. lme 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25520328/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com