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

Perzentile und Box-Plots

Оглавление

In »Streuungsmaße auf Basis von Perzentilen« auf Seite 17 sind wir der Frage nachgegangen, wie Perzentile zur Messung der Streuung der Daten verwendet werden können. Perzentile sind auch nützlich, um die gesamte Verteilung zusammenfassend darzustellen. Es ist üblich, die Quartile (25%-, 50%- und 75%-Perzentile) und die Dezile (10%-, 20%-, …, 90%-Perzentile) anzugeben. Perzentile sind besonders aussagekräftig, wenn man die Enden bzw. Ränder (die äußeren Bereiche) der Verteilung zusammenzufassend darstellen möchte. In der breiten Öffentlichkeit ist in diesem Zusammenhang oft von der Redewendung »das eine Prozent« die Rede, die genutzt wird, um Reiche im obersten 99%-Perzentil der Vermögensbzw. Einkommensverteilung zu charakterisieren.

Tabelle 1-4 stellt einige Perzentile der Mordraten in den Bundesstaaten dar. In R können wir uns die Werte mithilfe der Funktion quantile ausgeben lassen:

quantile(state[['Murder.Rate']], p=c(.05, .25, .5, .75, .95))

5% 25% 50% 75% 95%

1.600 2.425 4.000 5.550 6.510

In Python können Sie für einen Data Frame die pandas-Methode quantile nutzen, um sich die Perzentile ausgeben zu lassen:

state['Murder.Rate'].quantile([0.05, 0.25, 0.5, 0.75, 0.95])

Tabelle 1-4: Perzentile der Mordraten in den Bundesstaaten


Der Median liegt bei vier Morden pro 100.000 Einwohner. In den Daten gibt jedoch eine beträchtliche Streuung: Das 5%-Perzentil beträgt nur 1,6 und das 95%-Perzentil 6,51.

Die von Tukey [Tukey-1977] eingeführten Box-Plots stützen sich auf Perzentile und bieten eine rasche Möglichkeit, die Verteilung Ihrer Daten zu visualisieren. Abbildung 1-2 zeigt einen in R erstellten Box-Plot für die Einwohnerzahlen der Bundesstaaten:

boxplot(state[['Population']]/1000000, ylab='Einwohnerzahl (in Millionen)')

Die pandas-Bibliothek bietet eine Reihe von grundlegenden informativen Diagrammen, die für Data Frames genutzt werden können; darunter auch Box-Plots:

ax = (state['Population']/1_000_000).plot.box()

ax.set_ylabel('Einwohnerzahl (in Millionen)')

Abbildung 1-2: Box-Plot für die Einwohnerzahlen der Bundesstaaten

Bei diesem Box-Plot können wir auf einen Blick erkennen, dass die mittlere Einwohnerzahl der Bundesstaaten etwa fünf Millionen beträgt (Median), die Einwohnerzahl für die Hälfte der Staaten zwischen etwa zwei und sieben Millionen liegt und dass es einige bevölkerungsreiche Ausreißer gibt. Der obere und der untere Rand des Rechtecks (Box) kennzeichnen jeweils das 75%- bzw. 25%-Perzentil. Der Median wird durch die fett gehaltene horizontale Linie in der Box angezeigt. Die beiden vertikalen gestrichelten Linien, die als Whisker oder auch Antennen bezeichnet werden, erstrecken sich über den oberen und unteren Rand der Box, um den Bereich, in dem der überwiegende Teil der Daten liegt, zu kennzeichnen. Es gibt zahlreiche Varianten von Box-Plots (siehe z.B. die Dokumentation der R-Funktion boxplot [R-base-2015]). Standardmäßig verlängert die R-Funktion die Whisker bis zu dem Datenpunkt, der am weitesten über die Box hinausgeht – jedenfalls immer dann, wenn dieser Wert nicht mehr als das 1,5-Fache des IQR beträgt. Die matplotlib-Bibliothek verwendet die gleiche Implementierung. In anderen Softwareprogrammen kann eine abweichende Regel angewandt werden.

Alle Datenpunkte außerhalb der Whisker werden als einzelne Punkte oder Kreise dargestellt (die in der Regel als Ausreißer angesehen werden).

Praktische Statistik für Data Scientists

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