Logiciel pour l'exploration de données simple mais robuste

20

Dans mes tentatives pour lutter contre le chaos des feuilles de calcul, je suis souvent évangélique en plaidant pour des outils plus robustes tels que de vrais logiciels de statistiques (R, Stata, etc.). Récemment, j'ai été contesté sur ce point de vue par quelqu'un qui a déclaré catégoriquement qu'il n'apprendrait tout simplement pas à programmer. Je voudrais leur fournir des outils d'analyse de données qui ne nécessitent aucune programmation (mais idéalement qui s'étendraient à la programmation s'ils décident de plonger un orteil dans l'eau plus tard). Quels packages existe-t-il pour l'exploration de données que je peux recommander avec un visage impassible?

Ari B. Friedman
la source
5
@ gsk3 - question intéressante. J'aurais deviné que ce "programaphobe" n'a pas à gérer les feuilles de calcul compliquées? peut-être qu'il / elle aimerait être à la hauteur de leur idéologie et se porter volontaire pour travailler dur avec les feuilles de calcul elles-mêmes? :)
probabilitéislogic
@probabilityislogic: Le "programaphobe" les traite une fois qu'ils posent des problèmes, mais il a tout un tas d'astuces pour gérer les résultats. J'ai essayé les arguments anti-tableur classiques en vain (enfin, en vain, car ils sont prêts à envisager ce style de solution!).
Ari B. Friedman
@ gsk3 - ah ha, donc ce n'est pas le programme qui est le problème en soi, mais cette personne ne sera plus "l'expert" et devra commencer par le bas?
probabilityislogic
2
@probabilityislog - Je pense que les coûts irrécupérables sont une grande partie du problème, oui. Certains de ces coûts sont sans aucun doute sociaux, et certains sont des pertes de temps et d'efficacité pendant qu'ils apprennent la nouvelle façon de faire les choses.
Ari B. Friedman
3
Je pense que cette bande dessinée pourrait être une représentation appropriée de la situation. Si la personne que vous référez est complètement opposée à la programmation, cela peut être une préférence trop forte pour aller contre. Une meilleure stratégie pourrait être de souligner les lacunes de l'analyse basée sur un tableur. Essayez par exemple dans un nouveau fichier Excel pour saisir des valeurs et11116 et les additionner (cela fonctionne sur Excel 2007). Expliquez ensuite qu'aucun progiciel statistique qui se respecte ne fournira une erreur similaire sans aucun avertissement et travaillera à partir de cela. 114
mpiktas

Réponses:

7

Je programme en Python pour 95% de mon travail et le reste en R ou MATLAB ou IDL / PV-WAVE (et bientôt SAS). Mais, je me trouve dans un environnement où le délai d'obtention des résultats est souvent un moteur important de l'analyse choisie et j'utilise donc souvent des outils de pointage et de clic. D'après mon expérience, il n'y a pas d'outil graphique unique, robuste et flexible pour faire des analyses, tout comme il n'y a pas un seul langage. Je concocte généralement une collection des logiciels gratuits et commerciaux suivants

Je n'ai pas utilisé JMP, Stata, Statistica, etc., mais j'aimerais bien.

L'utilisation de ces outils implique l'apprentissage de différentes interfaces graphiques et de multiples abstractions de modélisation, ce qui est pénible à l'époque, mais permettez-moi d'obtenir des résultats ad hoc plus rapidement plus tard. Je suis dans le même bateau que l'OP parce que si la plupart des gens avec qui je travaille sont vraiment intelligents, ils ne se soucient pas d'apprendre une langue, ni de multiples interfaces graphiques et une terminologie spécifique à l'application. Je me suis donc résigné à accepter qu'Excel génère 90% des analyses dans le monde des affaires. En conséquence, je cherche à utiliser des choses comme pyinex pour me permettre de fournir de meilleures analyses à la même couche de présentation Excel que la grande majorité de mes collègues attendent.

