Stabilité bêta en régression linéaire avec multi-colinéarité élevée?
Disons que dans une régression linéaire, les variables et x 2 ont une multi-colinéarité élevée (la corrélation est d'environ 0,9).
Nous sommes préoccupés par la stabilité du coefficient , nous devons donc traiter la multi-colinéarité.
La solution du manuel serait de simplement jeter une des variables.
Mais nous ne voulons pas perdre des informations utiles en jetant simplement des variables.
Aucune suggestion?
Réponses:
Vous pouvez essayer l' approche de régression de crête dans le cas où la matrice de corrélation est proche du singulier (c'est-à-dire que les variables ont des corrélations élevées). Il vous fournira une estimation robuste de .β
La seule question est de savoir comment choisir le paramètre de régularisation . Ce n'est pas un problème simple, bien que je suggère d'essayer différentes valeurs.λ
J'espère que cela t'aides!
la source
lm.ridge
routine dans le package MASS. Si vous lui passez une plage de valeurs pour , par exemple, un appel comme , vous récupérerez les statistiques de validation croisée généralisées dans , et pourrez les tracer par rapport à λ : pour choisir le minimum.foo <- lm.ridge(y~x1+x2,lambda=seq(0,10,by=0.1))
foo
plot(foo$GCV~foo$lambda)
Eh bien, il y a une méthode ad hoc que j'ai utilisée auparavant. Je ne sais pas si cette procédure a un nom mais elle a un sens intuitivement.
Supposons que votre objectif soit d'adapter le modèle
où les deux prédicteurs - - sont fortement corrélés. Comme vous l'avez souligné, les utiliser tous les deux dans le même modèle peut faire des choses étranges pour les estimations de coefficient et les valeurs de p . Une alternative est d'adapter le modèleXje, Zje p
Alors le résidu ne sera pas corrélé avec X i et peut, dans un certain sens, être considéré comme la partie de Z i qui n'est pas subsumée par sa relation linéaire avec X i . Ensuite, vous pouvez procéder à l'ajustement du modèleηje Xje Zje Xje
qui capturera tous les effets du premier modèle (et aura, en effet, exactement le même que le premier modèle) mais les prédicteurs ne sont plus colinéaires.R2
Edit: L'OP a demandé une explication de la raison pour laquelle les résidus n'ont pas, par définition, une corrélation d'échantillon de zéro avec le prédicteur lorsque vous omettez l'interception comme ils le font lorsque l'interception est incluse. C'est trop long pour poster dans les commentaires donc j'ai fait une modification ici. Cette dérivation n'est pas particulièrement éclairante (malheureusement je n'ai pas pu trouver d'argument intuitif raisonnable) mais elle montre ce que l'OP a demandé :
Lorsque l'ordonnée à l' origine est omis dans la régression linéaire simple , β = Σ x i y i , doncei=yi-xi∑xiyiβ^= ∑ xjeyje∑ x2je . La corrélation d'échantillon entrexieteiest proportionnelle à ¯ x e - ¯ x ¯ e où ¯ ⋅ représente la moyenne de l'échantillon de la quantité sous la barre. Je vais maintenant montrer que ce n'est pas nécessairement égal à zéro.eje= yje- xje∑ xjeyje∑ x2je Xje eje
Nous avons d'abord
mais
la source
J'aime les deux réponses données jusqu'à présent. Permettez-moi d'ajouter quelques éléments.
Une autre option est que vous pouvez également combiner les variables. Cela se fait en standardisant les deux (c'est-à-dire en les transformant en z-scores), en les faisant la moyenne, puis en ajustant votre modèle avec uniquement la variable composite. Ce serait une bonne approche lorsque vous croyez qu'il s'agit de deux mesures différentes du même concept sous-jacent. Dans ce cas, vous avez deux mesures contaminées par une erreur. La vraie valeur la plus probable pour la variable que vous avez vraimentles soins se situent entre eux, leur moyenne donne donc une estimation plus précise. Vous les standardisez d'abord pour les mettre sur la même échelle, afin que les problèmes nominaux ne contaminent pas le résultat (par exemple, vous ne voudriez pas faire la moyenne de plusieurs mesures de température si certaines sont en Fahrenheit et d'autres en Celsius). Bien sûr, si elles sont déjà sur la même échelle (par exemple, plusieurs sondages d'opinion hautement corrélés), vous pouvez sauter cette étape. Si vous pensez qu'une de vos variables pourrait être plus précise que l'autre, vous pourriez faire une moyenne pondérée (peut-être en utilisant les inverses des erreurs de mesure).
Je conviens que la régression de crête est sans doute meilleure, car elle vous permet d'utiliser les variables que vous aviez initialement prévues et est susceptible de produire des bêtas très proches de leurs vraies valeurs (bien qu'elles soient biaisées - voir ici ou ici pour plus d'informations ). Néanmoins, je pense qu'il a également deux inconvénients potentiels: il est plus compliqué (nécessitant plus de sophistication statistique), et le modèle résultant est plus difficile à interpréter, à mon avis.
Je suppose que l'approche ultime serait peut-être d'adapter un modèle d'équation structurelle. En effet, cela vous permettrait de formuler l'ensemble exact de relations que vous pensez être opérationnelles, y compris les variables latentes. Cependant, je ne connais pas assez bien SEM pour en parler ici, à part pour mentionner la possibilité. (Je soupçonne également que ce serait exagéré dans la situation que vous décrivez avec seulement deux covariables.)
la source