Praktische Statistik für Data Scientists. Peter Bruce
In formaler Hinsicht ist das Perzentil ein gewichteter Durchschnitt: Perzentil(P) = (1 – w)x(j) + wx(j+1)
Beispiel: Streuungsmaße für die Einwohnerzahlen der Bundesstaaten in den USA
Tabelle 1-3 (Tabelle 1-2 wird der Einfachheit halber erneut dargestellt) zeigt die ersten paar Zeilen im Datensatz, in dem die Einwohnerzahlen und Mordraten für jeden US-Bundesstaat enthalten sind.
Tabelle 1-3: Die ersten Zeilen des data.frame mit den Einwohnerzahlen und Mordraten nach Bundesstaaten
Unter Verwendung der in R integrierten Funktionen für die Standardabweichung, den Interquartilsabstand (IQR) und die mittlere absolute Abweichung vom Median können wir Streuungsmaße für die Einwohnerstatistiken der Bundesstaaten berechnen:
> sd(state[['Population']])
[1] 6848235
> IQR(state[['Population']])
[1] 4847308
> mad(state[['Population']])
[1] 3849870
Für ein Data-Frame-Objekt stehen uns in der pandas-Bibliothek verschiedene Methoden zur Berechnung der Standardabweichung und der Quantile zur Verfügung. Nach Ermittlung der Quantilswerte können wir den IQR berechnen. Für die robuste mittlere absolute Abweichung vom Median verwenden wir die Funktion robust. scale.mad aus dem statsmodels-Paket:
state['Population'].std()
state['Population'].quantile(0.75) - state['Population'].quantile(0.25)
robust.scale.mad(state['Population'])
Die Standardabweichung ist fast doppelt so groß wie die MAD (in R wird die Skalierung der mittleren absoluten Abweichung vom Median standardmäßig so angepasst, dass der Mittelwert die gleiche Skalierung besitzt). Dies ist nicht weiter verwunderlich, da die Standardabweichung gegenüber Ausreißern sensibel ist.
Kernideen
Die Varianz und die Standardabweichung sind die am weitesten verbreiteten und routinemäßig berichteten Streuungsmaße.
Beide sind empfindlich gegenüber Ausreißern.
Zu den robusteren Maßen gehören die mittlere absolute Abweichung, die mittlere absolute Abweichung vom Median und Perzentile (Quantile).
Weiterführende Literatur
David Lanes Online-Statistik-Ratgeber hat einen Abschnitt über Perzentile (https://oreil.ly/o2fBI).
Kevin Davenport hat einen nützlichen Beitrag auf R-Bloggers (https://oreil.ly/E7zcG) über Abweichungen vom Median und ihre robusten Eigenschaften verfasst.
Exploration der Datenverteilung
Alle von uns behandelten Maße fassen die Daten in einer einzigen Zahl zusammen, um die Lage oder die Streuung der Daten zu beschreiben. Es ist auch wertvoll, zu untersuchen, wie die komplette Verteilung der Daten aussieht.
Schlüsselbegriffe zur Exploration von Verteilungen
Box-Plot
Ein von Tukey eingeführtes Diagramm zur schnellen Visualisierung der Datenverteilung.
Synonyme
Box-Whisker-Plot, Kastengrafik
Häufigkeitstabelle
Eine Übersicht über die Anzahl der numerischen Werte, die in eine Menge von Intervallen (Klassen, engl. Bins) fallen.
Histogramm
Ein Diagramm der Häufigkeitstabelle mit den Intervallen auf der x-Achse und der Anzahl (oder dem relativen Anteil) auf der y-Achse. Balkendiagramme sind zwar ähnlich, sollten aber nicht mit Histogrammen verwechselt werden (siehe »Binäre und kategoriale Daten untersuchen« auf Seite 28 für eine Erläuterung des Unterschieds).
Dichtediagramm
Eine geglättete Version des Histogramms, oft basierend auf einer Kerndichteschätzung (engl. Kernel Density Estimate).
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