Estoy analizando un conjunto de datos con muchos parámetros (por ejemplo, 50-200) y estoy interesado en analizar las relaciones entre las variables (por ejemplo, en términos de gráficos de dispersión de 2 variables o histogramas 2D). Sin embargo, para este número de parámetros, parece inviable dibujar una matriz de parcelas de 200x200 (a menos que lo imprima y lo cuelgue en una pared).
Por otro lado, hacer solo una matriz de correlación no proporciona toda la información sobre las relaciones de 2 variables.
¿Hay alguna manera (biblioteca o flujo de trabajo) para explorar las relaciones de 2 variables para muchas variables?
Estoy especialmente interesado en mostrar resultados a otros (quizás después de un preprocesamiento de datos). Por ejemplo, algo interactivo en JavaScript, donde puedo ver la matriz de diagrama de dispersión para los campos seleccionados de una matriz de correlación.
Por matriz de dispersión quiero decir algo así:
(tomado del blog de pandasplotting ; disponible en Python / Pandas , R , D3.js , etc.).
fuente
Respuestas:
Explorar las relaciones entre variables es bastante vago, pero supongo que dos de los objetivos más generales de examinar diagramas de dispersión como este son;
Ambos reducen los datos a resúmenes más manejables, pero tienen objetivos diferentes. Identifique los grupos latentes, uno generalmente reduce las dimensiones de los datos (por ejemplo, a través de PCA) y luego explora si las variables o los casos se agrupan en este espacio reducido. Ver, por ejemplo, Friendly (2002) o Cook et al. (1995)
La identificación de valores atípicos puede significar ajustar un modelo y trazar las desviaciones del modelo (por ejemplo, trazar los residuos de un modelo de regresión) o reducir los datos en sus componentes principales y solo resaltar los puntos que se desvían del modelo o del cuerpo principal de datos. Por ejemplo, los diagramas de caja en una o dos dimensiones generalmente solo muestran puntos individuales que están fuera de las bisagras (Wickham y Stryjewski, 2013). El trazado de residuos tiene la buena propiedad de que debería aplanar las parcelas (Tukey, 1977), por lo que cualquier evidencia de relaciones en la nube de puntos restante es "interesante". Esta pregunta en CV tiene algunas sugerencias excelentes para identificar valores atípicos multivariados.
Una forma común de explorar SPLOMS tan grandes es no trazar todos los puntos individuales, sino algún tipo de resumen simplificado y luego puntos que se desvíen en gran medida de este resumen, por ejemplo, puntos suspensivos de confianza, resúmenes escagnósticos (Wilkinson y Wills, 2008), bivariado diagramas de caja, diagramas de contorno. A continuación se muestra un ejemplo de trazado de elipses que definen la covarianza y la superposición de un loess más suave para describir la asociación lineal.
(fuente: statmethods.net )
De cualquier manera, una trama exitosa e interactiva con tantas variables probablemente necesitaría una clasificación inteligente (Wilkinson, 2005) y una forma simple de filtrar las variables (además de las capacidades de cepillado / enlace). Además, cualquier conjunto de datos realista debería tener la capacidad de transformar el eje (por ejemplo, trazar los datos en una escala logarítmica, transformar los datos tomando raíces, etc.). ¡Buena suerte y no te quedes con una sola trama!
Citas
fuente
Podría considerar el uso de la interfaz brillante del paquete pairD3 R, que proporciona una forma de interactuar con las matrices de gráficos de dispersión.
Un ejemplo con el conjunto de datos de iris:
Fuente: https://github.com/garthtarr/pairsD3
fuente