¿Cuáles son los beneficios de ANOVA sobre un modelo lineal normal?

8


Estoy experimentando con R y descubrí que un anova () necesita un objeto de tipo lm. Pero, ¿por qué debería continuar con una anova después de esto?

> 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

Esto me dice todo lo que necesito, ¿o no? Tengo curiosidad por qué quieres continuar con un anova (modelo)

Alexander Engelhardt
fuente
1
Este es casi un duplicado de stats.stackexchange.com/questions/555/…
onestop

Respuestas:

16

Veamos qué obtienes cuando realmente utilizas la función anova () (los números son diferentes a los de tu ejemplo, ya que no sé qué semilla usaste para generar los números aleatorios, pero el punto sigue siendo el mismo):

> 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        

La prueba F para el factor está probando simultáneamente , es decir, la hipótesis de que el factor en general no es significativo. Una estrategia común es probar primero esta hipótesis general antes de desenterrar cuáles de los niveles del factor son diferentes entre sí.H0 0:β1=β2=0 0

Además, puede usar la función anova () para pruebas de modelo completo versus reducido. Por ejemplo:

> 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 es una comparación del modelo completo con el factor y dos covariables (y1 e y2) y el modelo reducido, donde suponemos que las pendientes de las dos covariables son ambas simultáneamente iguales a cero.

Wolfgang
fuente
2
(+1) Buena respuesta. Yo añadiría que estos son a menudo contrastes particulares que son interesantes en el DoE como se analiza a través de ANOVA, y que la falta de pago (tal como lo devuelve summary.aov(lm(...))o anova(lm(...))no son de particular interés.
CHL
@chl: Es un buen punto. Aunque, creo que hay algo que decir para construir realmente los contrastes para las hipótesis que está interesado en probar. No hay distinción fundamental entre ANOVA y regresión. A veces, las rutinas ANOVA ocultan las hipótesis que se están probando. Al mismo tiempo, los procedimientos ANOVA a veces empaquetan las cosas exactamente de la manera en que desea ver los resultados.
Brett
Gracias señor :) Entonces, primero miraría el anova, si el factor marcara alguna diferencia, antes de mirar la salida lm () para ver qué factores marcaron la diferencia. ¿Pero la salida lm () ya no me dice si los diferentes factores son significativos (con las 1-3 estrellas detrás de ellos)?
Alexander Engelhardt
1
No exactamente. El resultado de lm () anterior le indica si existe una diferencia significativa entre el nivel A (el nivel de referencia) y los niveles B y C. No le indica si los niveles B y C son significativamente diferentes entre sí. Por supuesto, puede hacer que el nivel B (o C) sea su referencia (con la función relevel ()), pero suponga que tiene un factor con muchos niveles. Comprobar todos los contrastes por pares entre niveles se volverá tedioso. Además, está realizando muchas pruebas. La alternativa es inspeccionar primero la prueba ómnibus para verificar si hay algo que hacer para comenzar.
Wolfgang
¡Decir ah! Muchas gracias. Parece que no entendí que lm () solo probó los factores contra el nivel de referencia.
Alexander Engelhardt