Qu'est-ce qu'une mesure de «corrélation» significative pour étudier la relation entre ces deux types de variables?
En R, comment faire?
Qu'est-ce qu'une mesure de «corrélation» significative pour étudier la relation entre ces deux types de variables?
En R, comment faire?
X <- sample(c(0,1),replace=TRUE,size=100)
(2)Y <- X + rnorm(100,0.5)
(3)corr(Y,X)
(4)X <- 1 + 10*X
(5)corr(X,Y)
: mêmes résultats pour les deux corrélations!Réponses:
Pour un instant, ignorons le problème continu / discret. Fondamentalement, la corrélation mesure la force de la relation linéaire entre les variables, et vous semblez demander une autre façon de mesurer la force de la relation. Vous pourriez être intéressé à regarder quelques idées de la théorie de l' information . Plus précisément, je pense que vous voudrez peut-être examiner les informations mutuelles . Les informations mutuelles vous donnent essentiellement un moyen de quantifier combien la connaissance de l'état d'une variable vous renseigne sur l'autre variable. En fait, je pense que cette définition est plus proche de ce que la plupart des gens veulent dire quand ils pensent à la corrélation.
Pour deux variables discrètes X et Y, le calcul est le suivant:
Pour deux variables continues, nous intégrons plutôt que de prendre la somme:
Votre cas d'utilisation particulier est pour un discret et un continu. Plutôt que d'intégrer sur une somme ou de sommer sur une intégrale, j'imagine qu'il serait plus facile de convertir l'une des variables dans l'autre type. Une façon typique de le faire serait de discrétiser votre variable continue en compartiments discrets.
Il existe un certain nombre de façons de discrétiser des données (par exemple des intervalles égaux), et je pense que le paquet d'entropie devrait être utile pour les calculs de MI si vous souhaitez utiliser R.
la source
Si la variable catégorielle est ordinale et que vous regroupez la variable continue en quelques intervalles de fréquence, vous pouvez utiliser Gamma. Le tau de Kendal, le tau de Stuart et le Somers D. sont également disponibles pour les données appariées mises sous forme ordinale. Elles sont toutes disponibles en SAS à l'aide de Proc Freq. Je ne sais pas comment ils sont calculés à l'aide des routines R. Voici un lien vers une présentation qui donne des informations détaillées: http://faculty.unlv.edu/cstream/ppts/QM722/measuresofassociation.ppt#260,5,Mesures of Association for Nominal and Ordinal Variables
la source
Une variable catégorielle n'est en fait qu'un ensemble de variables indicatrices. C'est une idée fondamentale de la théorie de la mesure qu'une telle variable est invariante à la réétiquetage des catégories, il n'est donc pas logique d'utiliser l'étiquetage numérique des catégories dans toute mesure de la relation entre une autre variable (par exemple, «corrélation») . Pour cette raison, la mesure de la relation entre une variable continue et une variable catégorielle doit être entièrement basée sur les variables indicatrices dérivées de cette dernière.
Étant donné que vous voulez une mesure de la «corrélation» entre les deux variables, il est logique d'examiner la corrélation entre une variable aléatoire continue et une variable aléatoire indicateur I dérivée d'une variable catégorielle. Soit ϕ ≡ P ( I = 1 ) nous avons:X I ϕ≡P(I=1)
qui donne:
We can then defineCorr(C,X)≡(Corr(I1,X),...,Corr(Im,X)) as the vector of correlation values for each category of the categorical random variable. This is really the only sense in which it makes sense to talk about 'correlation' for a categorical random variable.
(Note: It is trivial to show that∑kCov(Ik,X)=0 and so the correlation vector for a categorical random variable is subject to this constraint. This means that given knowledge of the probability vector for the categorical random variable, and the standard deviation of X , you can derive the vector from any m−1 of its elements.)
The above exposition is for the true correlation values, but obviously these must be estimated in a given analysis. Estimating the indicator correlations from sample data is simple, and can be done by substitution of appropriate estimates for each of the parts. (You could use fancier estimation methods if you prefer.) Given sample data(x1,c1),...,(xn,cn) we can estimate the parts of the correlation equation as:
Substitution of these estimates would yield a basic estimate of the correlation vector. If you have parametric information onX then you could estimate the correlation vector directly by maximum likelihood or some other technique.
la source
R package mpmi has the ability to calculate mutual information for mixed variable case, namely continuous and discrete. Although there are other statistical options like (point) biserial correlation coefficient to be useful here, it would be beneficial and highly recommended to calculate mutual information since it can detect associations other than linear and monotonic.
la source
IfX is a continuous random variable and Y is a categorical r.v.. the observed correlation between X and Y can be measured by
It should be noted, though, that the point-polyserial correlation is just a generalization of the point-biserial.
For a broader view, here's a table from Olsson, Drasgow & Dorans (1982)[1].
[1]: Source: Olsson, U., Drasgow, F., & Dorans, N. J. (1982). The polyserial correlation coefficient. Psychometrika, 47(3), 337–347
la source