Bitte verzeihen Sie meine Unwissenheit, aber ...
Ich befinde mich immer wieder in einer Situation, in der ich mit einer Reihe neuer Daten konfrontiert bin, die ich gefunden habe. Diese Daten sehen normalerweise ungefähr so aus:
Date Number1 Number2 Category1 Category2
20120125 11 101 Dog Brown
20120126 21 90 Cat Black
20120126 31 134 Cat Brown
(...)
Normalerweise kann ich auf den ersten Blick nicht wirklich sagen, ob es hier Trends gibt. Die Korrelationen zwischen den verschiedenen Spalten sind möglicherweise nicht sehr signifikant, aber ich würde mich freuen, wenn ich nicht für jede mögliche Kombination von Spalten / Kategorien manuell ein Diagramm erstellen müsste.
Gibt es ein Tool, das eine Datentabelle mit Informationen darüber akzeptiert, welche Spalten als Zahlen, Daten und Kategorien behandelt werden sollen, und dann mit dem Plotten fortfährt:
- Korrelationen zwischen jeweils zwei numerischen Spalten
- Korrelationen zwischen jeweils zwei numerischen Spalten mit separaten Trendlinien für jede Kategorie
- jede Zahlenspalte als Zeitreihe,
- jede Zahlenspalte als Zeitreihe, getrennt nach Kategorien,
- usw.
Am Ende würde dies eine große Anzahl von Plots erzeugen, von denen die meisten nur Rauschen zeigen würden. Im Idealfall könnte das Tool die Diagramme nach Korrelation bewerten und am Ende eine Diashow anzeigen, die mit den Diagrammen mit der höchsten Punktzahl beginnt. Dies wäre ein sehr unvollständiger, aber nützlicher erster Blick auf den Datensatz.
Damit? Gibt es ein Tool, das jeder dafür benutzt und von dem ich einfach nichts weiß, oder müssen wir das machen?
quelle
Antworten:
@Ondrej und @Michelle haben hier einige gute Informationen geliefert. Ich frage mich, ob ich dazu beitragen kann, indem ich einige Punkte anspreche, die an keiner anderen Stelle erwähnt wurden. Ich würde mich nicht verprügeln, wenn ich nicht viel aus den Daten in tabellarischer Form herausholen könnte. Tabellen sind im Allgemeinen keine sehr gute Möglichkeit, Informationen darzustellen (vgl. Gelman et al., Tabellen in Grafiken umwandeln ). Auf der anderen Seite ist es fast so, als würde man nach einem Werkzeug fragen, das automatisch alle richtigen Diagramme generiert, um einen neuen Datensatz zu erkunden, und nach einem Werkzeug fragen, das Ihre Gedanken für Sie erledigt. (Verstehen Sie das nicht falsch, ich erkenne, dass Ihre Frage klar macht, dass Sie nicht so weit gehen; ich meine nur, dass es nie wirklich ein solches Werkzeug geben wird.) Eine nette Diskussion, die damit zusammenhängt, kann gefunden werden hier .
Nachdem diese Dinge gesagt wurden, wollte ich ein wenig über die Arten von Plots sprechen, die Sie möglicherweise zum Erkunden Ihrer Daten verwenden möchten. Die in der Frage aufgeführten Diagramme wären ein guter Anfang, aber wir könnten das möglicherweise ein wenig optimieren. Zunächst ist es möglicherweise nicht ideal, "eine große Anzahl von Plots" zu erstellen, die Variablenpaare korrelieren. Ein Streudiagramm zeigt nur die Randbeziehung zwischen zwei Variablen an. Wichtige Beziehungen können oft in einer Kombination mehrerer Variablen verborgen sein. Der erste Weg, diesen Ansatz zu verbessern, besteht darin, eine Streudiagramm-Matrix zu erstellendas zeigt alle paarweisen Streudiagramme gleichzeitig an. Streudiagramm-Matrizen können auf verschiedene Arten verbessert werden: Sie können beispielsweise mit univariaten Kernel-Dichtediagrammen der Verteilung jeder Variablen kombiniert werden, verschiedene Marker / Farben können verwendet werden, um verschiedene Gruppen zu zeichnen, und mögliche nichtlineare Beziehungen können durch Überlagern einer Lössanpassung bewertet werden. Die
scatterplot.matrix
Funktion im Autopaket in R kann all diese Dinge gut machen (ein Beispiel ist auf der Hälfte der oben verlinkten Seite zu sehen).Streudiagrammmatrizen sind zwar ein guter Anfang, zeigen jedoch nur die Randprojektionen an. Es gibt einige Möglichkeiten, um darüber hinauszugehen. Eine besteht darin, dreidimensionale Diagramme unter Verwendung des rgl- Pakets in R zu untersuchen. Ein anderer Ansatz besteht darin, bedingte Diagramme zu verwenden; Coplots können bei Beziehungen zwischen 3 oder 4 Variablen gleichzeitig helfen. Ein besonders nützlicher Ansatz besteht darin, eine Streudiagrammmatrix interaktiv zu verwenden(Dies erfordert jedoch mehr Lernaufwand), z. B. durch "Bürsten". Mit dem Pinsel können Sie einen Punkt oder Punkte in einem Frame einer Matrix hervorheben, und diese Punkte werden gleichzeitig in allen anderen Frames hervorgehoben. Durch Bewegen des Pinsels können Sie sehen, wie sich alle Variablen zusammen ändern. UPDATE: Eine andere Möglichkeit, die ich vergessen hatte zu erwähnen, ist die Verwendung eines Diagramms mit parallelen Koordinaten . Dies hat den Nachteil, dass Ihre Antwortvariable nicht eindeutig ist, kann jedoch hilfreich sein, um beispielsweise die Wechselbeziehungen zwischen Ihren X-Variablen zu untersuchen.
Ich möchte Sie auch dafür loben, dass Sie Ihre Daten nach Erfassungsdatum sortiert geprüft haben. Obwohl Daten immer im Laufe der Zeit gesammelt werden, tun dies die Leute nicht immer. Das Zeichnen eines Liniendiagramms ist nett, aber ich würde vorschlagen, dass Sie dies durch Diagramme von Autokorrelationen und partiellen Autokorrelationen ergänzen . In R sind die Funktionen für diese
acf
undpacf
jeweils.Ich erkenne, dass all dies Ihre Frage nicht ganz beantwortet, da es Ihnen ein Werkzeug gibt, mit dem alle Diagramme automatisch für Sie erstellt werden. Eine Implikation ist jedoch, dass Sie nicht so viele Diagramme erstellen müssen, wie Sie befürchten Beispielsweise ist eine Streudiagrammmatrix nur eine Codezeile. Außerdem sollte es in R möglich sein, eine Funktion / einen wiederverwendbaren Code für sich selbst zu schreiben, der einen Teil davon teilweise automatisiert (z. B. kann ich mir eine Funktion vorstellen, die eine Liste von Variablen und eine Datumsreihenfolge enthält und diese sortiert) , öffnet jeweils ein neues Fenster mit Linien-, ACF- und PacF-Plots).
quelle
marginal.plot
das Paket latticeExtra .Korrelationen zwischen jedem Paar numerischer Spalten können in einer Korrelationsmatrix angezeigt werden. Es muss nicht rein numerisch sein, es kann farbcodiert werden, um eine schnelle Bewertung zu ermöglichen. Schauen Sie sich das Corrplot- Paket für R an.
Für die weitere Analyse ist Rattle ein nützliches GUI-Tool.
Wenn Sie Stack Exchange mit den Schlüsselwörtern "corrplot" oder besser "Rattle" durchsuchen, finden Sie verschiedene Themen, in denen diese Tools und ihre Alternativen behandelt werden. Wie dieser hier .
Viel Glück!
quelle
@Ondrej hat einige gute Ratschläge gegeben, daher werde ich mich auf Ihre Frage konzentrieren, wie Software importierte Daten behandelt. Bei Zeichendaten "Kategorie 1" und "Kategorie 2" behandelt die Software diese automatisch als Gruppen oder Faktoren, da für diese Daten keine mathematischen Operationen ausgeführt werden können. Dies bedeutet, dass Sie daran gehindert werden, irgendetwas aus diesen Kategorien in eine Analyse einzugeben, für die Zahlen erforderlich sind (alternativ wird eine Fehlermeldung angezeigt, wenn Sie versuchen, Syntax oder eine Befehlszeile anstelle eines menügesteuerten Systems zu verwenden).
Für Daten wie "Nummer 1" und "Nummer 2" liest die Software diese als numerisch. Wenn Sie Gruppen / Faktoren haben, die rein numerische Daten enthalten, müssen Sie Ihre Software anweisen, dass dies Gruppen / Faktoren sind.
Manchmal können Daten schlecht in statistische Software importiert werden. Sobald Sie Ihre Daten importiert haben, sollten Sie sehen, dass der Datentyp in Ihrer Statistiksoftware eine Art "Datum" für "Datum" anzeigt. Wenn Sie den Datentyp als etwas anderes als Datum ansehen, liegt ein Problem vor. Selbst wenn es als Datum angezeigt wird, überprüfen Sie den Import einiger Zeilen, in denen Sie Daten wie Tage wie den 13. oder 25. des Monats haben. Je nachdem, wie die Software eingerichtet ist, führt die amerikanische / britische Datumsformatierung manchmal zu fehlerhaften Daten beim Import , wegen der Umkehrung des Tages / Monats.
quelle