MISE À JOUR: En continuant sur le thème Do-modélisation-avec-programmation-mais-faire-Excel-la-couche de présentation, je suis juste tombé sur le site Web de ce gars offrant des graphiques de style Tufte à incorporer dans des cellules Excel. Tout simplement génial et gratuit!

Josh Hemann
la source
1
Je dirai que JMP est assez bon. Même si l'on est très compétent en R, il y a des moments où JMP est un moyen plus rapide de naviguer et d'analyser les données.
Iterator
8

En ce qui concerne l'analyse exploratoire (éventuellement interactive) des données, je suggère de jeter un œil à:

  • Weka , cible à l'origine les applications d'exploration de données, mais peut être utilisé pour les résumés de données.
  • Mondrian , pour la visualisation interactive des données.
  • KNIME , qui repose sur l'idée de construire des flux de données et est compatible avec Weka et R.

Les trois acceptent les données au format arffou csv.

À mon avis, Stata ne nécessite pas autant d'expertise en programmation. Cela fait même partie de son attrait, en fait: la plupart des analyses de base peuvent être effectuées par des actions utilisateur pointer-cliquer, avec des boîtes de dialogue pour personnaliser des paramètres spécifiques, par exemple, pour la prédiction dans un modèle linéaire. La même chose s'applique, quoique dans une moindre mesure, à R lorsque vous utilisez des interfaces graphiques externes comme Rcmdr , Deducer, etc., comme l'a dit @ gsk3.

chl
la source
+1 pour Stata. Vous pouvez faire toutes les bases via le point-n-clic, mais cela crache également la commande générée par le point-n-clic afin que vous puissiez l'apprendre / la modifier. Il est également semblable à une feuille de calcul dans la façon dont vous vous connectez avec ses données, bien que vous ne placiez pas de formules dans les cellules, bien sûr.
Wayne
8

Certaines personnes pensent que la programmation consiste simplement à saisir une instruction de ligne de commande. À ce moment-là, vous êtes peut-être un peu perdu à les encourager. Cependant, s'ils utilisent déjà des feuilles de calcul, ils doivent déjà saisir des formules. Ils s'apparentent aux instructions de ligne de commande. S'ils signifient vraiment qu'ils ne veulent pas faire de programmation dans le sens d'une analyse logique et automatisée, vous pouvez leur dire qu'ils peuvent toujours faire les analyses dans R ou Stata sans aucune programmation.

S'ils peuvent faire leurs statistiques dans la feuille de calcul ... tout ce qu'ils veulent faire ... alors toutes les analyses statistiques qu'ils souhaitent réaliser peuvent être effectuées sans "programmation" dans R ou Stata. Ils peuvent organiser et organiser les données dans la feuille de calcul, puis les exporter sous forme de texte. Ensuite, l'analyse est effectuée sans aucune programmation.

C'est ainsi que j'introduis parfois R. Aucune programmation n'est requise pour effectuer l'analyse des données que vous pourriez faire dans une feuille de calcul.

Si vous les accrochez de cette façon, enroulez simplement le poisson lentement ... :) Dans quelques années, félicitez-les de leur bon programmeur.

Vous pourriez aussi vouloir montrer ce document à vos collègues ou au moins le lire vous-même pour mieux faire valoir vos points.

