Quais são os benefícios da ANOVA sobre um modelo linear normal?

8


Estou experimentando R e descobri que uma anova () precisa de um objeto do tipo lm. Mas por que devo continuar com uma anova depois disso:

> 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

Isso me diz tudo que eu preciso, ou não? Estou curioso para saber por que você deseja continuar com uma anova (modelo)

Alexander Engelhardt
fonte
1
Esta é uma quase duplicata de stats.stackexchange.com/questions/555/…
onestop

Respostas:

16

Vejamos o que você obtém quando realmente usa a função anova () (os números são diferentes do seu exemplo, pois não sei qual semente você usou para gerar os números aleatórios, mas o ponto permanece o mesmo):

> 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        

O teste F para o fator está testando simultaneamenteH0:β1=β2=0

Além disso, você pode usar a função anova () para testes de modelo completos versus reduzidos. Por exemplo:

> 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

que é uma comparação do modelo completo com o fator e duas covariáveis ​​(y1 e y2) e o modelo reduzido, onde assumimos que as inclinações das duas covariáveis ​​são simultaneamente iguais a zero.

Wolfgang
fonte
2
(+1) Boa resposta. Eu acrescentaria que estes são contrastes muitas vezes particulares que são interessantes em DoE como analisado por meio ANOVAs, e que os default (como retornado por summary.aov(lm(...))ou anova(lm(...))não são de interesse particular.
chl
@chl: É um bom ponto. Embora, eu acho que há algo a ser dito para realmente construir os contrastes para as hipóteses que você está interessado em testar. Não há distinção fundamental entre ANOVA e regressão. Às vezes, as rotinas ANOVA ocultam as hipóteses que estão sendo testadas. Ao mesmo tempo, os procedimentos ANOVA às vezes empacotam as coisas exatamente da maneira que você deseja ver os resultados.
Brett
Obrigado, senhor :) Então, eu olhava primeiro para a anova, se o fator fazia alguma diferença, antes de olhar para a saída lm () - para ver quais fatores faziam a diferença? Mas a saída lm () - já não me diz se os diferentes fatores são significativos (com as 1-3 estrelas atrás delas)?
Alexander Engelhardt
1
Não é bem assim. A saída de lm () acima informa se existe uma diferença significativa entre o nível A (o nível de referência) e os níveis B e C. Não indica se os níveis B e C são significativamente diferentes entre si. Obviamente, você pode fazer do nível B (ou C) sua referência (com a função relevel ()), mas suponha que você tenha um fator com muitos níveis. A verificação de todos os contrastes entre os níveis se tornará entediante. Além disso, você está realizando muitos testes. A alternativa é primeiro inspecionar o teste omnibus para verificar se há algo acontecendo para começar.
Wolfgang
Ha! Muito obrigado. Parece que eu não entendi que lm () apenas testou os fatores em relação ao nível de referência.
Alexander Engelhardt