Читать книгу Estadística práctica para ciencia de datos con R y Python - Peter Bruce - Страница 43
Correlación
ОглавлениеEl análisis exploratorio de datos en muchos proyectos de modelado (ya sea en ciencia de datos o en investigación) implica examinar la correlación entre predictoras y entre predictoras y una variable objetivo. Se dice que las variables X e Y (cada una con datos registrados) están correlacionadas positivamente si los valores altos de X acompañan a los valores altos de Y, y los valores bajos de X acompañan a los valores bajos de Y. Si los valores altos de X acompañan a los valores bajos de Y, y viceversa, las variables están correlacionadas negativamente.
Términos clave de la correlación
Coeficiente de correlación
Métrica que mide el grado en que las variables numéricas están asociadas entre sí (varía de –1 a +1).
Matriz de correlación
Tabla en la que las variables se muestran tanto en filas como en columnas, y los valores de las celdas son las correlaciones entre las variables.
Diagrama de dispersión
Diagrama en el que el eje x es el valor de una variable y el eje y es el valor de otra.
Consideremos estas dos variables, perfectamente correlacionadas en el sentido de que cada una va de menor a mayor:
La suma vectorial de los productos es 1 · 4 + 2 · 5 + 3 · 6 = 32. Ahora intentemos barajar una de ellas y volvamos a hacer el cálculo. La suma vectorial de productos nunca será mayor que 32. Por lo tanto, esta suma de productos podría utilizarse como métrica. Es decir, la suma observada de 32 podría compararse con muchas mezclas aleatorias (de hecho, esta idea se relaciona con una estimación basada en el remuestreo. Consultar "Prueba de permutación" en la página 97). Sin embargo, los valores generados por esta métrica no son tan importantes, excepto en lo referente a la distribución del remuestreo.
Más útil es una variante estandarizada: el coeficiente de correlación (correlation coefficient), que proporciona una estimación de la correlación entre dos variables que siempre tienen la misma escala. Para calcular el coeficiente de correlación de Pearson (Pearson’s correlation coefficient), multiplicamos las desviaciones de la media de la variable 1 por las de la variable 2 y las dividimos por el producto de las desviaciones estándar:
Hay que tener en cuenta que dividimos por n – 1 en lugar de n. Consultar "Grados de libertad, y ¿n o n – 1?" en la página 15 para ampliar detalles. El coeficiente de correlación siempre se encuentra entre +1 (correlación positiva perfecta) y –1 (correlación negativa perfecta). El 0 indica que no hay correlación.
Las variables pueden tener una asociación no lineal, en cuyo caso el coeficiente de correlación puede no ser una métrica útil. La relación entre las tasas impositivas y los ingresos recaudados es un ejemplo: a medida que las tasas impositivas aumentan desde cero, los ingresos recaudados también aumentan. Sin embargo, una vez que las tasas impositivas alcanzan un nivel alto y se acercan al 100%, la evasión fiscal aumenta y los ingresos fiscales en realidad disminuyen.
La tabla 1.7, denominada matriz de correlación (correlation matrix), muestra la correlación entre las rentabilidades diarias de las acciones de telecomunicaciones desde julio de 2012 hasta junio de 2015. En la tabla, podemos ver que Verizon (VZ) y ATT (T) tienen la correlación más alta. Level 3 (LVLT), que es una empresa de infraestructuras, tiene la correlación más baja con las demás. Hay que tener en cuenta la diagonal de 1s (la correlación de una acción consigo misma es 1) y la redundancia de la información por encima y por debajo de la diagonal.
Tabla 1.7 Correlación entre la rentabilidad de las acciones de telecomunicaciones
Por lo general, se presenta una tabla de correlaciones como la tabla 1.7 para mostrar visualmente la relación entre múltiples variables. La figura 1.6 muestra la correlación entre las rentabilidades diarias de los principales fondos cotizados en bolsa (ETF). En R, podemos crear esta figura fácilmente usando el paquete corrplot:
Es posible crear el mismo gráfico con Python, pero no hay ninguna implementación en los paquetes convencionales. Sin embargo, la mayoría soporta la visualización de matrices de correlación mediante mapas de calor. El siguiente código lo realiza haciendo uso del paquete seaborn.heat map. En el repositorio de código fuente adjunto, incluimos código Python para generar una visualización más completa:
Los ETF para el S&P 500 (SPY) y el Índice Dow Jones (DIA) tienen una alta correlación. Del mismo modo, el QQQ y el XLK, compuestos en su mayoría por empresas de tecnología, están correlacionados positivamente. Los ETF defensivos, como los que rastrean los precios del oro (GLD), los precios del petróleo (USO) o la volatilidad del mercado (VXX), tienden a tener una correlación débil o negativa con los otros ETF. La orientación de la elipse indica si dos variables están correlacionadas positivamente (la elipse apunta hacia la parte superior derecha) o correlacionados negativamente (la elipse apunta hacia la parte superior izquierda). El sombreado y la anchura de la elipse indican la fuerza de la asociación: las elipses más delgadas y más oscuras corresponden a relaciones más fuertes (figura 1.6).
Figura 1.6 Correlación entre rentabilidades de ETF.
Al igual que la media y la desviación estándar, el coeficiente de correlación es sensible a valores extremos en los datos. Los paquetes de software ofrecen alternativas robustas al coeficiente de correlación clásico. Por ejemplo, el paquete robust de R (https://cran.rproject.org/web/packages/robust/robust.pdf) utiliza la función covRob para calcular una estimación robusta de correlación. Los métodos sklearn.covariance (https://scikitlearn.org/stable/modules/classes.html#module-sklearn.covariance) del módulo scikitlearn implementan diversos enfoques.