Regardez et vous trouverez (une corrélation)


66

J'ai plusieurs centaines de mesures. Maintenant, je pense utiliser un logiciel pour corréler chaque mesure avec chaque mesure. Cela signifie qu'il existe des milliers de corrélations. Parmi ceux-ci, il devrait exister (statistiquement) une corrélation élevée, même si les données sont complètement aléatoires (chaque mesure n’a qu’une centaine de points de données).

Lorsque je trouve une corrélation, comment puis-je inclure les informations sur la difficulté avec laquelle j'ai cherché une corrélation?

Je ne suis pas à un niveau élevé en statistiques, alors s'il vous plaît, supportez-moi.


5
C'est un excellent exemple de la raison pour laquelle il est nécessaire de tester plusieurs hypothèses.

On peut vraisemblablement utiliser la procédure de permutation pour générer une distribution nulle pour les seuils de signification de la corrélation la plus grande, un seuil différent pour la deuxième corrélation la plus grande, etc. Espérons que cela ne prendrait que quelques heures en Python ou R. (Ha! Derniers mots célèbres.) Mais sûrement quelqu'un doit déjà avoir fait cela et sauvegardé le code quelque part?

4
Il Rfaut 18 secondes à @tmo sur cette machine pour obtenir 1 000 réalisations de la distribution de permutation nulle du coefficient de corrélation max pour une matrice de 300 par 100 x:correl <- function(x, k=1) { n <- dim(x)[2] * (dim(x)[2]-1) / 2; v <- cor(x); sort(v[lower.tri(v)])[(n-k+1):n] }; sim <- replicate(1000, correl(apply(x,2,sample)))
whuber

Réponses:


74

C’est une excellente question, digne de quelqu'un qui est un penseur en statistiques, car elle reconnaît un aspect subtil mais important des tests multiples.

