Praktische Statistik für Data Scientists. Peter Bruce

Чтение книги онлайн.

Читать онлайн книгу Praktische Statistik für Data Scientists - Peter Bruce страница 16

Автор:
Серия:
Издательство:
Praktische Statistik für Data Scientists - Peter Bruce

Скачать книгу

alt="image"/> Sowohl Häufigkeitstabellen als auch Perzentile fassen die Daten durch die Einteilung in Klassen bzw. Intervalle übersichtlich zusammen. Im Allgemeinen haben Quartile und Dezile in jeder Klasse die gleiche Anzahl an Beobachtungen (Klassen mit gleicher Anzahl – equal-count bins), aber die Klassenbreite ist für gewöhnlich unterschiedlich. Bei der Häufigkeitstabelle umfassen die Klassen hingegen eine unterschiedliche Anzahl an Beobachtungen, wohingegen die Klassenbreite identisch ist (gleich breite Klassen – equal-size bins).

      Ein Histogramm bietet die Möglichkeit, eine Häufigkeitstabelle zu visualisieren. Dabei werden die Klassen auf der x-Achse abgetragen und die Anzahl der Beobachtungen bzw. Häufigkeiten auf der y-Achse. In Abbildung 1-3 erstreckt sich die bei zehn Millionen (1e+07) Einwohnern in der Mitte befindliche Klasse von ungefähr acht bis zwölf Millionen Einwohnern und umfasst insgesamt sechs Beobachtungen. Um ein Histogramm in R zu erstellen, das dem in Tabelle 1-5 entspricht, müssen Sie lediglich die Funktion hist mit dem Argument breaks verwenden:

      hist(state[['Population']], breaks=breaks)

      Die pandas-Bibliothek unterstützt die Erstellung von Histogrammen für Data-Frame-Objekte mit der Methode DataFrame.plot.hist. Mit dem Schlüsselwortargument bins können Sie die Anzahl der Klassen bestimmen. Die verfügbaren plot-Methoden geben jeweils ein Objekt zurück, das die Koordinaten in Bezug auf die Achsen bereithält und eine weitere Feinabstimmung des Diagramms mithilfe der matplotlib-Bibliothek ermöglicht:

      ax = (state['Population'] / 1_000_000).plot.hist(figsize=(4, 4))

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

      Das Histogramm wird in Abbildung 1-3 gezeigt. Im Allgemeinen werden Histogramme so erstellt:

       Auch unbesetzte Klassen werden in die Darstellung mit einbezogen.

       Die Klassen sind gleich breit.

       Die Wahl der Anzahl der Klassen (oder, äquivalent, der Klassenbreite) ist dem Anwender überlassen.

       Die Balken sind direkt aneinander angrenzend – es entsteht kein Abstand zwischen den Balken, es sei denn, es liegt eine unbesetzte Klasse vor.

       Abbildung 1-3: Ein Histogramm der Einwohnerzahlen der Bundesstaaten

image Statistische Momente In der statistischen Theorie werden die Lage und die Streuung als die ersten und zweiten Momente einer Verteilung bezeichnet. Das dritte Moment ist als Schiefe (engl. Skewness) und vierte als Wölbung (engl. Kurtosis) bekannt. Die Schiefe bezieht sich darauf, ob die Daten zu größeren oder kleineren Werten verzerrt sind, und die Wölbung gibt die Tendenz der Daten zu Extremwerten an. In der Regel werden Metriken zur Messung von Schiefe und Wölbung nicht herangezogen; stattdessen werden diese durch Visualisierungen wie die in den Abbildungen 1-2 und 1-3 erkundet.

       Dichtediagramme und -schätzer

      Eng verwandt mit dem Histogramm ist das Dichtediagramm, das die Verteilung der Datenwerte in Form einer durchgängigen Linie zeigt. Ein Dichtediagramm kann man sich als geglättetes Histogramm vorstellen, wobei es jedoch normalerweise direkt aus den Daten durch eine Kerndichteschätzung berechnet wird (siehe [Duong-2001] für ein kurzes Einführungsbeispiel). Abbildung 1-4 stellt ein Histogramm dar, das von einer Dichteschätzung überlagert ist. In R können Sie eine Kerndichteschätzung mithilfe der Funktion +density()+ vornehmen:

      hist(state[['Murder.Rate']], freq=FALSE)

      lines(density(state[['Murder.Rate']]), lwd=3, col='blue')

      pandas bietet ebenfalls eine density-Methode zur Erstellung eines Dichtediagramms. Mit dem Argument bw_method steuern Sie die Glättung der Dichtekurve:

      ax = state['Murder.Rate'].plot.hist(density=True, xlim=[0,12], bins=range(1,12))

      state['Murder.Rate'].plot.density(ax=ax) image

      ax.set_xlabel('Mordrate (pro 100.000)')

      1 In den plot-Funktionen können Sie meist ein optionales Argument (ax) bereitstellen, das bewirkt, dass die Abbildung in dasselbe Diagramm eingezeichnet wird.

      Ein wesentlicher Unterschied zu dem Histogramm, das in Abbildung 1-3 gezeigt wird, besteht in der Skalierung der y-Achse: Ein Dichtediagramm entspricht der Darstellung des Histogramms, das einen relativen Anteil wiedergibt, und keine Absolutwerte (Anzahl bzw. Häufigkeit; Sie geben dies in R mit dem Argument freq= FALSE an). Beachten Sie, dass die Gesamtfläche unter der Dichtekurve 1 beträgt, und anstelle der Klassenanzahl berechnen Sie hierbei Flächen, die unterhalb der Kurve zwischen zwei beliebigen Punkten auf der x-Achse liegen, die dem relativen Anteil der zwischen diesen beiden Punkten liegenden Verteilung zur Gesamtverteilung entspricht.

       Abbildung 1-4: Die geschätzte Dichtefunktion für die Mordraten aller Bundesstaaten

image Dichteschätzung Die Dichteschätzung ist ein weitreichendes Thema mit einer langen Geschichte in der statistischen Literatur. Tatsächlich wurden über 20 R Pakete veröffentlicht, die Funktionen zur Dichteschätzung bereitstellen. [Deng-Wickham-2011] geben einen umfassenden Überblick über die verschiedenen Implementierungen in R, wobei sie insbesondere die Pakete ASH und KernSmooth empfehlen. Auch pandas und scikit-learn bieten hervorragende Methoden zur Dichteschätzung. Für viele datenwissenschaftliche Fragestellungen braucht man sich über die verschiedenen Arten von Dichteschätzern keine Gedanken zu machen; es genügt meist, die Basisfunktionen zu verwenden.

       Kernideen

       In einem Histogramm werden die Häufigkeit der Beobachtungen auf der y-Achse und die jeweiligen Variablenwerte auf der x-Achse abgetragen. Es vermittelt auf einen Blick einen Eindruck von der Datenverteilung.

       Eine Häufigkeitstabelle entspricht der tabellarischen Darstellung der in einem Histogramm dargestellten Häufigkeiten.

       Ein

Скачать книгу