[英]Repeated-Measures ANOVA: ezANOVA vs. aov vs. lme syntax
這個問題是關於語法和語義的,因此請在Cross-Validated上找到一個(但尚未答復的)副本: https : //stats.stackexchange.com/questions/113324/repeated-measures-anova-ezanova-vs-aov-vs -lme語法
在機器學習領域,我在相同的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重現結果,以便對Sphericity執行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定義中將“Performance”與“Classifier”交換時,我得到了預期的結果。
我現在想知道我的教科書是錯誤的(aov定義)還是我誤解了ezANOVA語法。 此外,為什么我在重寫ezANOVA語句時只獲得Mauchly的測試結果,但在第一種情況下卻沒有?
由於您要比較分類器而不是數據集,因此內部因子是分類器,內部ID是數據集。 因此,您的ezANOVA示例的正確語法是:
ezANOVA(data=data, dv=.(Performance), within=.(Classifier), wid=.(Dataset), detailed=TRUE)
順便說一下,沒有必要指定平方和的類型。 由於您只有一個因素,因此無論如何所有類型的平方和都會產生相同的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.