John
la source
1
De bons points, mais il y a quelques mises en garde ici: Excel a des info-bulles qui s'affichent lors de la saisie d'une formule dans une cellule et il est donc beaucoup plus facile de "programmer" des tâches simples. En outre, il est probable que la personne à côté de vous puisse vous aider si vous êtes coincé car il existe de nombreux utilisateurs avancés d'Excel. Et, Excel est installé. Convaincre quelqu'un d'essayer R implique de l'aider à le configurer et à apprendre à tirer parti des logiciels open source (et quels forums rechercher, parmi les énormes packages de bootstrap à utiliser, etc.). La programmation est en quelque sorte la partie facile. C'est l'écosystème qui est la partie difficile.
Josh Hemann
De plus, il n'y a pas de vrai problème de formatage dans Excel ... Dans R, parfois un paquet utilise xts, un autre data.frames ... c'est un gâchis pour un débutant, c'est vrai
RockScience
Pour ma part, je suis d'accord qu'il peut y avoir des problèmes dans le formatage des données mais gardez à l'esprit que ma réponse était qualifiée d'analyse qui pouvait déjà être effectuée dans une feuille de calcul. Ce n'est pas beaucoup d'analyses variées et serait généralement sous un seul format de données.
John
Il y a un peu plus de frais généraux dans la "programmation" avec R qu'avec Excel, et ce sont les choses qui rendent les utilisateurs fous. Si R avait une interface graphique de premier ordre semblable à un tableau croisé dynamique, peut-être. Mais jusque-là ...
Ralph Winters
8

Je vais mettre un pitch ici pour JMP. J'ai quelques raisons pour lesquelles c'est mon outil préféré d'exploration de données hors programmation:

  1. De très bons outils de visualisation. Plus les tracés de type EDA les plus basiques, il est aussi bon que R, et considérablement plus facile à utiliser pour produire quelque chose approchant un tracé prêt pour la publication. Il dispose également d'outils de visualisation extrêmement flexibles, vous pouvez donc tordre et plier vos données pour obtenir l'histoire complète.
  2. Étonnamment puissant. Il m'a fallu jusqu'à ma ... 4e année d'études supérieures pour trouver quelque chose que JMP ne pouvait pas faire dès la sortie de la boîte. C'est pas mal.
  3. Scriptabilité. C'est très important pour moi. La principale faiblesse des interfaces graphiques est qu'il est très difficile de reproduire ce que vous avez fait. JMP vous permet de scripter l'interface graphique - et la génération de ces scripts est assez simple et cliquez.
Fomite
la source
+1 pour JMP. C'est le meilleur gui de statistiques de base que j'ai jamais utilisé.
Zach
1
D'accord (bien avec le point # 1). À certains égards, c'est encore mieux que R pour les trucs EDA, et peut être bien inséré dans un flux de travail itératif. Si l'on travaille déjà sans R, alors JMP est un moyen raisonnable de travailler sans ajouter R. Parce qu'il peut également se lier à R, un programmeur R peut créer des outils qui se connectent ensuite à JMP, permettant à l'utilisateur Eloi, errr, de continuer croire que tout est juste dandy.
Iterator
6

Je peux recommander Tableau comme un bon outil pour l'exploration et la visualisation des données, simplement en raison des différentes façons dont vous pouvez explorer et afficher les données, simplement en faisant glisser et en déposant. Les graphiques sont assez nets et vous pouvez facilement les imprimer au format PDF à des fins de présentation. Si vous le souhaitez, vous pouvez l'étendre avec de la "programmation". J'utilise régulièrement cet outil avec "R" et SAS et ils fonctionnent tous bien ensemble.

Ralph Winters
la source
3

Comme l'a dit John, l'exploration de données ne nécessite pas beaucoup de programmation dans R. Voici une liste de commandes d'exploration de données que vous pouvez donner aux gens. (Je viens de trouver cela; vous pouvez sûrement l'étendre.)

