Software für einfache und dennoch robuste Datenexploration


20

Bei meinen Versuchen, das Chaos in der Tabellenkalkulation zu bekämpfen, bin ich oft evangelisch, wenn ich auf robustere Tools wie echte Statistiksoftware (R, Stata und dergleichen) dränge. Vor kurzem wurde ich in dieser Hinsicht von jemandem herausgefordert, der mit Nachdruck erklärte, dass er das Programmieren einfach nicht lernen werde. Ich möchte ihnen Datenanalysewerkzeuge zur Verfügung stellen, die keine Programmierung erfordern (im Idealfall jedoch die Programmierung, wenn sie später einen Zeh ins Wasser tauchen möchten). Welche Pakete für die Datenexploration gibt es, die ich mit ernstem Gesicht empfehlen kann?


5
@ gsk3 - interessante Frage. Ich hätte eine Vermutung, dass dieses "Programm" nicht mit den komplizierten Tabellenkalkulationen umgehen muss? Vielleicht möchte er / sie ihrer / ihrer Ideologie gerecht werden und sich freiwillig melden, um die harte Arbeit mit den Tabellenkalkulationen selbst zu erledigen? :)
Wahrscheinlichkeitsrechnung

@probabilityislogic: Die "Programmfibel" behandelt sie, wenn sie Probleme verursacht, hat aber eine ganze Menge Tricks, um mit den Ergebnissen umzugehen. Ich habe die klassischen Anti-Spreadsheet-Argumente ohne Erfolg ausprobiert (nun, einige haben Erfolg, da sie bereit sind, diesen Lösungsstil in Betracht zu ziehen!).
Ari B. Friedman

@ gsk3 - ah ha, also ist es nicht das Programm, um das es an sich geht, sondern diese Person wird nicht länger "der Experte" sein und von unten beginnen müssen?
Wahrscheinlichkeitsrechnung

2
@probabilityislog - Ich denke, gesunkene Kosten machen einen großen Teil des Problems aus, ja. Einige dieser Kosten sind zweifellos sozialer Natur, und einige von ihnen sind Zeit- und Effizienzverluste, während sie die neue Art und Weise lernen, Dinge zu tun.
Ari B. Friedman

3
Ich denke, dass dieser Comic eine angemessene Darstellung der Situation sein könnte. Wenn die Person, die Sie ansprechen, absolut gegen die Programmierung eingestellt ist, ist dies möglicherweise eine zu starke Präferenz. Eine bessere Strategie könnte darin bestehen, auf die Mängel einer auf Tabellenkalkulationen basierenden Analyse hinzuweisen. Versuchen Sie beispielsweise in einer neuen Excel-Datei, Werte 1 1 einzugeben und11116 und summieren Sie sie (dies funktioniert in Excel 2007). Erklären Sie dann, dass kein statistisches Paket mit Selbstachtung ohne Vorwarnung einen ähnlichen Fehler liefert und arbeiten Sie daran. 114
MPIKTAS

Antworten:


7

Ich programmiere für 95% meiner Arbeit in Python und für den Rest in R oder MATLAB oder IDL / PV-WAVE (und bald auch in SAS). Ich befinde mich jedoch in einer Umgebung, in der die Zeit bis zum Erreichen der Ergebnisse häufig ein wichtiger Faktor für die gewählte Analyse ist. Daher verwende ich häufig auch Point-and-Click-Tools. Meiner Erfahrung nach gibt es kein einzelnes, robustes und flexibles GUI-Tool für die Analyse, so wie es keine einzige Sprache gibt. Normalerweise bastele ich eine Sammlung der folgenden kostenlosen und kommerziellen Software zusammen

Ich habe JMP, Stata, Statistica usw. nicht verwendet, möchte dies aber tun.

Die Verwendung dieser Tools erfordert das Erlernen verschiedener GUIs und mehrerer Abstraktionen der Modellierung. Dies ist zu der Zeit ein Problem, aber ich möchte später schnellere Ad-hoc-Ergebnisse erzielen. Ich bin im selben Boot wie das OP, weil die meisten Leute, mit denen ich zusammenarbeite, zwar sehr schlau sind, es ihnen aber nicht wichtig ist, eine Sprache oder mehrere GUIs und anwendungsspezifische Begriffe zu lernen. Daher habe ich mich damit abgefunden, zu akzeptieren, dass Excel 90% der Analysen in der Geschäftswelt steuert. Dementsprechend möchte ich beispielsweise Pyinex verwenden , um eine bessere Analyse für dieselbe Excel-Präsentationsebene zu ermöglichen, die die große Mehrheit meiner Kollegen erwartet.

