Sehr oft müssen Daten verglichen werden. Zum Beispiel haben wir mehrere Datenreihen aus einem Bereich menschlicher Aktivitäten (Industrie, Medizin, Regierung, ...), und wir möchten vergleichen, wie ähnlich sie sind oder umgekehrt, wie sich einige Indikatoren im Vergleich zu anderen abheben. Nehmen wir zur Erleichterung der Wahrnehmung Daten, die einfacher, universeller und neutraler sind - die Widerristhöhe und das Gewicht mehrerer Hunderassen nach Angaben des American Kennel Club. Die durchschnittlichen Daten zur Gesteinsgröße finden Sie hier... Fügen Sie dazu die Funktion random.uniform aus der Python-Numpy-Bibliothek hinzu, konvertieren Sie Zoll in Zentimeter und Pfund in Kilogramm, und jetzt haben wir einen realistisch aussehenden Datensatz mit Hundegrößen, mit dem mehrere Rassen arbeiten können. In unserem Beispiel sind dies Chihuahua, Beagles, Rottweiler und englische Setter.
Ein Analyst, mit dem Sie diese 4 Zahlenreihen vergleichen können, ist der Median. Es teilt die Datenreihen in zwei Teile auf: Die Hälfte der Werte ist kleiner als der Median und die andere Hälfte ist größer. Wir finden die Medianwerte, indem wir sie mithilfe der Pandas-Bibliothek nach der Spalte "Rasse" gruppieren und die Medianfunktion auf die gruppierten Daten anwenden. Ebenso können Sie sich andere Statistiken ansehen: Mittelwert (Mittelwert) und Modus (Modus).
Wir sehen, dass die Hälfte der Chihuahua, die wir getroffen haben, eine Widerristhöhe von nicht mehr als 18 cm hat, der Beagle ist viel höher - im Bereich von 41 cm, und die nächsten in der Größe sind der Rottweiler und der englische Setter, die sich in der Höhe geringfügig unterscheiden: 58 und 63 cm.
Abbildung 2. Median Widerristhöhenwerte für vier Hunderassen.
Für die vergleichende Analyse von Daten reicht jedoch nur ein Median nicht aus. Weitere Informationen erhalten Sie, indem Sie sich ein Tool wie ein Box-and-Whiskers-Diagramm ansehen, das mit der Python-Diagrammbibliothek von seaborn erstellt wurde. Die Linie in der Box ist der bekannte Median. Die Höhe in der Grafik rechts (siehe Abbildung 3) stimmt mit der Höhe der entsprechenden Spalte links überein. Gleichzeitig enthält das Swing-Diagramm zusätzliche Informationen zur Verteilung der Daten innerhalb der Zeile: Der untere Rand des Rechtecks (Feld) ist das erste Quartil (der Wert überschreitet 25% der Werte der Reihe) und der obere Rand ist das dritte Quartil (der Wert überschreitet 75% der Werte) ). Und genau diese "Schnurrbärte" sind Segmente,Ausgehend von der Mitte des Rechtecks nach oben und unten werden auf der Grundlage des Interquartilbereichs dargestellt und bezeichnen die Ober- und Untergrenze des wesentlichen Teils unserer Daten, ausgenommen Ausreißer. Hier gibt es keine Emissionen (wir sind nicht auf Dystrophie und Riesenhunde gestoßen), wenn sie vorhanden wären, würden sie als Markierungen außerhalb des "Schnurrbartes" angezeigt.
Abbildung 3. Vergleich von Balken- und Bereichsdiagrammen für denselben Datensatz.
Der Geigenplot aus derselben Seebibliothek gibt uns noch mehr Einblick in die Struktur der betreffenden Daten. Abbildung 4 unten zeigt alle drei Diagramme, in denen die Felsen jedes Mal in derselben Reihenfolge sind und die Farbe für die entsprechende Reihe erhalten bleibt.
Abbildung 4. Vergleich von Bar-, Swing- und Violinplot für denselben Datensatz.
Beispielsweise werden Rottweiler-Daten grün angezeigt.
Die Ähnlichkeiten und Unterschiede zwischen dem Span-Diagramm (Feld mit Schnurrbart) und dem Geigen-Diagramm sind in der folgenden Abbildung 5 dargestellt. Zunächst sind die Ähnlichkeiten: (1) Beide Diagramme in der einen oder anderen Form repräsentieren 0,25-Quantil, 0,5-Quantil (Median) und 0,75-Quantil; (2) Sowohl dort als auch dort gibt es die Extremwerte, die nahe am Wert von anderthalb Interquartilen (IQR) liegen und am unteren und oberen Rand der Box aufgetragen sind - der eigentliche "Schnurrbart" für das Schwungdiagramm, außerhalb dessen es "Ausreißer" gibt.
Der Unterschied besteht darin, dass der Geigengraph auch Informationen darüber enthält, wie die Daten intern verteilt werden. Die Grenzen der konstruierten "Geige" sind die um 90 Grad gedrehte Verteilungsdichte. In diesem Fall haben wir bei der Analyse des Graphen viel mehr Informationen: Zusätzlich zu den Quantilen und Werten, die die 4 Interquartilabstände (1,5 + 1 + 1,5) im Geigengraphen beschreiben, können Sie sehen, ob die Daten gleichmäßig verteilt sind oder ob es mehrere Zentren gibt, in denen die Werte größer sind häufig.
Abbildung 5. Erklärungen zur Entsprechung der Elemente der beiden Graphen: Spannweite und Violine.
Diese Idee ist in der folgenden Grafik (Abbildung 6) deutlicher zu sehen, in der sich die Daten für die beiden Gruppen der Rottweiler unterscheiden, aber so ausgewählt sind, dass die Mediane (die Grafik ganz links) und noch mehr übereinstimmen - auch die Schwungdiagramme (in der Mitte)! Und nur der Geigengraph (ganz rechts) zeigt uns, dass sich die Datenstruktur tatsächlich erheblich unterscheidet.
Abbildung 6. Ein Beispiel, bei dem nur der Geigengraph die Unterschiede in der internen Struktur der betrachteten Daten erkennen lässt.
Mit dem K-Means-Clustering (cluster.KMeans) aus dem sklearn-Modul können wir die gruppierten Daten visuell darstellen, indem wir ein Streudiagramm mit der Streudiagrammfunktion des Seaborn-Moduls zeichnen. Hier trennt die Farbe einen vom ML-Algorithmus erstellten Cluster von einem anderen, und die Form des Markers zeigt das Original, das zu der einen oder anderen Gruppe gehört. Es war nicht erforderlich, die Abmessung mit PCA oder einer anderen Methode zu reduzieren, da Die Daten sind ursprünglich 2D.
Code für Clustering und Streudiagramme:
So haben wir am Beispiel von Daten zur Widerristhöhe mehrerer Hunderassen einige statistische Merkmale von Zahlenreihen und die Werkzeuge für deren Visualisierung kennengelernt. Ein einfaches Tool liefert eine klare Metrik, liefert jedoch kein vollständiges Bild. Anspruchsvollere Tools bieten ein tieferes Bild der Daten, sind jedoch aufgrund der zunehmenden Informationsmenge in der Grafik auch schwieriger wahrzunehmen. Und hier ist es wichtig, ein Werkzeug für eine bestimmte Aufgabe auszuwählen, um ein Gleichgewicht zwischen der erforderlichen Vollständigkeit der Informationen und der Leichtigkeit ihrer Wahrnehmung auf dem Diagramm zu finden.