Читать книгу Praktische Statistik für Data Scientists - Peter Bruce - Страница 57

Kategoriale und numerische Variablen

Оглавление

Mit Box-Plots (siehe »Perzentile und Box-Plots« auf Seite 21) lassen sich Verteilungen numerischer Variablen, die anhand einer kategorialen Variablen gruppiert wurden, auf einfache Weise visuell vergleichen. Beispielsweise könnten wir vergleichen, wie der prozentuale Anteil der Flugverspätungen für die einzelnen Fluggesellschaften variiert. Abbildung 1-10 zeigt den prozentualen Anteil der Flüge der verschiedenen Fluggesellschaften, die innerhalb eines Monats verspätet waren und bei denen die Verspätung auf die Fluggesellschaft selbst zurückzuführen ist:

boxplot(pct_carrier_delay ~ airline, data=airline_stats, ylim=c(0, 50))

Die pandas-boxplot-Methode nimmt das Argument by entgegen, wodurch der Datensatz in verschiedene Gruppen aufgeteilt wird und sich die einzelnen Box-Plots erstellen lassen:

ax = airline_stats.boxplot(by='airline', column='pct_carrier_delay')

ax.set_xlabel('')

ax.set_ylabel('Tägliche Flugverspätungen (in %)')

plt.suptitle('')

Abbildung 1-10: Ein Box-Plot des prozentualen Anteils der Flüge, die verspätet waren und bei denen die Verspätung auf die Fluggesellschaft zurückzuführen ist

Die Fluggesellschaft Alaska Airlines hat die geringsten Verspätungen, bei American Airlines gab es die größten: Das untere Quartil für American Airlines ist höher als das obere Quartil für Alaska Airlines.

Der Violin-Plot, eingeführt von [Hintze-Nelson-1998], ist eine Erweiterung des Box-Plots und bildet die geschätzte Dichtefunktion ab, wobei die Wahrscheinlichkeitsdichte auf der y-Achse abgetragen wird. Die Dichtefunktion wird zusätzlich gespiegelt und die resultierende Silhouette ausgefüllt. Dadurch entsteht eine Grafik, die einer Violine ähnelt. Der Vorteil des Violin-Plots ist, dass er besser als der Box-Plot in der Lage ist, Nuancen in der Verteilung aufzuzeigen. Andererseits werden im Box-Plot die Ausreißer in den Daten deutlicher hervorgehoben. Im Paket ggplot2 steht die Funktion geom_violin bereit, um einen Violin-Plot zu erstellen:

ggplot(data=airline_stats, aes(airline, pct_carrier_delay)) +

ylim(0, 50) +

geom_violin() +

labs(x='', y='Tägliche Flugverspätungen (in %)')

Im seaborn-Paket können Violin-Plots durch Nutzung der violinplot-Methode erstellt werden:

ax = sns.violinplot(airline_stats.airline, airline_stats.pct_carrier_delay,

inner='quartile', color='white')

ax.set_xlabel('')

ax.set_ylabel('Tägliche Flugverspätungen (in %)')

Das entsprechende Diagramm wird in Abbildung 1-11 dargestellt. Der Violin-Plot zeigt eine Ballung in der Verteilung nahe null für Alaska Airlines und, in geringerem Ausmaß, für Delta Airlines. Dieses Merkmal ist im Box-Plot nicht so offensichtlich. Sie können auch einen Violin-Plot mit einem Box-Plot kombinieren, indem Sie die Funktion geom_boxplot (in R) als zusätzliche Komponente dem Diagramm hinzufügen (obwohl dies am besten funktioniert, wenn Farben verwendet werden).

Abbildung 1-11: Ein Violin-Plot des prozentualen Anteils der Flüge, die verspätet waren und bei denen die Verspätung auf die Fluggesellschaft selbst zurückzuführen ist

Praktische Statistik für Data Scientists

Подняться наверх