Como lidar com um erro como “Coeficientes: 14 não definidos por causa de singularidades” em R?

15

Ao fazer um GLM e você obtém o erro "não definido por causa de singularidades" na saída anova, como combater esse erro?

Alguns sugeriram que é devido à colinearidade entre covariáveis ​​ou que um dos níveis não está presente no conjunto de dados (consulte: interpretando "não definido por causa de singularidades" em lm )

Se eu quisesse ver qual "tratamento especial" está dirigindo o modelo e eu tenho 4 níveis de tratamento: Treat 1, Treat 2, Treat 3& Treat 4, que são gravados na minha planilha como: quando Treat 1é 1 o resto são zero, quando Treat 2é 1 o resto são zero, etc., o que eu teria que fazer?

Platypezid
fonte
Vejo muitas pessoas com esse problema - alguém entende a resposta a essa consulta de pessoas? stat.ethz.ch/pipermail/r-help/2006-April/103836.html
Platypezid

Respostas:

27

Você provavelmente está recebendo esse erro porque duas ou mais de suas variáveis ​​independentes são perfeitamente colineares (por exemplo, variáveis ​​dummy com códigos incorretos para fazer cópias idênticas).

Use cor () nos seus dados ou alias () no seu modelo para uma inspeção mais detalhada.

Pedro
fonte
10
Obrigado não sabia a função alias (). Isso é realmente útil de se ter. Cheers, O.
OFish
1

O erro "não definido por causa de singularidades" ocorrerá devido à forte correlação entre suas variáveis ​​independentes. Isso pode ser evitado com variáveis ​​dummy n-1. No seu caso, para a variável Tratamento, você deve usar 3 variáveis ​​fictícias binárias (Tratar1, Tratar2, Tratar3).

Na programação R, a função de regressão linear lm () resultará em "NA" como coeficiente para variáveis ​​altamente correlacionadas.

Saravana Kumar
fonte
1
Você pode dizer como vê isso como uma adição à resposta existente? Talvez editando?
Mdewey #