51 votos

Comparación de dos modelos mediante la función anova() en R

De la documentación de anova() :

Cuando se da una secuencia de objetos, 'anova' prueba los modelos entre sí en el orden especificado...

¿Qué significa probar los modelos entre sí? ¿Y por qué importa el orden?

Este es un ejemplo de la Tutorial de GenABEL :

    >  modelAdd = lm(qt~as.numeric(snp1))
    >  modelDom = lm(qt~I(as.numeric(snp1)>=2))
    >  modelRec = lm(qt~I(as.numeric(snp1)>=3))
     anova(modelAdd, modelGen, test="Chisq")
    Analysis of Variance Table

    Model 1: qt ~ as.numeric(snp1)
    Model 2: qt ~ snp1
      Res.Df  RSS Df Sum of Sq Pr(>Chi)
    1   2372 2320                      
    2   2371 2320  1    0.0489     0.82
     anova(modelDom, modelGen, test="Chisq")
    Analysis of Variance Table

    Model 1: qt ~ I(as.numeric(snp1) >= 2)
    Model 2: qt ~ snp1
      Res.Df  RSS Df Sum of Sq Pr(>Chi)
    1   2372 2322                      
    2   2371 2320  1      1.77     0.18
     anova(modelRec, modelGen, test="Chisq")
    Analysis of Variance Table

    Model 1: qt ~ I(as.numeric(snp1) >= 3)
    Model 2: qt ~ snp1
      Res.Df  RSS Df Sum of Sq Pr(>Chi)  
    1   2372 2324                        
    2   2371 2320  1      3.53    0.057 .
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

¿Cómo interpreto este resultado?

48voto

Stat Puntos 4224

Cuando se utiliza anova(lm.1,lm.2,test="Chisq") realiza la prueba de Chi-cuadrado para comparar lm.1 y lm.2 (es decir, comprueba si la reducción de la suma de cuadrados residual es estadísticamente significativa o no). Tenga en cuenta que esto sólo tiene sentido si lm.1 y lm.2 son modelos anidados.

Por ejemplo, en la primera anova que ha utilizado, el valor p de la prueba es de 0,82. Significa que el modelo ajustado "modelAdd" no es significativamente diferente de modelGen al nivel de $\alpha=0.05$ . Sin embargo, utilizando el valor p en la tercera anova, el modelo "modelRec" es significativamente diferente del modelo "modelGen" en $\alpha=0.1$ .

Comprueba ANOVA para ajustes de modelos lineales también.

1 votos

Pero, ¿implica eso algo sobre si uno de los dos es mejor? Gracias.

5 votos

Depende de cómo se defina el término "mejor". Si lo define como el modelo que proporciona menos suma de cuadrados residual, entonces la respuesta es sí. Esto se debe a que esta prueba compara la reducción de la suma residual de los cuadrados.

4 votos

Por otro lado, si los dos modelos no son significativamente diferentes, ¿se podría argumentar que el modelo más simple es "mejor"? Estoy pensando en la parcimonia.

3voto

Matt Ball Puntos 4929

Estoy de acuerdo con el OP en que la ayuda para la anova() no es especialmente útil. La ayuda de anova.lm() (como sugiere @Stat) es mucho más informativo.

Para mí, sin embargo, lo realmente revelador fue "¡YaRrr! La guía pirata de R", Cap.15.3 :

La función anova() tomará los objetos modelo como argumentos, y devuelve un ANOVA que prueba si el modelo más complejo es significativamente mejor para capturar los datos que el modelo más simple. Si Si el valor p resultante es suficientemente bajo (normalmente inferior a 0,05), concluiremos que el modelo más complejo es significativamente mejor para capturar los datos que el modelo más simple. concluimos que el modelo más complejo es significativamente mejor que el modelo más simple y, por lo tanto, favorecemos el modelo más complejo. Si el valor p no es suficientemente bajo (normalmente superior a 0,05), deberíamos favorecer el modelo más sencillo.

Esto explica bastante bien (en mi opinión) la estrategia subyacente a la comparación, teniendo en cuenta la complejidad del modelo.

Tenga en cuenta que hay otro uso de anova() para comparar ajustes de regresión no lineal, como se explica en este excelente artículo CV post . En resumen, se compara un ajuste de regresión no lineal "por grupos" con un ajuste "agrupado" (mismos datos, misma forma funcional, por supuesto). Si el ajuste anova() arroja una "diferencia significativa", se concluye que el ajuste por grupos describe mejor los datos que el ajuste agrupado. Si no hay "diferencia significativa", entonces los ajustes por grupos son equivalentes al ajuste agrupado, es decir, "no hay diferencia entre las curvas".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X