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)


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.