Exportez les données depuis le package dans lequel elles se trouvent. (L'exportation de données numériques sans guillemets est pratique.) Lisez ensuite les données dans R.

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

Faites une table.

table(ChickWeight$Diet)

Laissez R deviner quel type de graphique vous donner. Cela fonctionne parfois très bien.

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

Un tas de fonctions de traçage spécifiques fonctionnent tout simplement sur des variables uniques.

hist(ChickWeight$weight)

Prendre des sous-ensembles

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

Syntaxe de type SQL au cas où les gens y seraient habitués (plus ici )

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

PCA (Vous auriez bien sûr plus de deux variables.)

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

C'est plus une complainte qu'une réponse ...

Le meilleur logiciel que j'ai vu pour cela est Arc , qui est construit sur Xlisp-Stat. C'est un logiciel fantastique pour l'exploration de données avec beaucoup de graphiques interactifs intégrés, ainsi que de nombreuses capacités d'inférence statistique. À mon avis, rien d'autre n'a approché sa facilité d'utilisation pour l'exploration de données et sa capacité à l'étendre davantage avec la programmation Lisp. À mon avis, l'interactivité en R commence à peine à être utilisée de manière similaire à Arc, dix longues années plus tard. Et pour autant que je sache, personne n'a encore utilisé ces capacités pour créer une interface interactive qui soit aussi utile qu'Arc.

Malheureusement, cela n'a jamais vraiment pris de l'ampleur, les développeurs sont depuis presque tous passés au travail en R; il a été mis à jour pour la dernière fois en juillet 2004. Les versions PC et Linux / Unix fonctionnent toujours et pourraient valoir la peine d'être essayées, selon vos besoins; pour les Mac, la meilleure option est d'essayer la version Linux / Unix sous X11, je l'ai fait fonctionner sur quelques systèmes de cette façon. La version Mac mentionnée sur le site ne fonctionne que sur les Mac "classiques".

Je mentionnerai également brièvement Mondrian , que je n'ai essayé que brièvement, mais qui semble avoir une excellente interactivité graphique pour l'exploration de données, bien que (si je me souviens bien) pas de moyen facile d'étendre les capacités ou de faire des inférences statistiques.

Aaron - Rétablir Monica
la source
Je n'avais pas entendu parler d'Arc mais j'allais le vérifier. Merci.
Ari B. Friedman,
1
(+1) Bon d'entendre à nouveau le monde Lisp. Je suis trop fan de xlispstat (et j'apprécie que Luke Tierney soit si actif dans le projet R).
chl
3

Un nouveau système logiciel qui semble prometteur à cet effet est Deducer , construit au-dessus de R. Malheureusement, étant nouveau, je soupçonne qu'il ne couvre pas encore l'étendue des questions que les gens pourraient poser, mais il répond à l'orteil dans le -critère de l'eau pour amener les gens vers un véritable paquet s'ils en décident plus tard.

J'ai également utilisé JMP dans le passé, qui avait une belle interactivité. Je crains qu'une partie de l'interface ne soit trop compliquée à ces fins. Et ce n'est pas gratuit, ce qui rend plus difficile pour les réfugiés potentiels de tableur d'essayer sur un coup de tête.


Il y a aussi Rattle qui semble quelque peu prometteur.

Ari B. Friedman
la source
Concernant JMP - Si je ne me trompe pas, il existe des versions d'essai et des licences académiques qui sont dans la limite du raisonnable.
Iterator
3

Pour l'exploration de ce que les données contiennent et le nettoyage de l'ancien Google Affiner, maintenant Open Affiner , est une assez bonne interface graphique. Il est beaucoup plus puissant pour la préparation et le nettoyage que quelque chose comme Excel. Passez ensuite à quelque chose comme R-Commander pour vos analyses.

John
la source
2

Quiconque répond à R, ou à l'un de ses "GUI" n'a pas lu la question.

Il existe un programme spécialement conçu pour cela et il s'appelle JMP. Oui, c'est cher, bien qu'il ait un essai gratuit, et est incroyablement bon marché pour les étudiants ou le personnel du collège (comme 50 $ pas cher).

Il existe également RapidMiner, qui est une interface graphique basée sur le workflow pour l'exploration de données et l'analyse statistique. C'est gratuit et open source.

