Que faire des variables colinéaires

11

Avertissement: Ceci est pour un projet de devoirs.

J'essaie de trouver le meilleur modèle pour les prix des diamants, en fonction de plusieurs variables et je semble avoir un assez bon modèle jusqu'à présent. Cependant, j'ai rencontré deux variables qui sont évidemment colinéaires:

>with(diamonds, cor(data.frame(Table, Depth, Carat.Weight)))
                   Table       Depth Carat.Weight
Table         1.00000000 -0.41035485   0.05237998
Depth        -0.41035485  1.00000000   0.01779489
Carat.Weight  0.05237998  0.01779489   1.00000000

La table et la profondeur dépendent l'une de l'autre, mais je veux toujours les inclure dans mon modèle prédictif. J'ai fait quelques recherches sur les diamants et j'ai découvert que la table et la profondeur sont la longueur à travers le haut et la distance de la pointe du haut au bas d'un diamant. Étant donné que ces prix des diamants semblent être liés à la beauté et que la beauté semble être des proportions liées, j'allais inclure leur rapport, par exemple , pour prédire les prix. Est-ce une procédure standard pour traiter les variables colinéaires? Sinon, c'est quoi?Tunebleepth

Edit: Voici un tracé de Depth ~ Table: entrez la description de l'image ici

Mike Flynn
la source
1
+1 pour une question intéressante mais, non, ce n'est certainement pas une procédure standard pour traiter les variables colinéaires. J'espère que quelqu'un vous donnera une bonne réponse sur pourquoi pas. Ce pourrait être une bonne chose à faire dans votre cas ...
Peter Ellis
3
La chose étrange à ce sujet semble être que la corrélation de -0,4 suggère que les diamants qui sont plus longs en haut sont plus courts de haut en bas. Cela semble contre-intuitif - êtes-vous sûr que c'est correct?
Peter Ellis
En général, ne révélera qu'une dépendance linéaire, n'est-ce pas? Et si la et la étaient liées de façon non linéaire? Dans ce cas, y aurait-il un analogue de collinarité qui pose problème? Ou seulement une dépendance linéaire est-elle un problème. corTunebleepth
curious_cat
@PeterEllis On m'a dit qu'il s'agissait d'un véritable ensemble de données, oui. En regardant un tracé de Depth ~ Table, cela pourrait être dû au fait que la variance se déploie pour les valeurs élevées du tableau.
Mike Flynn

Réponses:

14

Ces variables sont corrélées.

L'étendue de l'association linéaire impliquée par cette matrice de corrélation n'est pas suffisamment éloignée pour que les variables soient considérées comme colinéaires.

Dans ce cas, je serais très heureux d'utiliser ces trois variables pour des applications de régression typiques.

Une façon de détecter la multicolinéarité est de vérifier la décomposition de Choleski de la matrice de corrélation - s'il y a multicolinéarité, il y aura des éléments diagonaux proches de zéro. Le voici sur votre propre matrice de corrélation:

> chol(co)
     [,1]       [,2]       [,3]
[1,]    1 -0.4103548 0.05237998
[2,]    0  0.9119259 0.04308384
[3,]    0  0.0000000 0.99769741

