¿Cómo estudio la "correlación" entre una variable continua y una variable categórica?

19

¿Qué es una medida significativa de "correlación" para estudiar la relación entre estos dos tipos de variables?

En R, ¿cómo hacerlo?

Luna
fuente
1
antes de preguntar "cómo estudias", debes tener la respuesta a "cómo defines" :-) Por cierto, si proyectas la variable categórica a números enteros, ya puedes hacer la correlación.
Curioso
2
@Tomas, si haces eso, la fuerza estimada de la relación depende de cómo hayas decidido etiquetar los puntos, lo que da un poco de miedo :)
Macro
@Macro, tienes razón: ¡otro argumento sólido para tener una buena definición!
Curioso
@Macro A menos que haya entendido mal su punto, no. La correlación es insensible a las transformaciones lineales. Entonces cor (X, Y) = cor (a + bX, Y) para finito a y b. El reetiquetado de un 0/1 como 1/11 no hace nada a las correlaciones usando esa var o su transformación lineal.
Alexis
@Curious mira mi comentario a Macro arriba. Y tenga en cuenta: (1) 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): ¡los mismos resultados para ambas correlaciones!
Alexis

Respuestas:

19

Por un momento, ignoremos el problema continuo / discreto. Básicamente, la correlación mide la fuerza de la relación lineal entre variables, y parece que está pidiendo una forma alternativa de medir la fuerza de la relación. Quizás le interese ver algunas ideas de la teoría de la información . Específicamente, creo que es posible que desee ver información mutua . La información mutua esencialmente le brinda una forma de cuantificar cuánto sabe el estado de una variable sobre la otra variable. De hecho, creo que esta definición está más cerca de lo que la mayoría de las personas quieren decir cuando piensan en la correlación.

Para dos variables discretas X e Y, el cálculo es el siguiente:

I(X;Y)=yYxXp(x,y)log(p(x,y)p(x)p(y))

Para dos variables continuas, integramos en lugar de tomar la suma:

I(X;Y)=YXp(x,y)log(p(x,y)p(x)p(y))dxdy

Su caso de uso particular es para uno discreto y uno continuo. En lugar de integrar sobre una suma o sumar sobre una integral, imagino que sería más fácil convertir una de las variables en el otro tipo. Una forma típica de hacerlo sería discretizar su variable continua en contenedores discretos.

Hay varias maneras de discrepar datos (por ejemplo, intervalos iguales), y creo que el paquete de entropía debería ser útil para los cálculos de MI si desea utilizar R.

Michael McGowan
fuente
1
Gracias. Pero, ¿qué tan alto corresponde un IM a corr = 1 y qué tan bajo corresponde un IM a corr = 0?
Luna
MI tiene un mínimo de 0, y MI = 0 si y solo si las variables son independientes. Sin embargo, MI no tiene un límite superior constante (el límite superior está relacionado con las entropías de las variables), por lo que es posible que desee ver una de las versiones normalizadas si eso es importante para usted.
Michael McGowan
6

Si la variable categórica es ordinal y vincula la variable continua en unos pocos intervalos de frecuencia, puede usar Gamma. También están disponibles para datos emparejados puestos en forma ordinal la tau de Kendal, la tau de Stuart y Somers D. Todos estos están disponibles en SAS usando Proc Freq. No sé cómo se calculan usando las rutinas R. Aquí hay un enlace a una presentación que brinda información detallada: http://faculty.unlv.edu/cstream/ppts/QM722/measuresofassociation.ppt#260,5,Medidas de asociación para variables nominales y ordinales

Michael R. Chernick
fuente
1

Una variable categórica es efectivamente solo un conjunto de variables indicadoras. Es una idea básica de la teoría de la medición que dicha variable es invariable para volver a etiquetar las categorías, por lo que no tiene sentido utilizar el etiquetado numérico de las categorías en ninguna medida de la relación entre otra variable (por ejemplo, "correlación") . Por esta razón, y la medida de la relación entre una variable continua y una variable categórica debe basarse enteramente en las variables indicadoras derivadas de esta última.

Dado que desea una medida de 'correlación' entre las dos variables, tiene sentido observar la correlación entre una variable aleatoria continua y una variable aleatoria indicadora I derivada de una variable categórica. Dejando ϕ P ( I = 1 ) tenemos:XIϕP(I=1)

Cov(I,X)=E(IX)E(I)E(X)=ϕ[E(X|I=1)E(X)],

lo que da:

Corr(I,X)=ϕ1ϕE(X|I=1)E(X)S(X).

Entonces, la correlación entre una variable aleatoria continua y una variable aleatoria I del indicador es una función bastante simple de la probabilidad del indicador ϕ y la ganancia estandarizada en el valor esperado de X por el condicionamiento en I = 1 . Tenga en cuenta que esta correlación no requiere ninguna discretización de la variable aleatoria continua.XIϕXI=1


C1,...,mC=kIkI(C=k)

Corr(Ik,X)=ϕk1ϕkE(X|C=k)E(X)S(X).

We can then define Corr(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 m1 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:

ϕ^k1ni=1nI(ci=k).

E^(X)x¯1ni=1nxi.

E^(X|C=k)x¯k1ni=1nxiI(ci=k)/ϕ^k.

S^(X)sX1n1i=1n(xix¯)2.

Substitution of these estimates would yield a basic estimate of the correlation vector. If you have parametric information on X then you could estimate the correlation vector directly by maximum likelihood or some other technique.

Reinstate Monica
fuente
0

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.

siyisoy
fuente
0

If X is a continuous random variable and Y is a categorical r.v.. the observed correlation between X and Y can be measured by

  1. the point-biserial correlation coefficient, if Y is dichotomous;
  2. the point-polyserial correlation coefficient, if Y is polychotomous with ordinal categories.

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].

correlation coefficients

[1]: Source: Olsson, U., Drasgow, F., & Dorans, N. J. (1982). The polyserial correlation coefficient. Psychometrika, 47(3), 337–347

Waldir Leoncio
fuente