UPDATE: Als ich das Thema Do-Modelling-with-Programming-but-Make-Excel-the-Presentation-Layer weiterführte, stieß ich auf die Website dieses Typen, die Grafiken im Tufte-Stil zum Einbetten in Excel-Zellen anbot. Einfach genial und kostenlos!


1
Ich werde sagen, dass JMP ziemlich gut ist. Auch wenn man sich mit R sehr gut auskennt, gibt es Zeiten, in denen JMP eine schnellere Möglichkeit zum Navigieren und Analysieren von Daten darstellt.
Iterator

8

In Bezug auf explorative (möglicherweise interaktive) Datenanalysen empfehle ich einen Blick auf:

  • Weka zielt ursprünglich auf Data Mining-Anwendungen ab, kann jedoch für Datenzusammenfassungen verwendet werden.
  • Mondrian , zur interaktiven Datenvisualisierung.
  • KNIME , das auf der Idee des Aufbaus von Datenflüssen beruht und mit Weka und R kompatibel ist.

Alle drei akzeptieren Daten in arffoder csvFormat.

Aus meiner Sicht erfordert Stata nicht so viel Programmierkenntnisse. Dies ist sogar ein Teil seiner Attraktivität: Die meisten grundlegenden Analysen können durch Zeigen und Klicken auf Benutzeraktionen durchgeführt werden, mit Dialogfeldern zum Anpassen bestimmter Parameter, beispielsweise zur Vorhersage in einem linearen Modell. Dasselbe gilt, wenn auch in geringerem Maße, für R, wenn Sie externe GUIs wie Rcmdr , Deducer usw. verwenden, wie von @ gsk3 angegeben.


+1 für Stata. Sie können alle grundlegenden Funktionen mit einem Mausklick ausführen, es gibt jedoch auch den Befehl aus, den der Mausklick generiert hat, damit Sie ihn erlernen / ändern können. Es ist auch eine Art Tabellenkalkulation, wie Sie mit seinen Daten interagieren, obwohl Sie natürlich keine Formeln in Zellen einfügen.
Wayne

8

Einige Leute denken beim Programmieren einfach an die Eingabe einer Kommandozeilenanweisung. An diesem Punkt bist du vielleicht ein bisschen verloren, sie zu ermutigen. Wenn sie jedoch bereits Tabellenkalkulationen verwenden, müssen sie bereits Formeln eingeben. Diese sind mit Befehlszeilenanweisungen vergleichbar. Wenn sie wirklich meinen, dass sie keine Programmierung im Sinne einer logischen und automatisierten Analyse durchführen möchten, können Sie ihnen mitteilen, dass sie die Analysen in R oder Stata auch ohne Programmierung durchführen können.

Wenn sie ihre Statistiken in der Tabelle ausführen können ... alles, was sie möchten ..., dann können alle statistischen Analysen, die sie ausführen möchten, auch ohne "Programmieren" in R oder Stata ausgeführt werden. Sie könnten die Daten in der Tabelle anordnen und organisieren und sie dann einfach als Text exportieren. Anschließend wird die Analyse ohne Programmierung durchgeführt.

So mache ich manchmal ein Intro zu R. Für die Datenanalyse, die Sie in einer Tabelle durchführen können, ist keine Programmierung erforderlich.

Wenn Sie sie auf diese Weise süchtig machen, spulen Sie den Fisch langsam ein ... :) In ein paar Jahren machen Sie ihnen ein Kompliment, was für ein guter Programmierer sie geworden sind.

Sie können dieses Dokument auch Ihren Kollegen zeigen oder es zumindest selbst lesen, um Ihre Argumente besser zu verdeutlichen.


1
Gute Punkte, aber hier gibt es einige Vorbehalte: Excel enthält QuickInfos, die beim Eingeben einer Formel in eine Zelle eingeblendet werden. Dies erleichtert das "Programmieren" einfacher Aufgaben erheblich. Es besteht auch die Möglichkeit, dass die Person neben Ihnen hilft, wenn Sie nicht weiterkommen, da es viele Excel-Poweruser gibt. Und Excel wird installiert. Um jemanden davon zu überzeugen, R auszuprobieren, muss man ihm helfen, es einzurichten und zu lernen, wie man Open-Source-Software nutzt (und in welchen Foren gesucht wird, welche der zahlreichen Bootstrap-Pakete verwendet werden sollen usw.). Die Programmierung ist in gewisser Weise der einfache Teil. Es ist das Ökosystem, das der schwierige Teil ist.
Josh Hemann

