Comment gérer des estimations

13

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).x1x2

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?

Luna
la source
5
Avez-vous essayé une sorte de schéma de régularisation (par exemple, régression de crête)?
Néstor

Réponses:

11

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!

Paul
la source
2
La validation croisée est la chose habituelle à faire pour choisir ;-). λ
Néstor
en effet (+1 pour la réponse et le commentaire de Nestor), et si vous effectuez les calculs sous "forme canonique" (en utilisant une décomposition propre de , vous pouvez trouver le λ minimisant l'erreur de validation croisée sans laisser de La méthode de Newton à très bon marchéXTXλ
Dikran Marsupial
Merci beaucoup! Un tutoriel / des notes sur la façon de le faire, y compris la validation croisée dans R?
Luna
Consultez le chapitre 3 de ce livre: stanford.edu/~hastie/local.ftp/Springer/ESLII_print5.pdf . La mise en œuvre de la régression des crêtes est effectuée en R par certains auteurs (Google est votre ami!).
Néstor
2
Vous pouvez utiliser la lm.ridgeroutine 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)
jbowman
10

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

Ouije=β0+β1Xje+β2Zje+εje

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,Zjep

Zje=α0+α1Xje+ηje

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ηjeXjeZjeXje

Ouije=θ0+θ1Xje+θ2ηje+νje

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-xixiyiβ^=XjeyjeXje2 . La corrélation d'échantillon entrexieteiest proportionnelle à ¯ x e - ¯ x ¯ e ¯ 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-XjeXjeyjeXje2Xjeeje

Xe¯-X¯e¯
¯

Nous avons d'abord

Xe¯=1n(Xjeyje-Xje2XjeyjeXje2)=Xy¯(1-Xje2Xje2)=0

mais

X¯e¯=X¯(y¯-X¯Xy¯X2¯)=X¯y¯-X¯2Xy¯X2¯

ejeXjeX¯e¯0

y¯=X¯Xy¯X2¯

X,y

Macro
la source
Cela me rappelle les graphiques de régression partielle .
Andy W
3
(X,Z)
3
XZ
1
Salut Macro, Merci pour l'excellente preuve. Ouais maintenant je le comprends. Lorsque nous parlons de la corrélation d'échantillon entre x et les résidus, il faut que le terme d'interception soit inclus pour que la corrélation d'échantillon soit 0. En revanche, lorsque nous parlons d'orthogonalité entre x et les résidus, cela ne nécessite pas le terme d'interception à inclure, pour que l'orthogonalité tienne.
Luna
1
@Luna, je ne suis pas particulièrement en désaccord avec l'utilisation de la régression de crête - c'est exactement ce qui m'est venu à l'esprit (j'ai répondu avant que cela ne soit suggéré). Une chose que je peux dire est que l'estimation de la régression de crête est biaisée, donc, dans un certain sens, vous estimez en fait une quantité légèrement différente (rétrécie) que vous ne le faites avec la régression ordinaire, ce qui rend l'interprétation des coefficients peut-être plus difficile (comme le gung Fait allusion à). De plus, ce que j'ai décrit ici ne nécessite qu'une compréhension de la régression linéaire de base et peut être plus intuitif pour certains.
Macro
4

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).

r>.98les ont combinés, mais pourquoi s'embêter? Cependant, cela dépend de façon critique du fait que vos variables sont corrélées car ce sont deux versions différentes de la même chose; s'il y a une raison différente pour laquelle ils sont corrélés, cela pourrait être totalement inapproprié.

X1X2OuiXZ XX1X2XZ

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.)

gung - Réintégrer Monica
la source
4
X1eX1X2=X1+eX1Oui=eOuiX1X2OuiX1X2Oui=X2-X1X1X2OuiOui
Merci beaucoup Gung! Q1. Pourquoi cette approche fonctionne-t-elle: "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."? Q2. Pourquoi la régression Ridge serait-elle meilleure? Q3. Pourquoi SEM serait-il meilleur? Quelqu'un pourrait-il faire la lumière là-dessus? Je vous remercie!
Luna
Salut Luna, ravie de t'aider. Je vais en fait rééditer ceci; @whuber avait plus raison que je ne l'avais imaginé initialement. J'essaierai d'en ajouter plus pour répondre à vos questions supplémentaires, mais cela prendra beaucoup de temps, donc cela pourrait prendre un certain temps. Nous verrons comment ça se passe.
gung - Rétablir Monica