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?

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.


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.