Auch in Excel gibt es keine wirklichen Formatierungsprobleme ... In R verwendet manchmal ein Paket xts, ein anderes data.frames ... es ist ein Durcheinander für einen Neuling, das stimmt
RockScience

Ich bin damit einverstanden, dass es Probleme bei der Datenformatierung geben kann, bedenke jedoch, dass meine Antwort als Analyse qualifiziert wurde, die bereits in einer Tabelle durchgeführt werden konnte. Das ist nicht viel abwechslungsreiche Analyse und würde im Allgemeinen unter einem Datenformat liegen.
John

Es gibt etwas mehr Aufwand beim "Programmieren" mit R als mit Excel, und dies sind die Dinge, die Benutzer verrückt machen. Wenn R eine erstklassige Benutzeroberfläche hätte, die einer Pivot-Tabelle ähnelt, vielleicht. Aber bis dahin ...
Ralph Winters

8

Ich werde hier einen Pitch für JMP machen. Ich habe einige Gründe, warum es mein bevorzugtes nicht programmierbares Tool zur Datenexploration ist:

  1. Wirklich gute Visualisierungswerkzeuge. Die meisten einfachen EDA-Plots sind so gut wie R und wesentlich einfacher für die Erstellung von Plots zu verwenden, die sich einer publikationsfertigen Zeichnung nähern. Es gibt auch einige äußerst flexible Visualisierungstools, mit denen Sie Ihre Daten drehen und biegen können, um die vollständige Story zu erhalten.
  2. Überraschend mächtig. Ich brauchte bis zu meinem ... 4. Schuljahr, um etwas zu finden, das JMP nicht sofort tun konnte. Das ist nicht schlecht.
  3. Skriptfähigkeit. Das ist eine große Sache für mich. Die Hauptschwäche von GUIs ist, dass es sehr schwierig ist, das zu replizieren, was Sie getan haben. Mit JMP können Sie die GUI skripten - und diese Skripten zu generieren ist ziemlich einfach.

+1 für JMP. Es ist die beste Grundstatistik, die ich je benutzt habe.
Zach

