Lợi ích của ANOVA so với mô hình tuyến tính thông thường là gì?


8


Tôi đang thử nghiệm với R và thấy rằng một anova () cần một đối tượng loại lm. Nhưng tại sao tôi nên tiếp tục với một anova sau này:

> x <- data.frame(rand=rnorm(100), factor=sample(c("A","B","C"),100,replace=TRUE))
> head(x)
        rand factor
1  0.9640502      B
2 -0.5038238      C
3 -1.5699734      A
4 -0.8422324      B
5  0.2489113      B
6 -1.4685439      A

> model <- lm(x$rand ~ x$factor))
> summary(model)

Call:
lm(formula = x$rand ~ x$factor)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.74118 -0.89259  0.02904  0.59726  3.19762 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  -0.1878     0.1845  -1.018    0.311
x$factorB    -0.1284     0.2689  -0.477    0.634
x$factorC     0.4246     0.2689   1.579    0.118

Residual standard error: 1.107 on 97 degrees of freedom
Multiple R-squared: 0.04345, Adjusted R-squared: 0.02372 
F-statistic: 2.203 on 2 and 97 DF,  p-value: 0.1160

Điều này cho tôi biết mọi thứ tôi cần, hay không? Tôi tò mò tại sao bạn muốn tiếp tục với một anova (mô hình)


1
Đây là một bản sao gần như thống kê.stackexchange.com/questions/555/ trên
onestop

Câu trả lời:


16

Hãy xem những gì bạn nhận được khi bạn thực sự sử dụng hàm anova () (các số này khác với ví dụ của bạn, vì tôi không biết hạt giống nào bạn đã sử dụng để tạo các số ngẫu nhiên, nhưng điểm vẫn giữ nguyên):

> anova(model)

Analysis of Variance Table

Response: x$rand
          Df  Sum Sq Mean Sq F value Pr(>F)
x$factor   2   4.142  2.0708  1.8948 0.1559
Residuals 97 106.009  1.0929        

Kiểm tra F cho yếu tố đang kiểm tra đồng thời , tức là giả thuyết cho rằng yếu tố nói chung là không đáng kể. Một chiến lược chung là trước tiên hãy kiểm tra giả thuyết omnibus này trước khi đào sâu xem mức độ nào của yếu tố này khác nhau.H0:β1= =β2= =0

Ngoài ra, bạn có thể sử dụng hàm anova () để kiểm tra mô hình đầy đủ so với giảm. Ví dụ:

> x <- data.frame(rand=rnorm(100), factor=sample(c("A","B","C"),100,replace=TRUE), 
                  y1=rnorm(100), y2=rnorm(100))
> model1 <- lm(x$rand ~ x$factor + x$y1 + x$y2)
> model2 <- lm(x$rand ~ x$factor)
> anova(model2, model1)

Analysis of Variance Table

Model 1: x$rand ~ x$factor
Model 2: x$rand ~ x$factor + x$y1 + x$y2
Res.Df    RSS Df Sum of Sq      F Pr(>F)
1     97 105.06                           
2     95 104.92  2   0.13651 0.0618 0.9401

đó là so sánh mô hình đầy đủ với hệ số và hai hiệp phương sai (y1 và y2) và mô hình rút gọn, trong đó chúng tôi giả sử rằng độ dốc của hai hiệp phương sai đồng thời bằng 0.


2
(+1) Phản hồi tốt. Tôi sẽ nói thêm rằng đây thường là những sự tương phản đặc biệt thú vị trong DoE như được phân tích thông qua ANOVAs và rằng những cái tương ứng mặc định (như được trả lại bởi summary.aov(lm(...))hoặc anova(lm(...))không được quan tâm đặc biệt.
chl

@chl: Đó là một điểm tốt. Mặc dù, tôi nghĩ có một điều gì đó để nói về việc thực sự xây dựng sự tương phản cho các giả thuyết mà bạn quan tâm để thử nghiệm. Không có sự phân biệt cơ bản giữa ANOVA và hồi quy. Đôi khi, thói quen ANOVA che giấu các giả thuyết đang được thử nghiệm. Đồng thời, thủ tục ANOVA đôi khi đóng gói mọi thứ theo cách chính xác mà bạn muốn xem kết quả.
Brett

Cảm ơn bạn sir :) Vì vậy, lần đầu tiên tôi sẽ xem xét các ANOVA, nếu các yếu tố thực hiện bất kỳ khác biệt nào cả, trước khi tôi nhìn vào lm () - đầu ra để xem trong đó yếu tố làm cho sự khác biệt? Nhưng không phải đầu ra lm () - đã cho tôi biết nếu các yếu tố khác nhau có ý nghĩa (với 1-3 sao phía sau chúng)?
Alexander Engelhardt

1
Không hẳn. Đầu ra từ lm () ở trên cho bạn biết liệu có sự khác biệt đáng kể giữa cấp A (cấp tham chiếu) và cấp B và C. Nó không cho bạn biết liệu cấp B và C có khác biệt đáng kể với nhau hay không. Tất nhiên, bạn có thể đặt mức B (hoặc C) tham chiếu của mình (với hàm relevel ()), nhưng giả sử bạn có một yếu tố có nhiều cấp độ. Kiểm tra tất cả các tương phản cặp giữa các cấp sẽ trở nên tẻ nhạt. Thêm vào đó, bạn đang tiến hành rất nhiều bài kiểm tra. Cách khác là trước tiên hãy kiểm tra thử nghiệm omnibus để kiểm tra xem có bất cứ điều gì đang xảy ra để bắt đầu không.
Wolfgang

Hà! Cảm ơn rất nhiều. Có vẻ như tôi đã không hiểu rằng lm () chỉ kiểm tra các yếu tố so với mức tham chiếu.
Alexander Engelhardt
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.