Primer vistazo rápido a un conjunto de datos


10

Por favor, perdona mi ignorancia, pero ...

Sigo encontrándome en una situación en la que me enfrento a un montón de datos nuevos que pude encontrar. Estos datos generalmente se ven así:

Date     Number1  Number2  Category1  Category2
20120125      11      101        Dog      Brown
20120126      21       90        Cat      Black
20120126      31      134        Cat      Brown
(...)

Por lo general, a primera vista, realmente no puedo decir si hay alguna tendencia aquí. Las correlaciones entre las distintas columnas pueden no ser muy significativas, pero estaría encantado si no tuviera que crear manualmente un gráfico para cada combinación posible de columnas / categorías.

¿Existe alguna herramienta que acepte una tabla de datos junto con información sobre qué columnas deben tratarse como números, fechas y categorías y luego proceder a trazar:

  • correlaciones entre cada dos columnas numéricas
  • correlaciones entre cada dos columnas numéricas, con líneas de tendencia separadas para cada categoría
  • cada columna numérica como una serie de tiempo,
  • cada columna numérica como una serie de tiempo, separada por categoría,
  • etc.

Al final, esto generaría una gran cantidad de tramas, la mayoría de las cuales mostrarían solo ruido. Idealmente, la herramienta podría puntuar las gráficas por correlación y, al final, mostrar una presentación de diapositivas comenzando con las gráficas de mayor puntuación. Esta sería una primera mirada muy imperfecta, pero útil al conjunto de datos.

¿Entonces? ¿Existe una herramienta que todos usen para esto y simplemente no lo sé, o es algo que debemos hacer?


Muchas gracias a todos por sus respuestas. Me estoy tomando mi tiempo para probar cada una de las herramientas que mencionas en mis datos. Elegiré una respuesta después de mis exámenes. Supongo que es una pena que no pueda elegir más de uno :)
postracional

Respuestas:


15

@Ondrej y @Michelle han proporcionado buena información aquí. Me pregunto si puedo contribuir abordando algunos puntos no mencionados en otra parte. No me castigaría por no poder obtener mucho de los datos en forma tabular, las tablas generalmente no son una muy buena forma de presentar información (cf. Gelman et al., Convertir tablas en gráficos ). Por otro lado, pedir una herramienta que genere automáticamente todos los gráficos correctos para ayudarlo a explorar un nuevo conjunto de datos es casi como pedir una herramienta que piense por usted. (No lo tome de la manera incorrecta, reconozco que su pregunta deja en claro que no irá tan lejos; solo quiero decir que realmente nunca habrá una herramienta así.) Se puede encontrar una buena discusión relacionada con esto aquí .

Habiendo dicho estas cosas, quería hablar un poco sobre los tipos de parcelas que es posible que desee utilizar para explorar sus datos. Las parcelas enumeradas en la pregunta serían un buen comienzo, pero podríamos optimizarlo un poco. Para empezar, hacer "una gran cantidad de gráficos" correlacionando pares de variables podría no ser ideal. Un diagrama de dispersión solo muestra la relación marginal entre dos variables. Las relaciones importantes a menudo se pueden ocultar en alguna combinación de múltiples variables. Entonces, la primera forma de reforzar este enfoque es hacer una matriz de diagrama de dispersiónque muestra todos los diagramas de dispersión por pares simultáneamente. Las matrices de diagrama de dispersión se pueden mejorar de varias maneras: por ejemplo, se pueden combinar con gráficos de densidad de núcleo univariados de la distribución de cada variable, se pueden usar diferentes marcadores / colores para trazar diferentes grupos, y se pueden evaluar posibles relaciones no lineales superponiendo un ajuste de loess. La scatterplot.matrixfunción en el paquete del automóvil en R puede hacer todas estas cosas muy bien (se puede ver un ejemplo a la mitad de la página vinculada anteriormente).

