Puis-je simplement supprimer l'une des deux variables prédictives qui sont fortement corrélées linéairement?

18

En utilisant le coefficient de corrélation de Pearson, j'ai plusieurs variables qui sont hautement corrélées ( et pour 2 paires de variables qui sont dans mon modèle).ρ=0,978ρ=0,989

La raison pour laquelle certaines variables sont fortement corrélées est qu’une variable est utilisée dans le calcul d’une autre variable.

Exemple:

B=V/3000 et E=V

B et ontEρ=0,989

Est-il possible pour moi de simplement "jeter" une des variables?

TheCloudlessSky
la source

Réponses:

26

B et E sont tous deux dérivés de V. B et E ne sont clairement pas des variables vraiment «indépendantes» l'une de l'autre. La variable sous-jacente qui importe vraiment ici est V. Vous devriez probablement ignorer B et E dans ce cas et ne garder que V.

Dans une situation plus générale, lorsque vous avez deux variables indépendantes qui sont très fortement corrélées, vous devez certainement supprimer l'une d'entre elles car vous rencontrez l'énigme de la multicolinéarité et les coefficients de régression de votre modèle de régression liés aux deux variables hautement corrélées ne seront pas fiables. De plus, en langage simple, si deux variables sont si fortement corrélées, elles transmettront évidemment presque exactement la même information à votre modèle de régression. Mais, en incluant les deux, vous affaiblissez réellement le modèle. Vous n'ajoutez pas d'informations incrémentielles. Au lieu de cela, vous insufflez du bruit à votre modèle. Pas une bonne chose.

Vous pouvez conserver des variables hautement corrélées dans votre modèle en utilisant au lieu de régresser un modèle d'analyse en composantes principales (ACP). Les modèles PCA sont conçus pour éliminer la multicolinéarité. Le compromis est que vous vous retrouvez avec deux ou trois composants principaux dans votre modèle qui ne sont souvent que des constructions mathématiques et sont à peu près incompréhensibles en termes logiques. L'ACP est donc fréquemment abandonnée comme méthode chaque fois que vous devez présenter vos résultats à un public externe tel que la direction, les régulateurs, etc. Les modèles PCA créent des boîtes noires cryptiques qui sont très difficiles à expliquer.

Sympa
la source
1
(+1) pour l'explication de l'ACP.
steffen
1
Merci, c'était une excellente explication. J'ai entendu parler de l'APC et lu, mais c'est pour un projet final pour un cours d'études supérieures de "régression" que je prends, et le professeur veut juste que nous utilisions LR. Quoi qu'il en soit, j'apprécie vraiment l'explication de l'ACP et je l'utiliserai probablement moi-même pour le plaisir.
TheCloudlessSky
3
Dans certaines circonstances, les recommandations de cette réponse ne fonctionneraient pas. Par exemple, que se passe-t-il si la véritable relation est Y = B + E = V / 3000 + V * D? Ensuite, les variables ont une corrélation élevée en raison des plages de V et D dans l'ensemble de données - ce qui est (ou peut être) un pur accident - tout en jetant l'un des B ou E entraînera le mauvais modèle. En bref, la "dépendance" n'est généralement pas une raison valable pour supprimer certaines variables d'un modèle; l'inclusion de variables fortement dépendantes n'affaiblit pas nécessairement un modèle; L'ACP n'est pas toujours la solution.
whuber
@whuber, je ne suis pas sûr d'être d'accord avec vos commentaires. Je pense que la "dépendance" est en général une raison assez valable pour supprimer certaines variables d'un modèle de régression. Sinon, vos coefficients de régression ne peuvent pas être fiables. Dans l'exemple que vous utilisez qui serait problématique pour la régression, une solution simple consiste à utiliser l'expression entière (V / 3000 + V * D) comme une variable unique.
Sympa
3
Plus généralement, si le modèle est beta1 * (V / 3000) + beta2 * (V D), vous ne pouvez pas le faire: en d'autres termes, votre suggestion suppose que vous connaissez une contrainte linéaire parmi les coefficients. Il est vrai que les coefficients de régression peuvent avoir * des VIF relativement importants ou des erreurs standard, mais avec des quantités suffisantes de données - ou avec des observations bien choisies - les estimations seront suffisamment fiables. Donc, nous sommes d'accord qu'il y a un problème et je suis en effet d'accord avec votre solution comme l'une des alternatives à considérer . Je ne suis pas d'accord pour dire que c'est aussi général et nécessaire que vous le dites.
whuber
7

Voici une réponse du point de vue d'un apprenant machine, même si je crains d'être battu par de vrais statisticiens pour cela.

Est-il possible pour moi de simplement "jeter" une des variables?

Eh bien, la question est de savoir quel type de modèle vous souhaitez utiliser pour la prédiction. Cela dépend par exemple de ...

  • peut le modèle avec des prédicteurs corrélés? Par exemple, bien que NaiveBayes ait théoriquement des problèmes avec les variables corrélées, les expériences ont montré qu'il peut toujours bien fonctionner.
  • comment le modèle traite-t-il les variables prédictives? Par exemple, la différence entre B et V sera normalisée dans une estimation de densité de probabilité, peut-être la même pour E et V en fonction de la variance de D (comme l'euphorie l'a déjà dit)
  • quelle combinaison d'utilisation de B et E (un, aucun, les deux) fournit le meilleur résultat, estimé par une validation croisée réfléchie + un test sur un ensemble d'exclusion?

Parfois, nous apprenons par machine à effectuer une optimisation génétique pour trouver la meilleure combinaison arithmétique d'un ensemble de prédicteurs.

steffen
la source
7

B est une transformation linéaire de V. E représente une interaction entre V et D. Avez-vous envisagé de spécifier un modèle qui est Y = Interception + V + D + V: D? Comme le suggère @ euphoria83, il semble probable qu'il y ait peu de variation dans D, donc cela peut ne pas résoudre votre problème; cependant, il devrait au moins clarifier les contributions indépendantes de V et D. Veillez à centrer à la fois V et D au préalable.

russellpierce
la source
4
+1: Non seulement cette suggestion est une bonne approche du problème en question, mais elle montre que le rejet des variables n'est pas toujours la bonne (ou même une bonne) approche pour résoudre les problèmes de colinéarité.
whuber
0

Si D n'est pas une constante, alors B et E sont en fait deux variables différentes en raison des variations de D. La forte corrélation indique que D est pratiquement constant dans toutes les données d'apprentissage. Si tel est le cas, vous pouvez éliminer B ou E.

euphoria83
la source
1
=n12N2n2
Si vous jetez B ou E et les traitez comme équivalents, vous affirmez implicitement que V est tout ce qui compte vraiment. Si tel est le cas, vous feriez mieux de conserver B dans le modèle car son interprétation est claire. De plus, si vous conservez E, mais que D présente en fait une variance limitée, la validité de l'interprétation de vos résultats serait encore plus suspecte (que d'habitude) pour différentes valeurs de D.
russellpierce