J'ai un problème pour calculer le coefficient de corrélation de Pearson des ensembles de données avec peut-être un écart-type nul (c'est-à-dire que toutes les données ont la même valeur).
Supposons que j'ai les deux ensembles de données suivants:
float x[] = {2, 2, 2, 3, 2};
float y[] = {2, 2, 2, 2, 2};
Le coefficient de corrélation "r" serait calculé à l'aide de l'équation suivante:
float r = covariance(x, y) / (std_dev(x) * std_dev(y));
Cependant, comme toutes les données de l'ensemble de données "y" ont la même valeur, l'écart-type std_dev (y) serait nul et "r" ne serait pas défini.
Existe-t-il une solution à ce problème? Ou dois-je utiliser d'autres méthodes pour mesurer la relation de données dans ce cas?
correlation
Andrée
la source
la source
Réponses:
Les gens de la "théorie de l'échantillonnage" vous diront qu'il n'existe pas une telle estimation. Mais vous pouvez en obtenir un, il vous suffit d'être raisonnable sur vos informations antérieures et de faire un travail mathématique beaucoup plus difficile.
Si vous avez spécifié une méthode d'estimation bayésienne et que le postérieur est le même que le précédent, vous pouvez dire que les données ne disent rien sur le paramètre. Parce que les choses peuvent devenir "singulières" sur nous, nous ne pouvons pas utiliser des espaces de paramètres infinis. Je suppose que parce que vous utilisez la corrélation de Pearson, vous avez une probabilité normale bivariée:
où Qi=(xi-μx)2
Maintenant, pour indiquer qu'un ensemble de données peut avoir la même valeur, écrivez , puis nous obtenons:yje= y
la source
Ainsi, par exemple, si toutes les valeurs sont égales, gower (.,.) = 1. Si en revanche ils ne diffèrent que dans une seule dimension, gower (.,.) = 0.9. S'ils diffèrent dans chaque dimension, gower (.,.) = 0 et ainsi de suite.
Bien sûr, ce n'est pas une mesure de corrélation, mais cela vous permet de calculer à quel point le vecteur avec s> 0 est proche de celui avec s = 0. Bien sûr, vous pouvez également appliquer d'autres mesures si elles servent mieux votre objectif.
la source
La corrélation n'est pas définie dans ce cas. Si vous devez le définir, je le définirais comme 0, mais considérez plutôt une simple différence absolue moyenne.
la source
Cette question vient des programmeurs, donc je suggère de brancher zéro. Il n'y a aucune preuve d'une corrélation, et l'hypothèse nulle serait nulle (pas de corrélation). Il pourrait y avoir d'autres connaissances contextuelles qui fourniraient une corrélation "typique" dans un contexte, mais le code pourrait être réutilisé dans un autre contexte.
la source