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.
R
faut 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 100x
: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)))
Réponses:
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.
la source
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.
la source
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?
la source
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.
la source