¿Cuál es una medida de "correlación" significativa para estudiar la relación entre estos dos tipos de variables?
En R, ¿cómo se hace?
¿Cuál es una medida de "correlación" significativa para estudiar la relación entre estos dos tipos de variables?
En R, ¿cómo se hace?
Por un momento, ignoremos el problema de continuo/discreto. Básicamente, la correlación mide la fuerza de la relación lineal entre variables, y pareces estar buscando una forma alternativa de medir la fortaleza de la relación. Podrías estar interesado en examinar algunas ideas de teoría de la información. Específicamente, creo que te gustaría revisar la información mutua. La información mutua te da básicamente una forma de cuantificar cuánto saber el estado de una variable te dice acerca de la otra variable. De hecho, creo que esta definición se acerca más a lo que la mayoría de la gente quiere decir cuando piensa en correlación.
Para dos variables discretas X e Y, el cálculo es el siguiente: $$I(X;Y) = \sum_{y \in Y} \sum_{x \in X} p(x,y) \log{ \left(\frac{p(x,y)}{p(x)\,p(y)} \right) }$$
Para dos variables continuas, integramos en lugar de sumar: $$I(X;Y) = \int_Y \int_X p(x,y) \log{ \left(\frac{p(x,y)}{p(x)\,p(y)} \right) } \; dx \,dy$$
Tu caso particular es para una variable discreta y una continua. 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 tu variable continua en intervalos discretos.
Hay varias formas de discretizar datos (por ejemplo, intervalos iguales), y creo que el paquete de entropía debería ser útil para los cálculos de MI si deseas usar R.
Gracias. Pero ¿qué tan alto es un MI correspondiente a corr=1 y qué tan bajo es un MI correspondiente a corr=0?
Si la variable categórica es ordinal y divides la variable continua en unos pocos intervalos de frecuencia, puedes usar Gamma. También disponibles para datos emparejados puestos en forma ordinal están el tau de Kendall, el tau de Stuart y el D de Somers. Todos estos están disponibles en SAS usando Proc Freq
. No sé cómo se calculan usando funciones de 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,Measures de Asociación para Variables Nominales y Ordinales
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 tal variable es invariante al cambio de etiquetas de 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, cualquier medida de la relación entre una variable continua y una variable categórica debe basarse completamente en las variables indicadoras derivadas de esta última.
Dado que desea una medida de 'correlación' entre las dos variables, tiene sentido mirar la correlación entre una variable aleatoria continua $X$ y una variable aleatoria indicadora $I$ derivada de una variable categórica. Si dejamos $\phi \equiv \mathbb{P}(I=1)$, tenemos:
$$\mathbb{Cov}(I,X) = \mathbb{E}(IX) - \mathbb{E}(I) \mathbb{E}(X) = \phi \left[ \mathbb{E}(X|I=1) - \mathbb{E}(X) \right] ,$$
lo cual da lugar a:
$$\mathbb{Corr}(I,X) = \sqrt{\frac{\phi}{1-\phi}} \cdot \frac{\mathbb{E}(X|I=1) - \mathbb{E}(X)}{\mathbb{S}(X)} .$$
Entonces, la correlación entre una variable aleatoria continua $X$ y una variable aleatoria indicadora $I$ es una función bastante simple de la probabilidad indicadora $\phi$ y la ganancia estandarizada en el valor esperado de $X$ al condicionar en $I=1$. Nota que esta correlación no requiere ninguna discretización de la variable aleatoria continua.
Para una variable categórica general $C$ con rango $1, ..., m$, simplemente extenderíamos esta idea para tener un vector de valores de correlación para cada resultado de la variable categórica. Para cualquier resultado $C=k$, podemos definir el indicador correspondiente $I_k \equiv \mathbb{I}(C=k)$ y tendríamos:
$$\mathbb{Corr}(I_k,X) = \sqrt{\frac{\phi_k}{1-\phi_k}} \cdot \frac{\mathbb{E}(X|C=k) - \mathbb{E}(X)}{\mathbb{S}(X)} .$$
Luego podemos definir $\mathbb{Corr}(C,X) \equiv (\mathbb{Corr}(I_1,X), ..., \mathbb{Corr}(I_m,X))$ como el vector de valores de correlación para cada categoría de la variable aleatoria categórica. Esta es realmente la única forma en que tiene sentido hablar de 'correlación' para una variable aleatoria categórica.
(Nota: Es trivial demostrar que $\sum_k \mathbb{Cov}(I_k,X) = 0$ y por lo tanto el vector de correlación para una variable aleatoria categórica está sujeto a esta restricción. Esto significa que conociendo el vector de probabilidad para la variable aleatoria categórica, y la desviación estándar de $X$, puedes derivar el vector a partir de cualquier $m-1$ de sus elementos.)
La exposición anterior es para los valores de correlación reales, pero obviamente estos deben estimarse en un análisis dado. Estimar las correlaciones indicadoras a partir de datos de muestra es simple, y puede hacerse mediante la sustitución de estimaciones apropiadas para cada una de las partes. (Podrías utilizar métodos de estimación más sofisticados si así lo prefieres). Dados los datos de muestra $(x_1, c_1), ..., (x_n, c_n)$ podemos estimar las partes de la ecuación de correlación como:
$$\hat{\phi}_k \equiv \frac{1}{n} \sum_{i=1}^n \mathbb{I}(c_i=k).$$
$$\hat{\mathbb{E}}(X) \equiv \bar{x} \equiv \frac{1}{n} \sum_{i=1}^n x_i.$$
$$\hat{\mathbb{E}}(X|C=k) \equiv \bar{x}_k \equiv \frac{1}{n} \sum_{i=1}^n x_i \mathbb{I}(c_i=k) \Bigg/ \hat{\phi}_k .$$
$$\hat{\mathbb{S}}(X) \equiv s_X \equiv \sqrt{\frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})^2}.$$
La substitución de estas estimaciones daría una estimación básica del vector de correlación. Si tienes información paramétrica sobre $X$, entonces podrías estimar directamente el vector de correlación mediante máxima verosimilitud u alguna otra técnica.
Gracias por tu respuesta. No tengo un fuerte fondo en estadísticas, pero ¿hay alguna garantía $\hat{\mathbb{E}}(X\vert C=k)\geq \hat{\mathbb{E}}(X)$ (lo que hace que la correlación no sea negativa)? Implementé tu enfoque con algunos datos sintéticos, y resulta que algunas correlaciones son negativas. No estoy seguro si mi implementación es correcta. ¿Sería posible proporcionar un ejemplo numérico en tu respuesta?
No hay garantía de que la correlación sea no negativa, así que no te preocupes si estás obteniendo algunos valores negativos. Para fines de verificación de errores, debes tener presente que la correlación está entre $-1$ y $1$ (así que si estás obteniendo valores fuera de ese rango entonces algo ha salido mal).
Si $X$ es una variable aleatoria continua y $Y$ es una variable aleatoria categórica, la correlación observada entre $X$ y $Y$ se puede medir por
Se debe tener en cuenta, sin embargo, que la correlación punto-poliserial es solo una generalización de la punto-biserial.
Para una visión más amplia, aquí hay una tabla de Olsson, Drasgow & Dorans (1982)[1].
[1]: Fuente: Olsson, U., Drasgow, F., & Dorans, N. J. (1982). The polyserial correlation coefficient. Psychometrika, 47(3), 337–347
El paquete R
mpmi
tiene la capacidad de calcular información mutua para el caso de variables mixtas, es decir, continuas y discretas. Aunque existen otras opciones estadísticas como el coeficiente de correlación (punto) biserial que podrían ser útiles, sería beneficioso y muy recomendable calcular la información mutua ya que puede detectar asociaciones diferentes a las lineales y monótonas.
I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.
1 votos
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 correlación.
3 votos
@Tomás, si haces eso, la fuerza estimada de la relación depende de cómo hayas decidido etiquetar los puntos, ¡lo cual es un poco aterrador :)
0 votos
@Macro, ¡tienes razón - otro argumento sólido para tener una buena definición!
0 votos
@Macro A menos que haya entendido mal tu punto, no. La correlación es insensible a las transformaciones lineales. Por lo tanto, cor(X,Y) = cor(a+bX,Y) para a finito y b. El cambio de etiqueta de un 0/1 a 1/11 no afecta las correlaciones utilizando esa variable o su transformación lineal.
0 votos
@Curious mira mi comentario a Macro arriba. Y nota: (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!