O que são 'coeficientes com alias'?

24

Ao construir um modelo de regressão em R ( lm), estou frequentemente recebendo esta mensagem

"there are aliased coefficients in the model"

O que exatamente isso significa?

Além disso, devido a isso predict()também está dando um aviso.

Embora seja apenas um aviso, quero saber como podemos detectar / remover coeficientes de alias antes de criar um modelo.

Além disso, quais são as prováveis ​​conseqüências de negligenciar esse aviso?

Mohit Verma
fonte

Respostas:

32

Eu suspeito que isso não é um erro de lm, mas sim vif(do pacote car). Nesse caso, acredito que você encontrou uma multicolinearidade perfeita . Por exemplo

x1 <- rnorm( 100 )
x2 <- 2 * x1
y <- rnorm( 100 )
vif( lm( y ~ x1 + x2 ) )

produz seu erro.

Nesse contexto, '' pseudônimo '' se refere às variáveis ​​que são linearmente dependentes de outras (isto é, causam perfeita multicolinearidade).

O primeiro passo para a solução é identificar quais variáveis ​​são as culpadas. Corre

alias( lm( y ~ x1 + x2 ) )

para ver um exemplo.

Tamas Ferenci
fonte
Obrigado. 'Multicolinearidade' é o mesmo que ter 'coeficientes alias'?
Mohit Verma
1
@MohitVerma: Nesta terminologia, '' alias '' refere-se às variáveis ​​que são linearmente dependentes (ou seja, causam perfeita multicolinearidade). Consulte stat.ethz.ch/R-manual/R-patched/library/stats/html/alias.html . Eu atualizo a resposta com isso.
Tamas Ferenci 19/08/14
3

Isso geralmente ocorre quando você tem singularidades em sua X'Xmatriz de regressão (valores de NA no resumo do resultado da regressão).

A base R lm()permite valores singulares / multicolinearidade perfeita como o padrão singular.ok = TRUE. Outros pacotes / funções são mais conservadores.

Por exemplo, para a linearHypothesis()função no carpacote, o padrão é singular.ok = FALSE. Se você tiver multicolinearidade perfeita em sua regressão, linearHypothesis()retornará um erro "existem coeficientes com alias no modelo". Para lidar com esse erro, defina singular.ok = TRUE. Entretanto, tenha cuidado, pois isso pode mascarar a multicolinearidade perfeita em sua regressão.

chandler
fonte
0

talvez seja bom saber para alguns: também recebi esse erro quando adicionei manequins a uma regressão. R omite automaticamente um manequim, mas isso causa um erro no teste vif. portanto, para alguns, uma solução pode estar removendo um manequim manualmente.

Pat
fonte