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?
r
generalized-linear-model
regression-coefficients
Platypezid
fonte
fonte
Respostas:
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.
fonte
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.
fonte