Les valeurs de p pour le test de corrélation de Pearson peuvent-elles être calculées uniquement à partir du coefficient de corrélation et de la taille de l'échantillon?

12

Contexte: J'ai lu un article dans lequel les auteurs rapportent une corrélation de Pearson de 0,754 à partir de la taille de l'échantillon 878. La valeur de p résultante pour le test de corrélation est significative "deux étoiles" (c'est-à-dire p <0,01). Cependant, je pense qu'avec une taille d'échantillon aussi grande, la valeur de p correspondante devrait être inférieure à 0,001 (c'est-à-dire trois étoiles significatives).

  • Les valeurs de p pour ce test peuvent-elles être calculées uniquement à partir du coefficient de corrélation de Pearson et de la taille de l'échantillon?
  • Si oui, comment cela peut-il être fait dans R?
Miroslav Sabo
la source
1
Pour ceux qui sont intéressés, voici un calculateur de valeur p en ligne qui prend r et n .
Jeromy Anglim

Réponses:

14

Oui, cela peut être fait si vous utilisez la transformation R-to-Z de Fisher. D'autres méthodes (par exemple bootstrap) peuvent présenter certains avantages mais nécessitent les données d'origine. Dans R ( r est le coefficient de corrélation de l'échantillon, n est le nombre d'observations):

z <- 0.5 * log((1+r)/(1-r))
zse <- 1/sqrt(n-3)
min(pnorm(z, sd=zse), pnorm(z, lower.tail=F, sd=zse))*2

Voir aussi cet article sur mon blog .

Cela dit, que ce soit .01 ou .001 n'a pas beaucoup d'importance. Comme vous l'avez dit, cela dépend principalement de la taille de l'échantillon et vous savez déjà que la taille de l'échantillon est grande. La conclusion logique est que vous n'avez probablement même pas besoin d'un test du tout (surtout pas un test de l'hypothèse dite «nulle» que la corrélation est 0). Avec N = 878, vous pouvez être assez confiant dans la précision de l'estimation et vous concentrer sur son interprétation directe (c'est-à-dire que 0,75 est grand dans votre domaine?).

Cependant, formellement, lorsque vous effectuez un test statistique dans le cadre Neyman-Pearson, vous devez spécifier le niveau d'erreur à l'avance. Donc, si les résultats du test sont vraiment importants et que l'étude a été planifiée avec 0,01 comme seuil, cela n'a de sens que de rapporter p <0,01 et vous ne devriez pas opportunément le faire p <0,001 sur la base de la valeur p obtenue . Ce type de flexibilité non divulguée est même l'une des principales raisons de la critique des petites étoiles et plus généralement de la façon dont les tests de signification d'hypothèse nulle sont pratiqués en sciences sociales.

Voir également Meehl, PE (1978). Risques théoriques et astérisques tabulaires: Sir Karl, Sir Ronald et la lente progression de la psychologie douce. Journal of Consulting and Clinical Psychology, 46 (4), 806-834. (Le titre contient une référence à ces «étoiles» mais le contenu est une discussion beaucoup plus large du rôle des tests de signification.)

Gala
la source
1
Je leur conseillerais probablement d'abandonner les petites étoiles, même si les résultats sont corrects mais je vois votre point.
Gala
1
J'ai modifié ma réponse pour ajouter une remarque sur ce problème. Notez que 0,001 <0,01 donc les auteurs sont formellement «corrects» dans tous les cas, c'est plutôt une question de ce que la manière dont les résultats sont rapportés implique. Je pense que, contrairement à une erreur pure et simple qu'un critique devrait bien sûr corriger, cette question devrait être laissée aux auteurs de décider.
Gala
1
Vous avez raison, mais jusqu'à présent, je n'ai jamais vu de rapport p <0,01 si p est en fait inférieur à 0,001 (sans dire que le niveau de confiance pour l'article est 0,01). De plus, dans l'article dont je parle, les auteurs rapportent 30 tests de corrélation basés sur des tailles d'échantillons allant de 837 à 886 avec des corrélations allant de 0,145 à 0,754 et tous sont rapportés comme significatifs à deux étoiles.
Miroslav Sabo
1
J'ai un problème pour publier mon code ici, mais je lance des simulations et la valeur de p à partir de votre code n'est pas la même que la valeur de p de cor.test.
Miroslav Sabo
4
J'ai écrit un tutoriel sur l'utilisation de z de Fisher pour les corrélations accessibles sur stata-journal.com/sjpdf.html?articlenum=pr0041 Je recommanderais une utilisation plus fréquente des intervalles de confiance et je calculerais 0,724, 0,781 comme limites de 95%. Je recommanderais encore plus de regarder les données et d'élaborer une régression.
Nick Cox
2

vous utilisez la transformation R-to-Z de Fisher.

Il existe une autre statistique:

abs(r)*sqrt((n-2)/(1-r^2)) ~ t.dist(d.f.=n-2)

qui a une distribution t avec n-2 degrés de liberté. Voici comment cela fonctionne, par exemple: http://www.danielsoper.com/statcalc3/calc.aspx?id=44

Germaniawerks
la source