(La diagonale doit toujours être positive, bien que certaines implémentations puissent devenir légèrement négatives avec l'effet des erreurs de troncature accumulées)

Comme vous le voyez, la plus petite diagonale est de 0,91, ce qui est encore loin de zéro.

En revanche, voici quelques données presque colinéaires:

> x<-data.frame(x1=rnorm(20),x2=rnorm(20),x3=rnorm(20))
> x$x4<-with(x,x1+x2+x3+rnorm(20,0,1e-4))
> chol(cor(x))
   x1         x2         x3           x4
x1  1 0.03243977 -0.3920567 3.295264e-01
x2  0 0.99947369  0.4056161 7.617940e-01
x3  0 0.00000000  0.8256919 5.577474e-01
x4  0 0.00000000  0.0000000 7.590116e-05   <------- close to 0.
Glen_b -Reinstate Monica
la source
Merci, je pense que j'étais simplement confus entre «corrélé» et «colinéaire»
Mike Flynn
@kingledion Veuillez ne pas utiliser de commentaires pour essayer d'obtenir des personnes qui répondent à votre question.
Glen_b -Reinstate Monica
6

Je pensais que ce schéma de taille de diamant pourrait éclairer la question. Impossible d'ajouter une image à un commentaire, alors faites-en une réponse ...

entrez la description de l'image ici

PS. @ Commentaire de PeterEllis: Le fait que "les diamants qui sont plus longs en haut sont plus courts de haut en bas" pourrait avoir un sens de cette façon: Supposons que tous les diamants non taillés sont à peu près rectangulaires (disons). Maintenant, le coupeur doit choisir sa coupe avec ce rectangle de délimitation. Cela introduit le compromis. Si la largeur et la longueur augmentent, vous optez pour des diamants plus gros. Possible mais plus rare et plus cher. Ça a du sens?

curious_cat
la source
2

L'utilisation de ratios en régression linéaire doit être évitée. Essentiellement, ce que vous dites, c'est que si une régression linéaire était effectuée sur ces deux variables, elles seraient corrélées linéairement sans interception; ce n'est évidemment pas le cas. Voir: http://cscu.cornell.edu/news/statnews/stnews03.pdf

En outre, ils mesurent une variable latente - la taille (volume ou surface) du diamant. Avez-vous envisagé de convertir vos données en une mesure de surface / volume plutôt que d'inclure les deux variables?

Vous devez publier un tracé résiduel de ces données de profondeur et de table. Votre corrélation entre les deux peut de toute façon être invalide.

TLJ
la source
1

D'après la corrélation, il est difficile de conclure si le tableau et la largeur sont effectivement corrélés. Un coefficient proche de + 1 / -1 dirait qu'ils sont colinéaires. Cela dépend également de la taille de l'échantillon. Si vous avez plus de données, utilisez-les pour confirmer.

La procédure standard pour traiter les variables colinéaires consiste à éliminer l'une d'elles ... car sachant que l'une déterminerait l'autre.

Subspacien
la source
1
Je ne suis pas sûr d'être d'accord avec cela. La corrélation est r = -. 41, ce qui est une ampleur raisonnable pour une corrélation, je pense. Étant donné le N probable (basé sur un coup d'œil sur l'intrigue), je m'attendrais à ce que le r soit hautement «significatif». La question de savoir si Table & Depth est suffisamment corrélée pour être appelée "colinéaire" va être une question de définition (bien que je n'appellerais pas cela une colinéarité problématique non plus). Enfin, je me garderais de supprimer simplement une des variables à moins que les r soient très proches de | 1 | (par exemple, ~ .99) - Je ne peux pas dire si c'est ce que vous voulez dire.
gung - Rétablir Monica
1

Qu'est-ce qui vous fait penser que la table et la profondeur provoquent la colinéarité dans votre modèle? À partir de la seule matrice de corrélation, il est difficile de dire que ces deux variables entraîneront des problèmes de colinéarité. Qu'est-ce qu'un test F commun vous dit sur la contribution des deux variables à votre modèle? Comme curious_cat l'a mentionné, le Pearson peut ne pas être la meilleure mesure de corrélation lorsque la relation n'est pas linéaire (peut-être une mesure basée sur le rang?). Le VIF et la tolérance peuvent aider à quantifier le degré de colinéarité que vous pourriez avoir.

Je pense que votre approche de l'utilisation de leur rapport est appropriée (mais pas comme solution à la colinéarité). Quand je vois la figure, j'ai immédiatement pensé à une mesure courante dans la recherche en santé, le rapport taille / hanche. Bien que, dans ce cas, il s'apparente davantage à l'IMC (poids / taille ^ 2). Si le ratio est facilement interprétable et intuitif dans votre public, je ne vois pas de raison de ne pas l'utiliser. Cependant, vous pouvez peut-être utiliser les deux variables dans votre modèle, sauf s'il existe des preuves claires de colinéarité.

Thomas Speidel
la source