Sprzeczne wyniki sumy kwadratów typu III w ANOVA w SAS i R.


15

Analizuję dane z niezrównoważonego eksperymentu czynnikowego zarówno z, jak SASi R. Zarówno SASoraz Rzapewnienie podobnego typu I sumę kwadratów ale ich suma kwadratów typu III różnią się od siebie. Poniżej SASi Rkody i wyjścia.

DATA ASD;
INPUT Y T B;
DATALINES;
 20 1 1
 25 1 2
 26 1 2
 22 1 3
 25 1 3
 25 1 3
 26 2 1
 27 2 1
 22 2 2
 31 2 3
;

PROC GLM DATA=ASD;
CLASS T B;
MODEL Y=T|B;
RUN;

Typ I SS od SAS

Source  DF       Type I SS     Mean Square    F Value    Pr > F
T       1     17.06666667     17.06666667       9.75    0.0354
B       2     12.98000000      6.49000000       3.71    0.1227
T*B     2     47.85333333     23.92666667      13.67    0.0163

Typ III SS od SAS

Source  DF     Type III SS     Mean Square    F Value    Pr > F
T       1     23.07692308     23.07692308      13.19    0.0221
B       2     31.05333333     15.52666667       8.87    0.0338
T*B     2     47.85333333     23.92666667      13.67    0.0163

Kod R.

Y <- c(20, 25, 26, 22, 25, 25, 26, 27, 22, 31)
T <- factor(x=rep(c(1, 2), times=c(6, 4)))
B <- factor(x=rep(c(1, 2, 3, 1, 2, 3), times=c(1, 2, 3, 2, 1, 1)))
Data <- data.frame(Y, T, B)
Data.lm <- lm(Y~T*B, data = Data)
anova(Data.lm)
drop1(Data.lm,~.,test="F") 

Typ I SS od R.

Analysis of Variance Table

Response: Y
          Df Sum Sq Mean Sq F value  Pr(>F)  
T          1 17.067  17.067  9.7524 0.03543 *
B          2 12.980   6.490  3.7086 0.12275  
T:B        2 47.853  23.927 13.6724 0.01629 *
Residuals  4  7.000   1.750                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Typ III SS od R.

Single term deletions

Model:
Y ~ T * B
       Df Sum of Sq    RSS     AIC F value  Pr(>F)  
<none>               7.000  8.4333                  
T       1    28.167 35.167 22.5751 16.0952 0.01597 *
B       2    20.333 27.333 18.0552  5.8095 0.06559 .
T:B     2    47.853 54.853 25.0208 13.6724 0.01629 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Czy coś mi umyka? Jeśli nie, który z nich jest poprawny SS typu III?


Odpowiedzi:


29

Typ III SS zależy od zastosowanej parametryzacji. Jeśli ustawię

  options(contrasts=c("contr.sum","contr.poly"))

przed uruchomieniem, lm()a następnie drop1()dostaję dokładnie taki sam SS typu III jak SAS. Aby zapoznać się z dogmatem społeczności R na ten temat, należy przeczytać Exegeses Venablesa dotyczące modeli liniowych .

Zobacz także: Jak wykonać ANOVA SS typu III w R z kodami kontrastu?


1
@Peter Jeśli uważasz, że może zmieścić się w komentarzu, dlaczego nie. Nie sądzę, więc dlaczego nie zadać nowego pytania (i link do tego)?
chl

1
@chl moim podstawowym punktem jest to, że główne efekty nie mają znaczenia w obecności oddziaływań - są efektem gdy druga zmienna 0. Często jest to sensowne. Nie jestem pewien, czy warto cały wątek.
Peter Flom - Przywróć Monikę

3
Zgadzam się, że są sytuacje, w których można interpretować główne efekty - Venables ma bardzo silną linię - ale jest wiele sytuacji, w których są one trudne. Myślę, że „nie rób tego, chyba że wiesz, co robisz” to rozsądne ustawienie domyślne ...
Ben Bolker

1
Czy poniższe ustawienia zresetują kontrasty do standardu R? options(contrasts=c("contr.treatment", "contr.poly"))
Rasmus Larsen

1
tak ...........
Ben Bolker
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.