Il existe des méthodes standard pour ajuster les valeurs p de plusieurs coefficients de corrélation (ou, de manière équivalente, pour élargir leurs intervalles de confiance), telles que les méthodes de Bonferroni et Sidak ( qv ). Cependant, ceux-ci sont beaucoup trop conservateurs avec de grandes matrices de corrélation en raison des relations mathématiques inhérentes qui doivent exister entre les coefficients de corrélation en général. (Pour des exemples de telles relations, voir la question récente et le fil conducteur qui en résulte .) L'une des meilleures approches pour faire face à cette situation consiste à effectuer un test de permutation (ou de rééchantillonnage).. C'est facile à faire avec des corrélations: à chaque itération du test, il suffit de brouiller de manière aléatoire l'ordre des valeurs de chacun des champs (détruisant ainsi toute corrélation inhérente) et de recalculer la matrice de corrélation complète. Faites cela pendant plusieurs milliers d’itérations (ou plus), puis résumez les distributions des entrées de la matrice de corrélation, en donnant par exemple leurs 97,5 et 2,5 centiles: elles serviraient d’intervalles de confiance symétriques bilatéraux à 95% sous le zéro. hypothèse d'absence de corrélation. (La première fois que vous faites cela avec un grand nombre de variables, vous serez étonné de voir à quel point certains des coefficients de corrélation peuvent être élevés, même en l'absence de corrélation inhérente.)

Lorsque vous rapportez les résultats, quels que soient vos calculs, vous devez inclure les éléments suivants:

  • La taille de la matrice de corrélation ( c. -à- d . Le nombre de variables que vous avez examinées).

  • Comment vous avez déterminé les valeurs p ou la "signification" de l'un des coefficients de corrélation ( par exemple , les laisser tels quels, appliquer une correction de Bonferroni, effectuer un test de permutation ou autre).

  • Si vous avez examiné d'autres mesures de corrélation, telles que la corrélation de rang de Spearman . Si tel est le cas, indiquez également pourquoi vous avez choisi la méthode sur laquelle vous déclarez et que vous utilisez.


1
C’est une description assez détaillée des méthodes d’ajustement de la valeur p, mais ce qui n’est pas dit, ce sont les critères d’ajustement. Traditionnellement, c’était le taux d’erreur familial. Mais il s’agit d’un critère strict qui n’est pas utile lorsque vous examinez des milliers de comparaisons. Dans ce cas, le taux de fausse découverte suggéré en premier lieu par Benjamini est maintenant couramment utilisé.
Michael Chernick

Et si nous voulions simplement examiner les corrélations de paires de variables très bien définies (par exemple , ..., , où chaque et sont des variables), mais ne nous soucions pas de toutes les autres combinaisons possibles (ie, ne vous souciez pas de )? Avons-nous encore besoin d'une correction? corr(x1,y1)corr(xn,yn)xiyicorr(xi,yj) ij
Jase

@ Jase Oui, vous faites. Le montant de la correction dépend des interrelations entre les variables. Les méthodes basées sur la simulation constituent à peu près le seul moyen pratique de déterminer ces corrections.
whuber

Waouh bien. Cette méthode dont vous avez discuté corrigera-t-elle également les erreurs standard pour les problèmes de corrélation en série et d'hétéroscédasticité?
Jase

@Jase Il serait difficile d'interpréter les coefficients de corrélation dans un modèle hétéroscédastique. Votre commentaire semble faire référence à un modèle linéaire dans un paramètre de série chronologique, plutôt qu'à une estimation de coefficients de corrélation multivariés.
whuber

10

D'après votre réponse à la question de Peter Flom, il semblerait que vous pourriez être mieux servi par des techniques qui examinent la structure de niveau supérieur dans votre matrice de corrélation.

Des techniques telles que l’analyse factorielle, l’ACP, l’échelle multidimensionnelle et l’analyse par groupe de variables peuvent être utilisées pour regrouper vos variables dans des ensembles de variables relativement plus connexes.

Aussi, vous voudrez peut-être réfléchir théoriquement sur le type de structure qui devrait être présent. Lorsque votre nombre de variables est grand et que le nombre d'observations est petit, vous ferez souvent mieux de vous fier davantage aux attentes antérieures.


1
(+1) Bon conseil à la lumière du commentaire de l'OP sur la réponse de Peter Flom.
whuber

7

Ceci est un exemple de comparaisons multiples. Il existe une grande littérature à ce sujet.

Si vous avez, disons, 100 variables, vous aurez alors 100 * 99/2 = 4950 corrélations.

Si les données ne sont que du bruit, vous vous attendriez à ce que 1 sur 20 soit significatif à p = 0,05. C'est 247,5

Avant d'aller plus loin, cependant, il serait bon que vous puissiez dire POURQUOI vous le faites. Quelles sont ces variables, pourquoi les corrélez-vous, quelle est votre idée de fond?

Ou êtes-vous en train de pêcher des corrélations élevées?


3
La raison pour laquelle je voulais le faire comme ceci était pour être ouvert à la compréhension de mes données, alors peut-être en quelque sorte suis-je en train de pêcher des corrélations, auxquelles je n'avais pas pensé auparavant, dans le but de m'éclairer. Je ne fais certainement pas cela pour satisfaire mon patron ou quelque chose d'abitraire. Je préférerais ne pas entrer dans les détails des données, car je voudrais une réponse générale à cette question, afin de pouvoir l'utiliser dans toutes les situations à l'avenir.
David

7

Vous pourriez peut-être faire une analyse préliminaire sur un sous-ensemble aléatoire de données pour formuler des hypothèses, puis tester ces quelques hypothèses d’intérêt en utilisant le reste des données. De cette façon, vous n'auriez pas à corriger autant de tests multiples. (Je pense...)

Bien sûr, si vous utilisez une telle procédure, vous réduirez la taille du jeu de données utilisé pour l'analyse finale et réduirez ainsi votre capacité à trouver des effets réels. Cependant, les corrections pour les comparaisons multiples réduisent également la consommation d'énergie et je ne suis donc pas sûr que vous perdriez nécessairement quelque chose.


5
(+1) C'est une bonne idée en général. Cependant, pour les grandes matrices de corrélation, il y a tellement de statistiques qui peuvent être simultanément extrêmement volumineuses qu'il est généralement rentable de les ajuster. Sinon, vous finissez par rechercher un grand nombre de corrélations «significatives» trompeuses qui disparaissent tout simplement dans les données en attente. (Effectuez une simulation avec, par exemple, quelques centaines de tirages à partir de 50 variables normales normales non corrélées. C'est une
révélation
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.