请教一个方差分析的SS(Sum of Square)的问题:某因素的SS是否恒定,或者说是否随因素数目的变化而变化?
比如:
Dat1包含一个因素g1,g1的SS记为SS_g1_dat1;
Dat2包含两个因素g1和g2,g1的SS记为SS_g1_dat2;
我的问题是:SS_g1_dat1和SS_g1_dat2是否相等?
我认为似乎“相等”和“不相等”都有理由支持,但不知道哪个理由是正确的,希望得到大家的指教。
SS_g1_dat1等于SS_g1_dat2的理由:
计算SS的公式是:sum(因素该水平的样本数*(因素该水平的均数-总均数)^2)。公式中的各个元素取值都是恒定的,因此计算出该因素的SS也应该是恒定的。
采用R的自带数据"warpbreaks"进行验证:
anova(lm(breaks~wool))
Analysis of Variance Table
Response: breaks
Df Sum Sq Mean Sq F value Pr(>F)
wool 1 450.7 450.67 2.6684 0.1084
Residuals 52 8782.1 168.89
anova(lm(breaks~wool+tension))
Analysis of Variance Table
Response: breaks
Df Sum Sq Mean Sq F value Pr(>F)
wool 1 450.7 450.67 3.3393 0.073614 .
tension 2 2034.3 1017.13 7.5367 0.001378 **
Residuals 50 6747.9 134.96
anova(lm(breaks~tension+wool))
Analysis of Variance Table
Response: breaks
Df Sum Sq Mean Sq F value Pr(>F)
tension 2 2034.3 1017.13 7.5367 0.001378 **
wool 1 450.7 450.67 3.3393 0.073614 .
Residuals 50 6747.9 134.96
可见,wool的SS一直是450.7,与因素数以及表达式中的因素前后顺序无关。
SS_g1_dat1不等于SS_g1_dat2的理由:
由于总SS是恒定的,如果纳入的因素越多,那么每个因素承载的SS就会减少。但上述用"warpbreaks"数据进行验证的时候,结果却显示wool的SS是恒定的。
这样看来,哪种理由是正确的?
谢谢!