1
Einverstanden (gut mit Punkt # 1). In mancher Hinsicht ist es sogar besser als R für das EDA-Zeug und kann gut in einen iterativen Workflow eingefügt werden. Wenn bereits ohne R gearbeitet wird, ist JMP eine sinnvolle Möglichkeit, ohne Hinzufügen von R zu arbeiten. Da es auch eine Verknüpfung zu R herstellen kann, kann ein R-Programmierer Tools erstellen, die sich dann in JMP einbinden und es dem Benutzer Eloi, errr, ermöglichen, fortzufahren zu glauben, dass alles nur dandy ist.
Iterator

6

Ich kann Tableau als gutes Tool für die Datenexploration und -visualisierung empfehlen, da Sie die Daten auf unterschiedliche Weise durchsuchen und anzeigen können, indem Sie sie einfach per Drag & Drop verschieben. Die Grafiken sind ziemlich scharf und Sie können sie zu Präsentationszwecken problemlos als PDF ausgeben. Wenn Sie möchten, können Sie es mit etwas "Programmieren" erweitern. Ich benutze dieses Tool regelmäßig zusammen mit "R" und SAS und alle arbeiten gut zusammen.


3

Wie John sagte, erfordert die Datenexploration in R nicht viel Programmierung. Hier ist eine Liste von Befehlen für die Datenexploration, die Sie Benutzern geben können. (Ich habe es mir gerade ausgedacht; Sie können es sicherlich erweitern.)

Exportieren Sie die Daten aus einem beliebigen Paket. (Das Exportieren numerischer Daten ohne Anführungszeichen ist praktisch.) Lesen Sie dann die Daten in R.

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

Mach einen Tisch.

table(ChickWeight$Diet)

Lassen Sie R raten, welche Art von Grafik Sie erhalten möchten. Es funktioniert manchmal sehr gut.

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

Eine Reihe spezifischer Plotfunktionen arbeiten ganz einfach mit einzelnen Variablen.

hist(ChickWeight$weight)

Subsets nehmen

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

SQL-ähnliche Syntax, falls Leute daran gewöhnt sind (mehr hier )

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

PCA (Sie hätten natürlich mehr als zwei Variablen.)

princomp(~ ChickWeight$weight + ChickWeight$Time)

3

Dies ist eher eine Klage als eine Antwort ...

Die beste Software, die ich dafür gesehen habe, ist Arc , das auf Xlisp-Stat basiert. Es ist eine fantastische Software für die Datenexploration mit vielen integrierten interaktiven Grafiken sowie vielen statistischen Inferenzfunktionen. Meiner Meinung nach ist nichts so einfach zu bedienen wie die Datenexploration und die Möglichkeit, sie mit der Lisp-Programmierung weiter zu erweitern. Meiner Meinung nach ist Interaktivität in R erst zehn Jahre später in der Lage, auf eine Weise wie Arc verwendet zu werden. Soweit ich weiß, hat noch niemand diese Funktionen genutzt, um eine interaktive Benutzeroberfläche zu erstellen, die bei weitem nicht so nützlich ist wie Arc.

Leider hat es sich nie wirklich durchgesetzt, so dass die Entwickler seitdem fast alle auf R umgestellt haben. Es wurde zuletzt im Juli 2004 aktualisiert. Die PC- und Linux / Unix-Versionen funktionieren immer noch und sind je nach Ihren Anforderungen möglicherweise einen Versuch wert. Für Macs ist die beste Option, die Linux / Unix-Version unter X11 auszuprobieren. Ich habe es auf einigen Systemen so zum Laufen gebracht. Die auf der Website erwähnte Mac-Version funktioniert nur auf "klassischen" Macs.

Ich werde auch kurz Mondrian erwähnen , den ich nur kurz ausprobiert habe, der aber eine großartige grafische Interaktivität für die Datenexploration zu haben scheint, obwohl (wie ich mich erinnere) keine einfache Möglichkeit besteht, die Fähigkeiten zu erweitern oder statistische Schlussfolgerungen zu ziehen.


Ich hatte noch nichts von Arc gehört, wollte es aber überprüfen. Vielen Dank.
Ari B. Friedman

1
(+1) Gut, wieder von der Lisp-Welt zu hören. Ich bin auch ein Fan von xlispstat (und schätze, dass Luke Tierney so aktiv im R-Projekt ist).
Chl

3

Ein neues Softwaresystem, das für diesen Zweck vielversprechend aussieht, ist Deducer , das auf R aufbaut. Da es leider neu ist, vermute ich, dass es noch nicht die Breite der Fragen abdeckt, die die Leute stellen könnten, aber es erfüllt die Erwartungen -Wasserkriterium, um die Menschen zu einem echten Paket zu führen, falls sie sich später dazu entschließen sollten.

Ich habe in der Vergangenheit auch JMP verwendet, was eine gute Interaktivität mit sich brachte. Ich befürchte, dass einige der Benutzeroberflächen für diese Zwecke zu kompliziert sind. Und es ist nicht kostenlos, was es potenziellen Flüchtlingen erschwert, es aus einer Laune heraus zu versuchen.


Es gibt auch Rassel, die etwas vielversprechend aussieht.


In Bezug auf JMP - Wenn ich mich nicht irre, gibt es Testversionen und akademische Lizenzen, die im Rahmen des Zumutbaren liegen.
Iterator

3

Für die Erkundung der enthaltenen Daten und deren Bereinigung ist das frühere Google Refine, jetzt Open Refine , eine ziemlich gute GUI. Es ist viel leistungsfähiger für die Vorbereitung und Reinigung als so etwas wie Excel. Wechseln Sie dann zu R-Commander für Ihre Analysen.


2

Jeder, der R oder eine der "GUIs" beantwortet, hat die Frage nicht gelesen.

Es gibt ein speziell dafür entwickeltes Programm namens JMP. Ja, es ist teuer, obwohl es eine kostenlose Testversion hat und für Studenten oder College-Mitarbeiter unglaublich billig ist (wie 50 $ billig).

Es gibt auch RapidMiner, eine Workflow-basierte Benutzeroberfläche für Data Mining und statistische Analysen. Es ist kostenlos und Open Source.


1
@Neil Warum ist es so? Das OP spezifiziert "aber im Idealfall würde sich das auf die Programmierung erstrecken ...". R ist in fast allen kommerziellen (z. B. SPSS, JMP, Statistica) oder kostenlosen (Knime, Rapidminer) statistischen Programmen eingesteckt, und Rserve kann als Backend für die Kommunikation mit R verwendet werden (z. B. mit der Plink-Software für genetische Studien). und es wird zu diesem Zweck verwendet. Mit der kostenlosen Testversion von JMP können Sie nicht mit externen Datensätzen arbeiten. Irre ich mich? (Interessanterweise wurden alle von uns, die R und eine alternative Software beantworteten, abgelehnt.)
chl

Ich mag R und bin dafür, aber Leute, die Statistiken / Datenerfassung lernen wollen und nicht wissen, wie man wirklich programmiert, können es nicht verwenden. und ich habe mit all seinen guis gespielt und sie sind einfach schrecklich im vergleich zu jmp. Ich warte nur auf den Tag, an dem R eine GUI wie JMP bekommt, dann wird alles gut mit dem Universum.
Neil McGuigan

-1 für den Hinweis, dass die Leute vor der Beantwortung keine Fragen lesen und keine echten Argumente liefern, warum R schlechter als JMP oder RapidMiner ist. Beachten Sie, dass ich im Allgemeinen zustimme, dass R nicht auf alles eine Antwort ist, aber dieses Thema ist ein bisschen widersprüchlich in Bezug auf das Potenzial, wirklich böse zu werden. Daher die Gegenstimme.
mpiktas

R ist großartig, aber es ist nicht einfach. Darum bat er im Titel.
Neil McGuigan

@Neil, ja, aber Sie können argumentieren, dass es keine einfache und dennoch robuste Datenexploration gibt.
mpiktas

1

Nun, dieses spezielle Tool ist in meiner Branche beliebt (obwohl es nicht branchenspezifisch ist): http://www.umetrics.com/simca

Es ermöglicht Ihnen die Durchführung einer latenten multivariaten Analyse vom Variablentyp (PCA und PLS) und enthält alle zugehörigen interpretativen Darstellungen / Berechnungen und Abfragewerkzeuge wie Beitragsdarstellungen, Darstellungen mit variabler Wichtigkeit, Q2-Berechnungen usw.

Es wird häufig bei hochdimensionalen (und häufig stark korrelierten / kollinearen) industriellen Datensätzen verwendet, bei denen OLS / MLR-Methoden ungeeignet sind (z. B. Informationen von einer Schiffsladung von Sensoren, Protokollinformationen usw.).

Es wird in einer vollständig GUI-Umgebung ausgeführt und der Benutzer muss keine einzige Codezeile schreiben. Leider ist es nicht kostenlos und kann nicht über die Programmierung erweitert werden.


1

Wenn Sie den Test meiner Meinung nach nicht selbst codieren, neigen Sie zu Fehlern und Missverständnissen bei den Ergebnissen.

Ich denke, dass Sie ihnen empfehlen sollten, einen Statistiker einzustellen, der über Computerkenntnisse verfügt.

Wenn es immer dasselbe sein soll, können Sie in der Tat ein kleines Tool (Blackbox) verwenden, das das Zeug erledigt. Ich bin mir jedoch nicht sicher, ob dies immer noch Datenexploration heißt.


1
Ich stimme dem Gefühl mehr oder weniger zu, aber ich denke nicht, dass diese hochgesinnte Sichtweise in vielen Situationen wirklich möglich ist.
Ari B. Friedman

1

Ich würde das R-Paket von John Fox mit dem Namen R commander empfehlen:

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

Es erstellt eine Benutzeroberfläche, die SPSS (oder ähnlichem) ähnelt und sich hervorragend für Anfänger eignet. Der Benutzer muss keinen Code eingeben. Dies geschieht über Dropdown-Felder (Sie können die R-Konsole sogar während der Arbeit minimieren).

Für mich besteht der Vorteil dieses Pakets darin, dass Sie alle großen Rechenfähigkeiten von R nutzen können, während Sie über eine Benutzeroberfläche verfügen, die für Anfänger vollständig funktionsfähig ist.


1

Ein weiteres nützliches Tool, obwohl nur für Windows, ist Spotfire - ich fand es sehr nützlich, um schnell verschiedene Histogramme und Streudiagramme für einzelne Variablen und Variablenpaare zu betrachten. Ein Recherchetool, mit dem Sie einzelne Variablen sowie Paare anhand einfacher Statistiken einstufen können - Hierarchical Clustering Explorer von HCIL. Dies ist nützlich, um die interessantesten Variablen / Variablenpaare zu finden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.