Kết quả mâu thuẫn của tổng bình phương loại III trong ANOVA ở SAS và R


15

Tôi đang phân tích dữ liệu từ một thí nghiệm giai thừa không cân bằng cả với SASR. Cả hai SASRcung cấp tổng bình phương loại I tương tự nhưng tổng bình phương loại III của chúng khác nhau. Dưới đây là SASRmã và đầu ra.

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;

SS loại I từ 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

SS loại III từ 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

Mã 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") 

Loại I SS từ 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 

SS loại III từ 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 

Am i thiếu cái gì ở đây? Nếu không phải cái nào đúng loại III SS?


Xem phản hồi của John Fox tại đây: tolstoy.newcastle.edu.au/R/help/05/11/16368.html
Aaron - Tái lập Monica

Câu trả lời:


29

Loại III SS phụ thuộc vào tham số hóa được sử dụng. Nếu tôi đặt

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

trước khi chạy lm()và sau đó drop1()tôi nhận được chính xác loại III SS giống như SAS. Đối với giáo điều của cộng đồng R về vấn đề này, bạn nên đọc Exeges của Venables trên các mô hình tuyến tính .

Xem thêm: Làm thế nào để người ta thực hiện SS ANOVA loại III trong R với mã tương phản?


1
@Peter Nếu bạn nghĩ rằng nó có thể phù hợp với một bình luận, tại sao không. Tôi không nghĩ vậy, vậy tại sao không hỏi một câu hỏi mới (và liên kết đến câu hỏi này)?
chl

1
@chl My cơ bản Vấn đề là tác động chính làm có ý nghĩa trong sự hiện diện của các tương tác - họ là những hiệu ứng khi biến khác là 0. Thường thì điều này có ý nghĩa. Không chắc nó có giá trị cả một chủ đề.
Peter Flom - Tái lập Monica

3
Tôi đồng ý rằng có những tình huống mà các hiệu ứng chính có thể được diễn giải - Venables có một dòng rất mạnh - nhưng có rất nhiều tình huống mà chúng khó khăn. Tôi nghĩ rằng "đừng làm điều này trừ khi bạn biết bạn đang làm gì" là một thiết lập mặc định hợp lý ...
Ben Bolker

1
Sau đây sẽ thiết lập lại độ tương phản với tiêu chuẩn R? options(contrasts=c("contr.treatment", "contr.poly"))
Rasmus Larsen

1
có ...........
Ben Bolker
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.