¿Cómo lidiar con un error como “Coeficientes: 14 no definidos por singularidades” en R?


15

Cuando se realiza un GLM y se obtiene el error "no definido debido a singularidades" en la salida de anova, ¿cómo se contrarresta este error?

Algunos han sugerido que se debe a la colinealidad entre covariables o que uno de los niveles no está presente en el conjunto de datos (ver: interpretación "no definido por singularidades" en lm )

Si quería ver lo que el "tratamiento especial" está impulsando el modelo y tengo 4 niveles de tratamiento: Treat 1, Treat 2, Treat 3y Treat 4, que se registran en la hoja de cálculo como: cuando Treat 1es 1 el resto son cero, cuando Treat 2es 1 el resto son cero, etc., ¿qué tendría que hacer?


Veo que muchas personas tienen este problema. ¿Alguien entiende la respuesta a esta consulta de personas? stat.ethz.ch/pipermail/r-help/2006-April/103836.html
Platypezid

Respuestas:


27

Probablemente esté obteniendo ese error porque dos o más de sus variables independientes son perfectamente colineales (por ejemplo, codificación incorrecta de variables ficticias para hacer copias idénticas).

Use cor () en sus datos o alias () en su modelo para una inspección más cercana.


10
Gracias no conocía la función alias (). Eso es realmente útil de tener. Saludos, O.
OFish

1

Se producirá el error "no definido debido a singularidades" debido a una fuerte correlación entre sus variables independientes. Esto se puede evitar teniendo variables ficticias n-1. En su caso, para la variable Tratamiento, debe usar 3 variables ficticias binarias (Treat1, Treat2, Treat3).

En la programación R, la función de regresión lineal lm () dará como resultado "NA" como coeficiente para variables altamente correlacionadas.


1
¿Puedes decir cómo ves que esto se agrega a la respuesta existente? Quizás editándolo?
mdewey
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.