Que sont les «coefficients aliasés»?


24

Lors de la construction d'un modèle de régression dans R ( lm), je reçois fréquemment ce message

"there are aliased coefficients in the model"

Qu'est-ce que ça veut dire exactement?

En outre, à cause de cela, predict()donne également un avertissement.

Bien que ce ne soit qu'un avertissement, je veux savoir comment détecter / supprimer des coefficients alias avant de construire un modèle.

Aussi, quelles sont les conséquences probables de la négligence de cet avertissement?

Réponses:


32

Je soupçonne que ce n'est pas une erreur de lm, mais plutôt vif(du paquet car). Si c'est le cas, je pense que vous êtes tombé sur une parfaite multicolinéarité . Par exemple

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

produit votre erreur.

Dans ce contexte, «alias» fait référence aux variables qui dépendent linéairement des autres (c'est-à-dire provoquent une multicolinéarité parfaite).

La première étape vers la solution consiste à identifier quelle (s) variable (s) sont le (s) coupable (s). Courir

alias( lm( y ~ x1 + x2 ) )

pour voir un exemple.


Merci. La «multicolinéarité» est-elle la même chose que d'avoir des «coefficients aliasés»?
Mohit Verma

1
@MohitVerma: Dans cette terminologie, '' alias '' fait référence aux variables qui sont linéairement dépendantes (c'est-à-dire provoquent une multicolinéarité parfaite). Voir stat.ethz.ch/R-manual/R-patched/library/stats/html/alias.html . Je mets à jour la réponse avec ceci.
Tamas Ferenci

3

Cela se produit souvent lorsque vous avez des singularités dans votre X'Xmatrice de régression (valeurs NA dans le résumé de la sortie de régression).

La base R lm()permet des valeurs singulières / une multicolinéarité parfaite par défaut singular.ok = TRUE. D'autres packages / fonctions sont plus conservateurs.

Par exemple, pour la linearHypothesis()fonction dans le carpackage, la valeur par défaut est singular.ok = FALSE. Si vous avez une parfaite multicolinéarité dans votre régression, linearHypothesis()retournera une erreur "il y a des coefficients alias dans le modèle". Pour gérer cette erreur, définissez singular.ok = TRUE. Soyez prudent, car cela peut masquer une parfaite multicolinéarité dans votre régression.


0

peut-être trop bon à savoir pour certains: j'ai également cette erreur lorsque j'ai ajouté des variables muettes à une régression. R omet automatiquement un mannequin, mais cela provoque une erreur dans le test vif. donc, pour certains, une solution pourrait être de supprimer un mannequin manuellement.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.