Je veux déterminer lequel des deux ensembles de données (B1, B2) correspond le mieux (pearsons r) à un autre ensemble (A). Il manque des données dans tous les ensembles de données. Comment puis-je déterminer si la corrélation résultante est significativement différente ou non?
Par exemple, 8426 valeurs sont présentes dans A et B1, r = 0,74. 8798 sont présents dans A et B2, r = 0,72.
Je pensais que cette question pourrait aider, mais elle est sans réponse: comment savoir qu'un système est nettement meilleur qu'un autre?
Réponses:
Parfois , on pourrait être en mesure d' y arriver dans la régression multiple, où A est le DV, B est le peuple pointage ont à l'échelle, et C est un code factice qui dit qu'il est soit B1 ou B2:
lm(A~B+C+B*C)
. Le terme d'interaction,B*C
vous indiquera si les corrélations sont différentes, tandis que les pentes simples entre A et B aux deux niveaux de C vous indiqueront les corrélations.Cependant, il n'est pas possible d'adapter tous les types de comparaisons entre les conditions dans ce cadre. Le
cocor
package R est très utile, et il a une interface très simple pointer-cliquer sur le Web. Notez qu'avec des données manquantes différentes, vous n'avez ni échantillons indépendants ni dépendants. J'utiliserais la suppression par liste ici, pour rester simple (et le pouvoir n'est pas un problème pour vous).la source
Oh la puissance du bootstrap. Regardons trois vecteurs pour l'illustration: , et où:UNE B1 B2 Co r ( A , B1) = 0,92
Co r ( A , B2) = 0,86
L'objectif est de déterminer si la corrélation de ces deux ensembles de données est significativement différente. En prenant des échantillons de bootstrap comme ceci:
Nous pouvons tracer les distributions bootstrap des deux corrélations:
Nous pouvons également obtenir des intervalles de confiance à 95% pour .Co r ( A , Bje)
IC à 95% pour :Co r r ( A , B1) ( 0,897 , 0,947 )
IC à 95% pour :Co r r ( A , B2) ( 0,810 , 0,892 )
Le fait que les intervalles ne se chevauchent pas (à peine) nous donne la preuve que la différence de corrélations d'échantillons que nous avons observée est effectivement statistiquement significative.
Comme le souligne amoeba dans les commentaires, un résultat plus "puissant" vient de la différence pour chacun des échantillons de bootstrap.
Un IC à 95% pour la différence entre les deux est:( 0,019 , 0,108 )
En notant que l'intervalle exclut (à peine) 0, nous avons des preuves similaires à celles précédentes.
Pour gérer le problème des données manquantes, sélectionnez simplement vos échantillons de bootstrap parmi les paires contenues dans les deux ensembles de données.
la source
Ensuite, il s'ensuit que, du fait que les variables transformées de Fisher sont maintenant normalement distribuées et que la somme des variables aléatoires normalement distribuées est toujours normalement distribuée:
-
Après le commentaire de @Josh , nous pouvons quelque peu incorporer la possibilité d'interdépendance entre les échantillons (rappelez-vous que les deux corrélations dépendent de la distribution de A). Sans supposer des échantillons indépendants et en utilisant l'inégalité de Cauchy-Schwarz, nous pouvons obtenir la borne supérieure suivante (voir: Comment puis-je trouver l'écart-type de la différence entre deux moyennes? ):
la source
Modifié après les commentaires utiles de Mark White (merci!)
Une option consiste à calculer les deux relations (B1 avec A et B2 avec A) dans un modèle unique qui estime également la différence entre elles. Ceci est facile à réaliser avec une régression multiple . Vous exécuteriez un modèle avec A comme variable dépendante, puis une variable continue avec tous les scores pour B1 et B2, une variable catégorielle indiquant de quelle variable il s'agissait (B1 ou B2) et l'interaction entre eux. En r:
Voici les corrélations à partir des données que j'ai générées:
Modification du format des données pour répondre aux besoins du modèle (reformatage en "long"):
Voici le modèle:
Les résultats ici (à partir de mes données synthétiques) suggèrent qu'il existe une relation significative entre B1 et A (le test du coefficient "valeur", puisque B1 est le groupe de référence pour le coefficient "var"), mais que la différence entre la relation B1 avec A et la relation B2 avec A n'est pas significative (le test du coefficient "valeur: varB2").
Si vous aimez penser en termes de corrélation plutôt que de coefficients de régression, standardisez simplement toutes vos variables (A, B1 et B2) avant d'exécuter le modèle et les coefficients de régression que vous obtiendrez seront standardisés (pas tout à fait la même chose qu'un corrélation d'ordre zéro, mais beaucoup plus proche en termes d'interprétation).
Notez également que cela limitera votre analyse aux seuls cas qui ont à la fois B1 et B2 ( suppression par liste ). Tant que cela vous laisse suffisamment de données pour ne pas être sous-alimenté, et tant que les données manquantes sont manquantes de manière aléatoire (ou une proportion suffisamment petite du total des données pour ne pas avoir beaucoup d'importance même si elles manquent de manière non aléatoire), alors c'est bien.
Le fait que vous limitez votre analyse au même ensemble de données pour estimer les effets à la fois pour B1 et B2 (plutôt que d'utiliser des ensembles de données légèrement différents, en fonction des différents modèles de manque) a l'avantage de rendre l'interprétation de la différence entre les corrélations un peu plus simple. Si vous calculez les corrélations séparément pour chacune et testez ensuite la différence entre elles , vous rencontrez le problème que les données sous-jacentes sont légèrement différentes dans chaque cas --- toute différence que vous voyez pourrait être due à des différences dans les échantillons autant qu'à des différences dans les relations réelles entre les variables.
la source
lm(A~B1*B2)
testera si la corrélation entreB1
etA
dépend de sonB2
score ? Ce terme d'interaction ne teste pas si les corrélations sont différentes; il teste si les deux prédicteurs interagissent l'un avec l'autre. Vous pouvez créer un code factice,C
qui code si l'échelle pourB
estB1
ou nonB2
. Alors que diriez - vous dire que la corrélation entreB
etA
dépend si elle estB1
ouB2
, qui est, si les corrélations sont différentes.