簡體   English   中英

重復測量ANOVA:ezANOVA與aov vs. lme語法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM