Software para una exploración de datos fácil pero robusta

20

En mis intentos de luchar contra el caos de las hojas de cálculo, a menudo soy evangélico al presionar por herramientas más robustas, como un verdadero software de estadísticas (R, Stata y similares). Recientemente, fui desafiado en esta opinión por alguien que declaró rotundamente que simplemente no aprenderán a programar. Me gustaría proporcionarles herramientas de análisis de datos que no requieren programación (pero idealmente que se extenderían a la programación si deciden sumergir un dedo del pie en el agua más adelante). ¿Qué paquetes existen para la exploración de datos que puedo recomendar con una cara seria?

Ari B. Friedman
fuente
55
@ gsk3: pregunta interesante. Me imagino que este "programaphobe" no tiene que lidiar con las complicadas hojas de cálculo. ¿Quizás le gustaría estar a la altura de su ideología y ser voluntario para hacer el trabajo duro con las hojas de cálculo? :)
probabilityislogic
@probabilityislogic: El "programaphobe" se ocupa de ellos una vez que causan problemas, pero tiene una gran cantidad de trucos para lidiar con los resultados. He intentado los argumentos clásicos de la hoja de cálculo en vano (bueno, algunos en vano, ¡ya que están dispuestos a considerar este estilo de solución!).
Ari B. Friedman
@ gsk3 - ah ja, entonces no es el programa el problema en sí, pero esta persona ya no será "la experta" y tendrá que comenzar desde abajo.
probabilityislogic
2
@probabilityislog: creo que los costos hundidos son una gran parte del problema, sí. Sin duda, algunos de esos costos son sociales, y algunos de ellos son pérdidas de tiempo y eficiencia mientras aprenden la nueva forma de hacer las cosas.
Ari B. Friedman
3
Creo que este cómic podría ser una representación adecuada de la situación. Si la persona a la que se refiere está totalmente en contra de la programación, esta puede ser una preferencia demasiado fuerte para ir en contra. Una mejor estrategia podría ser señalar las deficiencias del análisis basado en hojas de cálculo. Intente, por ejemplo, en un nuevo archivo de Excel para ingresar valores y11116 y sumarlos (esto funciona en Excel 2007). Luego explique que ningún paquete estadístico respetuoso proporcionará un error similar sin ninguna advertencia y trabajará a partir de eso. 114
mpiktas

Respuestas:

7

Programa en Python para el 95% de mi trabajo y el resto en R o MATLAB o IDL / PV-WAVE (y pronto SAS). Pero, estoy en un entorno donde el tiempo para obtener resultados es a menudo un gran impulsor del análisis elegido, por lo que a menudo también uso herramientas de apuntar y hacer clic. En mi experiencia, no existe una herramienta GUI única, robusta y flexible para hacer análisis, al igual que no hay un solo lenguaje. Por lo general, creo una colección del siguiente software gratuito y comercial

No he usado JMP, Stata, Statistica, etc., pero me gustaría.

El uso de estas herramientas implica aprender diferentes interfaces gráficas de usuario y múltiples abstracciones de modelado, lo cual es un dolor en ese momento pero me permite obtener resultados ad hoc más rápidos más adelante. Estoy en el mismo barco que el OP porque, aunque la mayoría de las personas con las que trabajo son realmente inteligentes, no les importa aprender un idioma, ni múltiples interfaces gráficas de usuario y terminología específica de la aplicación. Entonces, me resigné a aceptar que Excel impulsa el 90% del análisis en el mundo de los negocios. En consecuencia, estoy buscando usar cosas como pyinex para permitirme proporcionar mejores análisis a la misma capa de presentación de Excel que la gran mayoría de mis colegas esperan.

ACTUALIZACIÓN: Continuando con el tema Hacer-modelar-con-programación-pero-hacer-Excel-la-capa-presentación, acabo de encontrar el sitio web de este tipo que ofrece gráficos de estilo Tufte para incrustar en celdas de Excel. Simplemente impresionante y gratis!

Josh Hemann
fuente
1
Diré que JMP es bastante bueno. Incluso si uno es muy competente en R, hay momentos en que JMP es una forma más rápida de navegar y analizar datos.
Iterator
8

En cuanto al análisis de datos exploratorio (posiblemente interactivo), sugeriría echar un vistazo a:

  • Weka , originalmente se dirige a aplicaciones de minería de datos, pero puede usarse para resúmenes de datos.
  • Mondrian , para visualización interactiva de datos.
  • KNIME , que se basa en la idea de crear flujos de datos y es compatible con Weka y R.

Los tres aceptan datos en arffo csvformato.

En mi opinión, Stata no requiere tanta experiencia en programación. Esto es incluso parte de su atractivo, de hecho: la mayoría de los análisis básicos se pueden realizar mediante acciones de usuario de apuntar y hacer clic, con cuadros de diálogo para personalizar parámetros específicos, por ejemplo, para la predicción en un modelo lineal. Lo mismo se aplica, aunque en menor medida, a R cuando usa GUI externas como Rcmdr , Deducer, etc., como dice @ gsk3.

chl
fuente
+1 para Stata. Puede hacer todo lo básico mediante apuntar y hacer clic, pero también escupe el comando que generó apuntar y hacer clic para que pueda aprenderlo / modificarlo. También es similar a una hoja de cálculo en la forma en que interactúa con sus datos, aunque, por supuesto, no coloca fórmulas en las celdas.
Wayne
8

Algunas personas piensan que la programación es simplemente ingresar una instrucción de línea de comando. En ese momento, tal vez estés un poco perdido en alentarlos. Sin embargo, si ya están usando hojas de cálculo, entonces ya tienen que ingresar fórmulas. Estos son similares a las declaraciones de línea de comando. Si realmente quieren decir que no quieren hacer ninguna programación en el sentido del análisis lógico y automatizado, entonces puede decirles que aún pueden hacer los análisis en R o Stata sin ninguna programación.

Si pueden hacer sus estadísticas en la hoja de cálculo ... todo lo que quieren hacer ... entonces todos los análisis estadísticos que desean realizar se pueden hacer sin 'programar' en R o Stata también. Podrían organizar y organizar los datos en la hoja de cálculo y luego simplemente exportarlos como texto. Luego, el análisis se lleva a cabo sin ninguna programación.

Así es como hago la introducción a R a veces. No se requiere programación para hacer el análisis de datos que podría hacer en una hoja de cálculo.

Si los engancha de esa manera, simplemente enrolle el pescado lentamente ... :) En un par de años, felicítelos por el buen programador en el que se han convertido.

También es posible que desee mostrar este documento a sus colegas o al menos leerlo usted mismo para comprender mejor sus puntos.

John
fuente
1
Buenos puntos, pero hay algunas advertencias aquí: Excel tiene información sobre herramientas que aparece al ingresar una fórmula en una celda, por lo que es mucho más fácil "programar" tareas simples. Además, es probable que la persona que está a tu lado pueda ayudarte si te atascas, ya que hay muchos usuarios avanzados de Excel. Y, Excel viene instalado. Convencer a alguien para que pruebe R implica ayudarlo a configurarlo y aprender a aprovechar el software de código abierto (y en qué foros buscar, cuál de los innumerables paquetes de arranque debería usarse, etc.). La programación es, en cierto sentido, la parte fácil. Es el ecosistema que es la parte difícil.
Josh Hemann el
Además, no hay problemas de formato real en Excel ... En R a veces un paquete usa xts, otro data.frames ... es un desastre para un novato, eso es cierto
RockScience
Primero, estoy de acuerdo en que puede haber problemas en el formato de datos, pero tenga en cuenta que mi respuesta fue calificada como un análisis que ya podría hacerse en una hoja de cálculo. Eso no es un análisis muy variado y generalmente estaría bajo un formato de datos.
John
Hay algo más de gastos generales en la "programación" con R que con Excel, y estas son las cosas que vuelven locos a los usuarios. Si R tuviera una GUI de primer nivel similar a una tabla dinámica, tal vez. Pero hasta entonces ...
Ralph Winters
8

Voy a poner un lanzamiento aquí para JMP. Tengo un par de razones por las cuales es mi herramienta preferida de exploración de datos sin programación:

  1. Muy buenas herramientas de visualización. Las tramas de tipo EDA más básicas, son tan buenas como R y considerablemente más fáciles de usar para producir algo que se aproxime a una trama lista para publicación. También tiene algunas herramientas de visualización extremadamente flexibles, por lo que puede girar y doblar sus datos para obtener la historia completa.
  2. Sorprendentemente poderoso. Me tomó hasta mi ... cuarto año de posgrado encontrar algo que JMP no podía hacer de inmediato. No esta mal.
  3. Scriptability. Esto es una gran cosa para mí. La principal debilidad de las GUI es que es muy difícil replicar lo que hiciste. JMP le permite escribir la GUI, y generar esas secuencias de comandos es bastante sencillo.
Fomite
fuente
+1 para JMP. Es la mejor interfaz gráfica de usuario básica que he usado.
Zach
1
De acuerdo (bien con el punto 1). De alguna manera, es incluso mejor que R para las cosas de EDA, y se puede insertar muy bien en un flujo de trabajo iterativo. Si uno ya está trabajando sin R, entonces JMP es una forma razonable de trabajar sin agregar R. Debido a que también puede vincularse a R, un programador de R puede crear herramientas que luego se conectan a JMP, permitiendo que el usuario Eloi, errr, continúe creer que todo es dandy.
Iterator
6

Puedo recomendar Tableau como una buena herramienta para la exploración y visualización de datos, simplemente por las diferentes formas en que puede explorar y ver los datos, simplemente arrastrando y soltando. Los gráficos son bastante nítidos y puede exportarlos fácilmente a PDF para fines de presentación. Si lo desea, puede ampliarlo con algo de "programación". Regularmente uso esta herramienta junto con "R" y SAS y todos funcionan bien juntos.

Ralph Winters
fuente
3

Como dijo John, la exploración de datos no requiere mucha programación en R. Aquí hay una lista de comandos de exploración de datos que puede dar a las personas. (Se me ocurrió esto; seguramente puedes expandirlo).

Exporte los datos de cualquier paquete en el que se encuentre. (Exportar datos numéricos sin comillas es conveniente). Luego lea los datos en R.

ChickWeight=read.csv('chickweight.csv')

Hacer una mesa.

table(ChickWeight$Diet)

Deje que R adivine qué tipo de gráfico le dará. A veces funciona muy bien.

plot(ChickWeight)
plot(ChickWeight$weight)
plot(ChickWeight$weight~ChickWeight$Diet)

Un montón de funciones de trazado específicas funcionan de manera bastante simple en variables individuales.

hist(ChickWeight$weight)

Tomando subconjuntos

plot(subset(ChickWeight,Diet=='2'))

Sintaxis similar a SQL en caso de que la gente esté acostumbrada a eso (más aquí )

library(sqldf)
plot(sqldf('select * from ChickWeight where Diet == "2"'))

PCA (tendrías más de dos variables, por supuesto).

princomp(~ ChickWeight$weight + ChickWeight$Time)
Thomas Levine
fuente
3

Esto es más un lamento que una respuesta ...

El mejor software que he visto para esto es Arc , que está construido sobre Xlisp-Stat. Es un software fantástico para la exploración de datos con muchos gráficos interactivos integrados, así como muchas capacidades de inferencia estadística. En mi opinión, nada más se ha acercado a su facilidad de uso para la exploración de datos y la capacidad de ampliarlo aún más con la programación Lisp. En mi opinión, la interactividad en R está comenzando a ser utilizada de manera similar a Arc, diez largos años después. Y hasta donde yo sé, nadie ha usado estas capacidades para construir una interfaz interactiva que sea tan útil como Arc.

Desafortunadamente, nunca se dio cuenta, por lo que los desarrolladores han cambiado casi a trabajar en R; se actualizó por última vez en julio de 2004. Las versiones para PC y Linux / Unix aún funcionan y puede que valga la pena intentarlo, según sus necesidades; para Mac, la mejor opción es probar la versión de Linux / Unix bajo X11, así lo he hecho funcionar en un par de sistemas. La versión para Mac mencionada en el sitio solo funciona en Mac "Classic".

También mencionaré brevemente a Mondrian , que solo he intentado brevemente, pero parece tener una excelente interactividad gráfica para la exploración de datos, aunque (según recuerdo) no hay una manera fácil de extender las habilidades o hacer inferencia estadística.

Aaron - Restablece a Monica
fuente
No había oído hablar de Arc, pero voy a echarle un vistazo. Gracias.
Ari B. Friedman
1
(+1) Es bueno saber del mundo de Lisp nuevamente. También soy fanático de xlispstat (y aprecio que Luke Tierney esté siendo tan activo en el proyecto R).
chl
3

Un nuevo sistema de software que parece prometedor para este propósito es Deducer , construido sobre R. Lamentablemente, al ser nuevo, sospecho que aún no cubre la amplitud de preguntas que la gente podría hacer, pero cumple con los requisitos. -criterio sobre el agua de llevar a las personas hacia un verdadero paquete si así lo deciden más adelante.

También he usado JMP en el pasado, que tenía una buena interactividad. Me preocupa que parte de la interfaz pueda ser demasiado complicada para estos fines. Y no es gratis, lo que hace que sea más difícil para los posibles refugiados de hojas de cálculo probar por capricho.


También hay sonajero que parece algo prometedor.

Ari B. Friedman
fuente
Con respecto a JMP: si no me equivoco, hay versiones de prueba y licencias académicas que están dentro de lo razonable.
Iterator
3

Para explorar qué datos contienen y limpiarlos, el antiguo Google Refine, ahora Open Refine , es una GUI bastante buena. Es mucho más poderoso para la preparación y limpieza que algo como Excel. Luego cambie a algo como R-Commander para sus análisis.

John
fuente
2

Cualquiera que responda R, o cualquiera de sus "GUI" no leyó la pregunta.

Hay un programa diseñado específicamente para esto y se llama JMP. Sí, es costoso, aunque tiene una versión de prueba gratuita y es increíblemente barato para los estudiantes o el personal de la universidad (como $ 50 baratos).

También está RapidMiner, que es una GUI basada en flujo de trabajo para minería de datos y análisis estadístico. Es gratis y de código abierto.

Neil McGuigan
fuente
1
@Neil ¿Por qué es así? El OP especificó "pero idealmente lo que se extendería a la programación ...". R se ha conectado a casi todo el software estadístico comercial (p. Ej., SPSS, JMP, Statistica) o gratuito (Knime, Rapidminer) y Rserve se puede utilizar como back-end para comunicarse con R (p. Ej., Con el software plink para estudios genéticos), y se usa para este propósito. La versión de prueba gratuita de JMP no le permite trabajar con conjuntos de datos externos, ¿me equivoco? (Curiosamente, todos los que respondimos R, y un software alternativo , fueron rechazados)
Chl
Me gusta R y estoy a favor, pero las personas que quieren aprender estadísticas / minería de datos y no saben cómo programar realmente no pueden usarlo. y he jugado con todas sus guis y son simplemente horribles en comparación con jmp. Estoy esperando el día en que R obtenga una interfaz gráfica de usuario como jmp, entonces todo estará bien en el universo.
Neil McGuigan el
-1 por sugerencia de que las personas no leen las preguntas antes de responder y por no proporcionar ningún argumento real de por qué R es peor que JMP o RapidMiner. Tenga en cuenta que, en general, estoy de acuerdo en que R no es una respuesta a todo, pero este tema es un poco contradictorio con el potencial de ponerse realmente desagradable. De ahí el voto negativo.
mpiktas
R es genial, pero no es fácil. Eso es lo que pidió en el título.
Neil McGuigan el
@Neil, sí, pero puede argumentar que no existe la exploración de datos fácil pero robusta.
mpiktas
1

Bueno, esta herramienta en particular es popular en mi industria (aunque no es específica de la industria por diseño): http://www.umetrics.com/simca

Le permite hacer análisis multivariados de tipo variable latente (PCA y PLS), e incluye todos los gráficos / cálculos interpretativos concomitantes y herramientas de interrogación como gráficos de contribución, gráficos de importancia variable, cálculos Q2, etc.

A menudo se usa en conjuntos de datos industriales de alta dimensión (y a menudo altamente correlacionados / colineales) donde los métodos de tipo OLS / MLR no son adecuados (por ejemplo, información de una carga de sensores, información de registro, etc.).

Funciona en un entorno totalmente GUI, y el usuario no tiene que escribir una sola línea de código. Lamentablemente, no es gratuito y no se puede ampliar a través de la programación.

Galaad
fuente
1

En mi opinión, si no codificas la prueba, eres propenso a errores y malentendidos de los resultados.

Creo que debería recomendarles que contraten a un estadístico que tenga conocimientos de informática.

Si se trata de hacer siempre lo mismo, entonces, de hecho, puede usar una pequeña herramienta (caja negra) que hará las cosas. Pero no estoy seguro de que esto todavía se llame exploración de datos.

RockScience
fuente
1
Estoy más o menos de acuerdo con el sentimiento, pero no creo que esta visión de alto nivel sea realmente posible en muchos entornos.
Ari B. Friedman
1

Recomendaría el paquete R de John Fox llamado R commander:

http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/

Crea una interfaz de usuario similar a SPSS (o similar) que es excelente para principiantes y no requiere que el usuario ingrese ningún código. Todo se hace a través de cuadros desplegables (incluso puede minimizar la consola R mientras trabaja).

Para mí, el beneficio de este paquete es que puede aprovechar toda la gran capacidad computacional de R mientras tiene una interfaz de usuario que es completamente operativa para principiantes.

Capitán murphy
fuente
1

Otra herramienta útil, aunque solo para Windows, es Spotfire : me pareció bastante útil para observar rápidamente varios histogramas y diagramas de dispersión para variables únicas y pares. Una herramienta de investigación que lo ayuda a clasificar las variables individuales y los pares basados ​​en estadísticas simples: el Explorador de agrupación jerárquica de HCIL. Es bueno para encontrar las variables / pares de variables más interesantes.

linxoide
fuente