Neil McGuigan
la source
1
@Neil Pourquoi en est-il ainsi? L'OP précisait "mais idéalement qui s'étendrait à la programmation ...". R a été connecté à presque tous les logiciels statistiques commerciaux (par exemple SPSS, JMP, Statistica) ou gratuits (Knime, Rapidminer) et Rserve peut être utilisé comme backend pour communiquer avec R (par exemple, avec le logiciel Plink pour les études génétiques), et il est utilisé à cette fin. La version d'essai gratuite de JMP ne vous permet pas de travailler avec des ensembles de données externes, ai-je tort? (Fait intéressant, nous tous qui avons répondu R, et un autre logiciel , avons été rétrogradés.)
chl
j'aime R et je suis en faveur de celui-ci, mais les gens qui veulent apprendre les statistiques / datamining et ne savent pas programmer ne peuvent vraiment pas l'utiliser. et j'ai joué avec tous ses aspects et ils sont juste horribles par rapport à jmp. j'attends juste le jour où R obtient un gui comme jmp, alors tout ira bien avec l'univers.
Neil McGuigan
-1 pour avoir suggéré que les gens ne lisent pas les questions avant de répondre et pour n'avoir fourni aucun argument réel expliquant pourquoi R est pire que JMP ou RapidMiner. Notez qu'en général je suis d'accord que R n'est pas une réponse à tout, mais ce sujet est un peu contradictoire avec le potentiel de devenir vraiment méchant. D'où le downvote.
mpiktas
R est génial, mais ce n'est pas facile. C'est ce qu'il a demandé dans le titre.
Neil McGuigan
@Neil, oui, mais vous pouvez affirmer que l'exploration de données n'est pas simple mais robuste.
mpiktas
1

Eh bien, cet outil particulier est populaire dans mon industrie (bien qu'il ne soit pas spécifique à l'industrie par conception): http://www.umetrics.com/simca

Il vous permet de faire une analyse multivariée de type variable latent (PCA et PLS), et il comprend tous les graphiques / calculs d'interprétation et les outils d'interrogation associés comme les graphiques de contribution, les graphiques d'importance variable, les calculs du T2, etc.

Il est souvent utilisé sur des ensembles de données industriels de grande dimension (et souvent fortement corrélés / colinéaires) où les méthodes de type OLS / MLR ne conviennent pas (par exemple, les informations provenant d'une cargaison de capteurs, les informations de journal, etc.).

Il fonctionne dans un environnement entièrement GUI, et l'utilisateur n'a pas à écrire une seule ligne de code. Malheureusement, il n'est pas gratuit et ne peut pas être étendu via la programmation.

Gilead
la source
1

À mon avis, si vous ne codez pas vous-même le test, vous êtes sujet aux erreurs et aux malentendus des résultats.

Je pense que vous devriez leur recommander d'embaucher un statisticien qui a des compétences en informatique.

Si c'est pour faire toujours la même chose, alors vous pouvez en effet utiliser un petit outil (blackbox) qui fera le truc. Mais je ne suis pas sûr que cela s'appelle toujours l'exploration de données.

RockScience
la source
1
Je suis plus ou moins d'accord avec le sentiment, mais je ne pense pas que cette vision positive soit vraiment possible dans de nombreux contextes.
Ari B. Friedman
1

Je recommanderais le package R de John Fox appelé R commander:

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

Il crée une interface utilisateur similaire à SPSS (ou similaire) qui est idéale pour les débutants et ne nécessite pas que l'utilisateur entre du code. Tout se fait via des listes déroulantes (vous pouvez même minimiser la console R tout en travaillant).

Pour moi, l'avantage de ce package est que vous pouvez profiter de toutes les grandes capacités de calcul de R tout en ayant une interface utilisateur complètement opérationnelle pour les débutants.

Capitaine Murphy
la source
1

Un autre outil utile, bien que juste pour Windows, est Spotfire - je l'ai trouvé très utile pour regarder rapidement divers histogrammes et diagrammes de dispersion pour une seule et des paires de variables. Un outil de recherche qui vous aide à classer des variables uniques ainsi que des paires en fonction de statistiques simples - Hierarchical Clustering Explorer de HCIL. C'est bien pour trouver les variables / paires de variables les plus intéressantes.

lynxoïde
la source