Sin embargo, aunque las matrices de diagrama de dispersión son un buen comienzo, todavía solo muestran las proyecciones marginales. Hay algunas maneras de intentar ir más allá de esto. Una es explorar gráficas tridimensionales usando el paquete rgl en R. Otro enfoque es usar gráficas condicionales; Los coplots pueden ayudar con las relaciones entre 3 o 4 variables simultáneamente. Un enfoque especialmente útil es usar una matriz de diagrama de dispersión interactivamente(aunque esto requerirá más esfuerzo para aprender), por ejemplo, 'cepillando'. El cepillado le permite resaltar un punto o puntos en un cuadro de una matriz y esos puntos se resaltarán simultáneamente en todos los otros cuadros. Al mover el pincel, puede ver cómo cambian todas las variables juntas. ACTUALIZACIÓN: Otra posibilidad que olvidé mencionar es usar un diagrama de coordenadas paralelas . Esto tiene la desventaja de no distinguir su variable de respuesta, pero podría ser útil, por ejemplo, para examinar las correlaciones entre sus variables X.

También quiero felicitarlo por examinar sus datos ordenados por fecha de recopilación. Aunque los datos siempre se recopilan con el tiempo, las personas no siempre hacen esto. Trazar un gráfico lineal es bueno, pero sugeriría que lo complemente con gráficos de autocorrelaciones y autocorrelaciones parciales . En R, las funciones para estos son acfy pacfrespectivamente.

Reconozco que todo esto no responde a su pregunta en el sentido de darle una herramienta que hará todas las tramas automáticamente, pero una implicación es que en realidad no tendría que hacer tantas tramas como teme. , por ejemplo, una matriz de diagrama de dispersión es solo una línea de código. Además, en R, debería ser posible escribir una función / algún código reutilizable para usted que automatizaría en parte parte de esto (p. Ej., Puedo imaginar una función que incluya una lista de variables y un orden de fechas, las clasifique) , aparece una nueva ventana para cada una con gráficos de línea, acf y pacf).


Como siempre, excelentes puntos. :)
Michelle

2
(+1) No te pierdas ggobi y marginal.plotdel paquete latticeExtra .
chl

7

Las correlaciones entre cada par de columnas numéricas se pueden mostrar en una matriz de correlación. No necesita ser puramente numérico, puede estar codificado por colores, para permitir una evaluación rápida. Consulte el paquete corrplot para R.

Para un análisis más detallado, Rattle es una herramienta GUI bastante útil.

Si busca en Stack Exchange usando las palabras clave "corrplot" o más bien "Rattle", encontrará varios temas en los que se cubren estas herramientas y sus alternativas. Al igual que éste .

¡Buena suerte!


4

@Ondrej ha dado algunos buenos consejos, por lo que me centraré en su pregunta sobre cómo el software trata los datos importados. Con los datos de caracteres, "Categoría 1" y "Categoría 2", el software los trata automáticamente como grupos o factores porque las operaciones matemáticas no pueden realizarse en estos datos. Esto significa que no podrá ingresar nada de esas categorías (alternativamente, obtendrá un error si lo intenta si está utilizando la sintaxis o una línea de comando en lugar de un sistema controlado por menús) en un análisis que requiere números.

Para datos como su "Número 1" y "Número 2", el software los lee como numéricos. Si tiene grupos / factores que contienen datos puramente numéricos, deberá indicarle a su software que estos son grupos / factores.

A veces las fechas pueden importarse mal en el software estadístico. Una vez que importe sus datos, debería ver que el tipo de datos en su software estadístico muestra algún tipo de "fecha" para "Fecha". Si ve el tipo de datos como algo distinto de la fecha, tiene un problema. Incluso si se muestra como fecha, verifique la importación de algunas filas donde tiene fechas como días como el 13 o 25 del mes, dependiendo de cómo esté configurado el software, a veces el formato de fecha estadounidense / británico hace que los datos sean importados. , debido a la reversión del día / mes.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.