Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Statistische Methoden sind ein zentraler Bestandteil der Arbeit mit Daten, doch nur wenige Data Scientists haben eine formale statistische Ausbildung. In Kursen und Büchern über die Grundlagen der Statistik wird das Thema aber selten aus der Sicht von Data Scientists behandelt. Viele stellen daher fest, dass ihnen eine tiefere statistische Perspektive auf ihre Daten fehlt.
Dieses praxisorientierte Handbuch mit zahlreichen Beispielen in Python und R erklärt Ihnen, wie Sie verschiedene statistische Methoden speziell in den Datenwissenschaften anwenden. Es zeigt Ihnen auch, wie Sie den falschen Gebrauch von statistischen Methoden vermeiden können, und gibt Ratschläge, welche statistischen Konzepte für die Datenwissenschaften besonders relevant sind. Wenn Sie mit R oder Python vertraut sind, ermöglicht diese zugängliche, gut lesbare Referenz es Ihnen, Ihr statistisches Wissen für die Praxis deutlich auszubauen.
Sie lesen das E-Book in den Legimi-Apps auf:
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Zu diesem Buch – sowie zu vielen weiteren O’Reilly-Büchern – können Sie auch das entsprechende E-Book im PDF-Format herunterladen. Werden Sie dazu einfach Mitglied bei oreilly.plus+:
www.oreilly.plus
50+ essenzielle Konzepte mit R und Python
Peter Bruce, Andrew Bruce & Peter Gedeck
Deutsche Übersetzung von Marcus Fraaß
Peter Bruce, Andrew Bruce, Peter Gedeck
Lektorat: Alexandra Follenius
Übersetzung: Marcus Fraaß
Korrektorat: Sibylle Feldmann, www.richtiger-text.de
Satz: III-satz, www.drei-satz.de
Herstellung: Stefanie Weidner
Umschlaggestaltung: Karen Montgomery, Michael Oréal, www.oreal.de
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
ISBN:
Print 978-3-96009-153-0
PDF 978-3-96010-467-4
ePub 978-3-96010-468-1
mobi 978-3-96010-469-8
1. Auflage
Translation Copyright für die deutschsprachige Ausgabe © 2021 dpunkt.verlag GmbH
Wieblinger Weg 17
69123 Heidelberg
Authorized German translation of the English edition of Practical Statistics for Data Scientists, 2nd Edition, ISBN 9781492072942 © 2020 Peter Bruce, Andrew Bruce, and Peter Gedeck. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same.
Dieses Buch erscheint in Kooperation mit O’Reilly Media, Inc. unter dem Imprint »O’REILLY«. O’REILLY ist ein Markenzeichen und eine eingetragene Marke von O’Reilly Media, Inc. und wird mit Einwilligung des Eigentümers verwendet.
Hinweis:
Dieses Buch wurde auf PEFC-zertifiziertem Papier aus nachhaltiger Waldwirtschaft gedruckt. Der Umwelt zuliebe verzichten wir zusätzlich auf die Einschweißfolie.
Schreiben Sie uns:
Falls Sie Anregungen, Wünsche und Kommentare haben, lassen Sie es uns wissen: [email protected].
Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.
Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.
Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag noch Übersetzer können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.
5 4 3 2 1 0
Vorwort
1Explorative Datenanalyse
Strukturierte Datentypen
Weiterführende Literatur
Tabellarische Daten
Data Frames und Tabellen
Nicht tabellarische Datenstrukturen
Weiterführende Literatur
Lagemaße
Mittelwert
Median und andere robuste Lagemaße
Beispiel: Lagemaße für Einwohnerzahlen und Mordraten
Weiterführende Literatur
Streuungsmaße
Standardabweichung und ähnliche Maße
Streuungsmaße auf Basis von Perzentilen
Beispiel: Streuungsmaße für die Einwohnerzahlen der Bundesstaaten in den USA
Weiterführende Literatur
Exploration der Datenverteilung
Perzentile und Box-Plots
Häufigkeitstabellen und Histogramme
Dichtediagramme und -schätzer
Weiterführende Literatur
Binäre und kategoriale Daten untersuchen
Modus
Erwartungswert
Wahrscheinlichkeiten
Weiterführende Literatur
Korrelation
Streudiagramme
Weiterführende Literatur
Zwei oder mehr Variablen untersuchen
Hexagonal-Binning- und Konturdiagramme (Diagramme für mehrere numerische Variablen)
Zwei kategoriale Variablen
Kategoriale und numerische Variablen
Mehrere Variablen visualisieren
Weiterführende Literatur
Zusammenfassung
2Daten- und Stichprobenverteilungen
Zufallsstichprobenziehung und Stichprobenverzerrung
Verzerrung
Zufallsauswahl
Größe versus Qualität: Wann spielt die Stichprobengröße eine Rolle?
Unterschied zwischen dem Stichproben- und dem Populationsmittelwert
Weiterführende Literatur
Auswahlverzerrung
Regression zur Mitte
Weiterführende Literatur
Stichprobenverteilung einer statistischen Größe
Zentraler Grenzwertsatz
Standardfehler
Weiterführende Literatur
Bootstrap-Verfahren
Unterschiede zwischen Resampling und dem Bootstrap-Verfahren
Weiterführende Literatur
Konfidenzintervalle
Weiterführende Literatur
Normalverteilung
Standardnormalverteilung und Q-Q-Diagramme
Verteilungen mit langen Verteilungsenden
Weiterführende Literatur
Studentsche t-Verteilung
Weiterführende Literatur
Binomialverteilung
Weiterführende Literatur
Chi-Quadrat-Verteilung
Weiterführende Literatur
F-Verteilung
Weiterführende Literatur
Poisson- und verwandte Verteilungen
Poisson-Verteilung
Exponentialverteilung
Die Hazardrate schätzen
Weibull-Verteilung
Weiterführende Literatur
Zusammenfassung
3Statistische Versuche und Signifikanztests
A/B-Test
Warum eine Kontrollgruppe nutzen?
Warum lediglich A/B? Warum nicht auch C, D usw.?
Weiterführende Literatur
Hypothesentests
Die Nullhypothese
Die Alternativhypothese
Einseitige und zweiseitige Hypothesentests
Weiterführende Literatur
Resampling
Permutationstest
Beispiel: Die Affinität von Nutzern zu einem Webinhalt messen (Web-Stickiness)
Exakte und Bootstrap-Permutationstests
Permutationstests: ein geeigneter Ausgangspunkt in der Data Science
Weiterführende Literatur
Statistische Signifikanz und p-Werte
p-Wert
Signifikanzniveau
Fehler 1. und 2. Art
Data Science und p-Werte
Weiterführende Literatur
t-Tests
Weiterführende Literatur
Testen mehrerer Hypothesen
Weiterführende Literatur
Die Anzahl der Freiheitsgrade
Weiterführende Literatur
Varianzanalyse (ANOVA)
F-Statistik
Zweifaktorielle Varianzanalyse
Weiterführende Literatur
Chi-Quadrat-Test
Chi-Quadrat-Test: ein Resampling-Ansatz
Chi-Quadrat-Test: die statistische Theorie
Exakter Test nach Fisher
Relevanz in der Data Science
Weiterführende Literatur
Mehrarmige Banditen
Weiterführende Literatur
Trennschärfe und Stichprobengröße
Stichprobengröße
Weiterführende Literatur
Zusammenfassung
4Regression und Vorhersage
Lineare Einfachregression
Die Regressionsgleichung
Angepasste Werte und Residuen
Die Methode der kleinsten Quadrate
Unterschied zwischen Vorhersage- und erklärenden Modellen
Weiterführende Literatur
Multiple lineare Regression
Beispiel: Die King-County-Immobiliendaten
Das Modell bewerten
Kreuzvalidierung
Modellauswahl und schrittweise Regression
Gewichtete Regression
Weiterführende Literatur
Vorhersage mittels Regression
Risiken bei der Extrapolation
Konfidenz- und Prognoseintervalle
Regression mit Faktorvariablen
Darstellung durch Dummy-Variablen
Faktorvariablen mit vielen Stufen
Geordnete Faktorvariablen
Interpretieren der Regressionsgleichung
Korrelierte Prädiktorvariablen
Multikollinearität
Konfundierende Variablen
Interaktions- und Haupteffekte
Regressionsdiagnostik
Ausreißer
Einflussreiche Beobachtungen
Heteroskedastische, nicht normalverteilte und korrelierte Fehler
Partielle Residuendiagramme und Nichtlinearität
Polynomiale und Spline-Regression
Polynome
Splines
Verallgemeinerte additive Modelle
Weiterführende Literatur
Zusammenfassung
5Klassifikation
Naiver Bayes-Klassifikator
Warum eine exakte bayessche Klassifikation nicht praktikabel ist
Die naive Lösung
Numerische Prädiktorvariablen
Weiterführende Literatur
Diskriminanzanalyse
Kovarianzmatrix
Lineare Diskriminanzanalyse nach Fisher
Ein einfaches Beispiel
Weiterführende Literatur
Logistische Regression
Logistische Antwortfunktion und Logit-Funktion
Logistische Regression und verallgemeinerte lineare Modelle
Verallgemeinerte lineare Modelle
Vorhergesagte Werte aus der logistischen Regression
Interpretation der Koeffizienten und Odds-Ratios
Lineare und logistische Regression: Gemeinsamkeiten und Unterschiede
Das Modell prüfen und bewerten
Weiterführende Literatur
Klassifikationsmodelle bewerten
Konfusionsmatrix
Die Problematik seltener Kategorien
Relevanz, Sensitivität und Spezifität
ROC-Kurve
Fläche unter der ROC-Kurve (AUC)
Lift
Weiterführende Literatur
Strategien bei unausgewogenen Daten
Undersampling
Oversampling und Up/Down Weighting
Generierung von Daten
Kostenbasierte Klassifikation
Die Vorhersagen untersuchen
Weiterführende Literatur
Zusammenfassung
6Statistisches maschinelles Lernen
K-Nächste-Nachbarn
Ein kleines Beispiel: Vorhersage von Kreditausfällen
Distanzmaße
1-aus-n-Codierung
Standardisierung (Normierung, z-Werte)
K festlegen
KNN zur Merkmalskonstruktion
Baummodelle
Ein einfaches Beispiel
Der Recursive-Partitioning-Algorithmus
Homogenität und Unreinheit messen
Den Baum daran hindern, weiterzuwachsen
Vorhersage eines kontinuierlichen Werts
Wie Bäume verwendet werden
Weiterführende Literatur
Bagging und Random Forests
Bagging
Random Forest
Variablenwichtigkeit
Hyperparameter
Boosting
Der Boosting-Algorithmus
XGBoost
Regularisierung: Überanpassung vermeiden
Hyperparameter und Kreuzvalidierung
Zusammenfassung
7Unüberwachtes Lernen
Hauptkomponentenanalyse
Ein einfaches Beispiel
Die Hauptkomponenten berechnen
Die Hauptkomponenten interpretieren
Korrespondenzanalyse
Weiterführende Literatur
K-Means-Clustering
Ein einfaches Beispiel
Der K-Means-Algorithmus
Die Cluster interpretieren
Die Anzahl von Clustern bestimmen
Hierarchische Clusteranalyse
Ein einfaches Beispiel
Das Dendrogramm
Der agglomerative Algorithmus
Ähnlichkeitsmaße
Modellbasierte Clusteranalyse
Multivariate Normalverteilung
Zusammengesetzte Normalverteilungen (gaußsche Mischverteilungen)
Die Anzahl der Cluster bestimmen
Weiterführende Literatur
Skalierung und kategoriale Variablen
Variablen skalieren
Dominierende Variablen
Kategoriale Daten und die Gower-Distanz
Probleme bei der Clusteranalyse mit verschiedenen Datentypen
Zusammenfassung
Quellenangaben
Index
Dieses Buch richtet sich an Data Scientists, die mit den Programmiersprachen R und/oder Python vertraut sind und sich bereits früher (wenn auch nur punktuell oder zeitweise) mit Statistik beschäftigt haben. Zwei der Autoren entstammen der Welt der Statistik, ehe sie sich in den weiten Raum der Data Science begeben haben, und schätzen den Beitrag, den die Statistik zur Datenwissenschaft zu leisten vermag, sehr. Gleichzeitig sind wir uns der Grenzen des traditionellen Statistikunterrichts durchaus bewusst: Statistik als Disziplin ist anderthalb Jahrhunderte alt, und die meisten Statistiklehrbücher und -kurse sind nicht gerade von Dynamik geprägt, sondern erinnern eher an die Trägheit eines Ozeanriesen. Alle Methoden in diesem Buch haben einen gewissen historischen oder methodologischen Bezug zur Disziplin der Statistik. Methoden, die sich hauptsächlich aus der Informatik entwickelt haben, wie z.B. neuronale Netze, werden nicht behandelt.
Diesem Buch liegen zwei Ziele zugrunde:
Schlüsselbegriffe aus der Statistik, die für die Data Science relevant sind, in zugänglicher, übersichtlich gegliederter und leicht referenzierbarer Form darzulegen.
Eine Erläuterung dazu zu geben, welche Konzepte aus datenwissenschaftlicher Sicht wichtig und nützlich sind, welche weniger wichtig sind und warum.
Die folgenden typografischen Konventionen werden in diesem Buch verwendet:
Kursiv
Kennzeichnet neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateiendungen.
Konstante Zeichenbreite
Wird für Programmlistings und für Programmelemente in Textabschnitten wie Namen von Variablen und Funktionen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter verwendet.
Konstante Zeichenbreite, fett
Kennzeichnet Befehle oder anderen Text, den der Nutzer wörtlich eingeben sollte.
Die Data Science baut auf mehreren Disziplinen auf, darunter Statistik, Informatik, Informationstechnologie und domänenspezifische Bereiche. Infolgedessen können mehrere unterschiedliche Begriffe verwendet werden, um auf ein bestimmtes Konzept zu verweisen. Schlüsselbegriffe und ihre Synonyme werden im gesamten Buch in einem Kasten wie diesem hervorgehoben.
Dieses Symbol steht für einen Tipp oder eine Empfehlung.
Dieses Symbol steht für einen allgemeinen Hinweis.
Dieses Symbol warnt oder mahnt zur Vorsicht.
Zu sämtlichen Beispielen zeigen wir in diesem Buch die entsprechenden Codebeispiele – zuerst immer in R und dann in Python. Um unnötige Wiederholungen zu vermeiden, zeigen wir im Allgemeinen nur Ausgaben und Diagramme, die durch den R-Code erzeugt wurden. Wir klammern auch den Code aus, der zum Laden der erforderlichen Pakete und Datensätze erforderlich ist. Den vollständigen Code sowie die Datensätze zum Herunterladen finden Sie unter https://github.com/gedeck/practical-statistics-for-data-scientists.
Dieses Buch dient dazu, Ihnen beim Erledigen Ihrer Arbeit zu helfen. Im Allgemeinen dürfen Sie die Codebeispiele aus diesem Buch in Ihren eigenen Programmen und der dazugehörigen Dokumentation verwenden. Sie müssen uns dazu nicht um Erlaubnis bitten, solange Sie nicht einen beträchtlichen Teil des Codes reproduzieren. Beispielsweise benötigen Sie keine Erlaubnis, um ein Programm zu schreiben, in dem mehrere Codefragmente aus diesem Buch vorkommen. Wollen Sie dagegen eine CD-ROM mit Beispielen aus Büchern von O’Reilly verkaufen oder verteilen, brauchen Sie eine Erlaubnis. Eine Frage zu beantworten, indem Sie aus diesem Buch zitieren und ein Codebeispiel wiedergeben, benötigt keine Erlaubnis. Eine beträchtliche Menge Beispielcode aus diesem Buch in die Dokumentation Ihres Produkts aufzunehmen, bedarf hingegen unserer ausdrücklichen Zustimmung.
Wir freuen uns über Zitate, verlangen diese aber nicht. Ein Zitat enthält Titel, Autor, Verlag und ISBN, zum Beispiel: »Praktische Statistik für Data Scientists von Peter Bruce, Andrew Bruce und Peter Gedeck (O’Reilly). Copyright 2020 Peter Bruce, Andrew Bruce und Peter Gedeck, ISBN 978-3-96009-153-0.«
Wenn Sie glauben, dass Ihre Verwendung von Codebeispielen über die übliche Nutzung hinausgeht oder außerhalb der oben vorgestellten Nutzungsbedingungen liegt, kontaktieren Sie uns bitte unter [email protected].
Die Autoren danken den zahlreichen Menschen, die dazu beigetragen haben, dieses Buch Wirklichkeit werden zu lassen.
Gerhard Pilcher, CEO des Data-Mining-Unternehmens Elder Research, sah frühe Entwürfe des Buchs und half uns mit detaillierten und hilfreichen Korrekturen sowie Kommentaren. Ebenso gaben Anya McGuirk und Wei Xiao, Statistiker bei SAS, und Jay Hilfiger, ebenfalls Autor von O’Reilly, hilfreiches Feedback zu den ersten Entwürfen des Buchs. Toshiaki Kurokawa, der die erste Auflage ins Japanische übersetzte, leistete dabei umfassende Überarbeitungs- und Korrekturarbeit. Aaron Schumacher und Walter Paczkowski haben die zweite Auflage des Buchs gründlich überarbeitet und zahlreiche hilfreiche und wertvolle Anregungen gegeben, für die wir sehr dankbar sind. Es versteht sich von selbst, dass alle noch verbleibenden Fehler allein auf uns zurückzuführen sind.
Bei O’Reilly begleitete uns Shannon Cutt mit guter Laune und der richtigen Portion Nachdruck durch den Publikationsprozess, während Kristen Brown unser Buch reibungslos durch den Produktionsprozess geführt hat. Rachel Monaghan und Eliahu Sussman korrigierten und verbesserten unser Buch mit Sorgfalt und Geduld, während Ellen Troutman-Zaig den Index erarbeitete. Nicole Tache übernahm das Lektorat der zweiten Auflage und hat den Prozess effektiv geleitet sowie viele gute redaktionelle Vorschläge gemacht, um die Lesbarkeit des Buchs für ein breites Publikum zu verbessern. Wir danken auch Marie Beaugureau, die unser Projekt bei O’Reilly initiiert hat, sowie Ben Bengfort, Autor von O’Reilly und Ausbilder bei Statistics.com, der uns O’Reilly vorgestellt hat.
Wir und dieses Buch haben auch von den vielen Gesprächen profitiert, die Peter im Laufe der Jahre mit Galit Shmueli, Mitautorin bei anderen Buchprojekten, geführt hat.
Schließlich möchten wir besonders Elizabeth Bruce und Deborah Donnell danken, deren Geduld und Unterstützung dieses Vorhaben möglich gemacht haben.
Dieses Kapitel erläutert Ihnen den ersten Schritt in jedem datenwissenschaftlichen Projekt: die Datenexploration.
Die klassische Statistik konzentrierte sich fast ausschließlich auf die Inferenz, einen manchmal komplexen Satz von Verfahren, um aus kleinen Stichproben Rückschlüsse auf eine größere Grundgesamtheit zu ziehen. Im Jahr 1962 forderte John W. Tukey (https://oreil.ly/LQw6q) (siehe Abbildung 1-1) in seinem bahnbrechenden Aufsatz »The Future of Data Analysis« [Tukey-1962] eine Reform der Statistik. Er schlug eine neue wissenschaftliche Disziplin namens Datenanalyse vor, die die statistische Inferenz lediglich als eine Komponente enthielt. Tukey knüpfte Kontakte zu den Ingenieurs- und Informatikgemeinschaften (er prägte die Begriffe Bit, kurz für Binärziffer, und Software). Seine damaligen Ansätze haben bis heute überraschend Bestand und bilden einen Teil der Grundlagen der Data Science. Der Fachbereich der explorativen Datenanalyse wurde mit Tukeys im Jahr 1977 erschienenem und inzwischen als Klassiker geltendem Buch Exploratory Data Analysis [Tukey-1977] begründet. Tukey stellte darin einfache Diagramme (z.B. Box-Plots und Streudiagramme) vor, die in Kombination mit zusammenfassenden Statistiken (Mittelwert, Median, Quantile usw.) dabei helfen, ein Bild eines Datensatzes zu zeichnen.
Abbildung 1-1: John Tukey, der bedeutende Statistiker, dessen vor über 50 Jahren entwickelte Ideen die Grundlage der Data Science bilden
Mit der zunehmenden Verfügbarkeit von Rechenleistung und leistungsfähigen Datenanalyseprogrammen hat sich die explorative Datenanalyse weit über ihren ursprünglichen Rahmen hinaus weiterentwickelt. Die wichtigsten Triebkräfte dieser Disziplin waren die rasche Entwicklung neuer Technologien, der Zugang zu mehr und umfangreicheren Daten und der verstärkte Einsatz der quantitativen Analyse in einer Vielzahl von Disziplinen. David Donoho, Professor für Statistik an der Stanford University und ehemaliger Student Tukeys, verfasste einen ausgezeichneten Artikel auf der Grundlage seiner Präsentation auf dem Workshop zur Hundertjahrfeier von Tukey in Princeton, New Jersey [Donoho-2015]. Donoho führt die Entwicklung der Data Science auf Tukeys Pionierarbeit in der Datenanalyse zurück.
Es gibt zahlreiche unterschiedliche Datenquellen: Sensormessungen, Ereignisse, Text, Bilder und Videos. Das Internet der Dinge (engl. Internet of Things (IoT)) produziert ständig neue Informationsfluten. Ein Großteil dieser Daten liegt unstrukturiert vor: Bilder sind nichts anderes als eine Zusammenstellung von Pixeln, wobei jedes Pixel RGB-Farbinformationen (Rot, Grün, Blau) enthält. Texte sind Folgen von Wörtern und Nicht-Wortzeichen, die oft in Abschnitte, Unterabschnitte usw. gegliedert sind. Clickstreams sind Handlungsverläufe eines Nutzers, der mit einer Anwendung oder einer Webseite interagiert. Tatsächlich besteht eine große Herausforderung der Datenwissenschaft darin, diese Flut von Rohdaten in verwertbare Informationen zu überführen. Um die in diesem Buch behandelten statistischen Konzepte in Anwendung zu bringen, müssen unstrukturierte Rohdaten zunächst aufbereitet und in eine strukturierte Form überführt werden. Eine der am häufigsten vorkommenden Formen strukturierter Daten ist eine Tabelle mit Zeilen und Spalten – so wie Daten aus einer relationalen Datenbank oder Daten, die für eine Studie erhoben wurden.
Es gibt zwei grundlegende Arten strukturierter Daten: numerische und kategoriale Daten. Numerische Daten treten in zwei Formen auf: kontinuierlich, wie z.B. die Windgeschwindigkeit oder die zeitliche Dauer, und diskret, wie z.B. die Häufigkeit des Auftretens eines Ereignisses. Kategoriale Daten nehmen nur einen bestimmten Satz von Werten an, wie z.B. einen TV-Bildschirmtyp (Plasma, LCD, LED usw.) oder den Namen eines Bundesstaats (Alabama, Alaska usw.). Binäre Daten sind ein wichtiger Spezialfall kategorialer Daten, die nur einen von zwei möglichen Werten annehmen, wie z.B. 0 oder 1, ja oder nein oder auch wahr oder falsch. Ein weiterer nützlicher kategorialer Datentyp sind ordinalskalierte Daten, bei denen die Kategorien in einer Reihenfolge geordnet sind; ein Beispiel hierfür ist eine numerische Bewertung (1, 2, 3, 4 oder 5).
Warum plagen wir uns mit der Taxonomie der Datentypen herum? Es stellt sich heraus, dass für die Zwecke der Datenanalyse und der prädiktiven Modellierung der Datentyp wichtig ist, um die Art der visuellen Darstellung, der Datenanalyse oder des statistischen Modells zu bestimmen. Tatsächlich verwenden datenwissenschaftliche Softwareprogramme wie R und Python diese Datentypen, um die Rechenleistung zu optimieren. Noch wichtiger ist es, dass der Datentyp einer Variablen ausschlaggebend dafür ist, wie das Programm die Berechnungen für diese Variable handhabt.
Numerisch
Daten, die auf einer numerischen Skala abgebildet sind.
Kontinuierlich
Daten, die innerhalb eines Intervalls einen beliebigen Wert annehmen können.
Synonyme
intervallskaliert, Gleitkommazahl, numerisch
Diskret
Daten, die nur ganzzahlige Werte annehmen können, wie z. B. Häufigkeiten bzw. Zählungen.
Synonyme
Ganzzahl, Zählwert
Kategorial
Daten, die nur einen bestimmten Satz von Werten annehmen können, die wiederum einen Satz von möglichen Kategorien repräsentieren.
Synonyme
Aufzählungstyp, Faktor, faktoriell, nominal
Binär
Ein Spezialfall des kategorialen Datentyps mit nur zwei möglichen Ausprägungen, z.B. 0/1, wahr/falsch.
Synonyme
dichotom, logisch, Indikatorvariable, boolesche Variable
Ordinalskaliert
Kategoriale Daten, die eine eindeutige Reihenfolge bzw. Rangordnung haben.
Synonym
geordneter Faktor
Softwareingenieure und Datenbankprogrammierer fragen sich vielleicht, warum wir überhaupt den Begriff der kategorialen und ordinalskalierten Daten für unsere Analyse benötigen. Schließlich sind Kategorien lediglich eine Sammlung von Text- (oder numerischen) Werten, und die zugrunde liegende Datenbank übernimmt automatisch die interne Darstellung. Die explizite Bestimmung von Daten als kategoriale Daten im Vergleich zu Textdaten bietet jedoch einige Vorteile:
Die Kenntnis, dass Daten kategorial sind, kann als Signal dienen, durch das ein Softwareprogramm erkennen kann, wie sich statistische Verfahren wie die Erstellung eines Diagramms oder die Anpassung eines Modells verhalten sollen. Insbesondere ordinalskalierte Daten können als
ordered.factor
in
R
angegeben werden, wodurch eine benutzerdefinierte Ordnung in Diagrammen, Tabellen und Modellen erhalten bleibt. In
Python
unterstützt
scikit-learn
ordinalskalierte Daten mit der Methode
sklearn.preprocessing.OrdinalEncoder
.
Das Speichern und Indizieren kann optimiert werden (wie in einer relationalen Datenbank).
Die möglichen Werte, die eine gegebene kategoriale Variable annehmen kann, werden in dem Softwareprogramm erzwungen (wie bei einer Aufzählung).
Der dritte »Vorteil« kann zu unbeabsichtigtem bzw. unerwartetem Verhalten führen: Das Standardverhalten von Datenimportfunktionen in R (z.B. read.csv) besteht darin, eine Textspalte automatisch in einen factor umzuwandeln. Bei nachfolgenden Operationen auf dieser Spalte wird davon ausgegangen, dass die einzigen zulässigen Werte für diese Spalte die ursprünglich importierten sind und die Zuweisung eines neuen Textwerts eine Warnung verursacht sowie einen Eintrag mit dem Wert NA (ein fehlender Wert) erzeugt. Das pandas-Paket in Python nimmt diese Umwandlung nicht automatisch vor. Sie können jedoch in der Funktion read_csv eine Spalte explizit als kategorial spezifizieren.
Datentypen können verwirrend sein, da sich Typen überschneiden und die Taxonomie in einem Softwareprogramm von der in einem anderen abweichen kann. Auf der R-Tutorial-Webseite (
https://oreil.ly/2YUoA
) können Sie die Taxonomie in
R
nachvollziehen. Die
pandas
-Dokumentation (
https://oreil.ly/UGX-4
) beschreibt die verschiedenen Datentypen in
Python
und wie sie verändert werden können.
Datenbanken sind in ihrer Einteilung der Datentypen detaillierter und berücksichtigen Präzisionsniveaus, Datenfelder fester oder variabler Länge und mehr (siehe den W3Schools-SQL-Leitfaden (
https://oreil.ly/cThTM
).)
Der typische Bezugsrahmen für eine Analyse in der Data Science ist ein tabellarisches Datenobjekt (engl. Rectangular Data Object), wie eine Tabellenkalkulation oder eine Datenbanktabelle.
»Tabellarische Daten« ist der allgemeine Begriff für eine zweidimensionale Matrix mit Zeilen für die Beobachtungen (Fälle) und Spalten für die Merkmale (Variablen); in R und Python wird dies als Data Frame bezeichnet. Die Daten sind zu Beginn nicht immer in dieser Form vorhanden: Unstrukturierte Daten (z.B. Text) müssen zunächst so verarbeitet und aufbereitet werden, dass sie als eine Reihe von Merkmalen in tabellarischer Struktur dargestellt werden können (siehe »Strukturierte Datentypen« auf Seite 2). Daten in relationalen Datenbanken müssen für die meisten Datenanalyse- und Modellierungsaufgaben extrahiert und in eine einzelne Tabelle überführt werden.
Data Frame
Tabellarische Daten (wie ein Tabellenkalkulationsblatt) sind die grundlegende Datenstruktur für statistische und maschinelle Lernmodelle.
Merkmal
Eine Spalte innerhalb einer Tabelle wird allgemein als Merkmal (engl. Feature) bezeichnet.
Synonyme
Attribut, Eingabe, Prädiktorvariable, Prädiktor, unabhängige Variable
Ergebnis
Viele datenwissenschaftliche Projekte zielen auf die Vorhersage eines Ergebnisses (engl. Outcome) ab – oft in Form eines Ja-oder-Nein-Ergebnisses (ob beispielsweise in Tabelle 1-1 eine »Auktion umkämpft war oder nicht«). Die Merkmale werden manchmal verwendet, um das Ergebnis eines statistischen Versuchs oder einer Studie vorherzusagen..
Synonyme
Ergebnisvariable, abhängige Variable, Antwortvariable, Zielgröße, Ausgabe, Responsevariable
Eintrag
Eine Zeile innerhalb einer Tabelle wird allgemein als Eintrag (engl. Record) bezeichnet.
Synonyme
Fall, Beispiel, Instanz, Beobachtung
Tabelle 1-1: Ein typisches Data-Frame-Format
In Tabelle 1-1 gibt es eine Kombination aus Mess- oder Zähldaten (z.B. Dauer und Preis) und kategorialen Daten (z.B. Kategorie und Währung). Wie bereits erwähnt, ist eine besondere Form der kategorialen Variablen eine binäre Variable (ja/nein oder 0/1), wie in der Spalte ganz rechts in Tabelle 1-1 – eine Indikatorvariable, die angibt, ob eine Auktion umkämpft war (mehrere Bieter hatte) oder nicht. Diese Indikatorvariable ist zufällig auch eine Ergebnisvariable, wenn das Modell vorhersagen soll, ob eine Auktion umkämpft sein wird oder nicht.
Klassische Datenbanktabellen haben eine oder mehrere Spalten, die als Index bezeichnet werden und im Wesentlichen eine Zeilennummer darstellen. Dies kann die Effizienz bestimmter Datenbankabfragen erheblich verbessern. In Pythonspandas-Bibliothek wird die grundlegende tabellarische Datenstruktur durch ein Data-Frame-Objekt umgesetzt. Standardmäßig wird automatisch ein ganzzahliger Index für ein Data-Frame-Objekt basierend auf der Reihenfolge der Zeilen erstellt. In pandas ist es auch möglich, mehrstufige bzw. hierarchische Indizes festzulegen, um die Effizienz bestimmter Operationen zu verbessern.
In R ist die grundlegende tabellarische Datenstruktur mittels eines data.frame-Objekts implementiert. Ein data.frame hat auch einen impliziten ganzzahligen Index, der auf der Zeilenreihenfolge basiert. Der standardmäßige data.frame in R unterstützt keine benutzerdefinierten oder mehrstufigen Indizes. Jedoch kann über das Argument row.names ein benutzerdefinierter Schlüssel erstellt werden. Um diesem Problem zu begegnen, werden immer häufiger zwei neuere Pakete eingesetzt: data.table und dplyr. Beide unterstützen mehrstufige Indizes und bieten erhebliche Beschleunigungen bei der Arbeit mit einem data.frame.
Unterschiede in der Terminologie
Die Terminologie bei tabellarischen Daten kann verwirrend sein. Statistiker und Data Scientists verwenden oftmals unterschiedliche Begriffe für ein und denselben Sachverhalt. Statistiker nutzen in einem Modell Prädiktorvariablen, um eine Antwortvariable (engl. Response) oder eine abhängige Variable vorherzusagen. Ein Datenwissenschaftler spricht von Merkmalen (engl. Features), um eine Zielgröße (engl. Target) vorherzusagen. Ein Synonym ist besonders verwirrend: Informatiker verwenden den Begriff Stichprobe (engl. Sample) für eine einzelne Datenzeile, für einen Statistiker ist eine Stichprobe hingegen eine Sammlung von Datenzeilen.
Neben tabellarischen Daten gibt es noch andere Datenstrukturen.
Zeitreihendaten umfassen aufeinanderfolgende Messungen derselben Variablen. Sie sind das Rohmaterial für statistische Prognosemethoden und auch eine zentrale Komponente der von Geräten – dem Internet der Dinge – erzeugten Daten.
Räumliche Daten- bzw. Geodatenstrukturen, die bei der Kartierung und Standortanalyse verwendet werden, sind komplexer und vielfältiger als tabellarische Datenstrukturen. In der Objektdarstellung (engl. Object Representation) stehen ein Objekt (z.B. ein Haus) und seine räumlichen Koordinaten im Mittelpunkt der Daten. Die Feldansicht (engl. Field View) hingegen konzentriert sich auf kleine räumliche Einheiten und den Wert einer relevanten Metrik (z.B. Pixelhelligkeit).
Graphen- (oder Netzwerk-) Datenstrukturen werden verwendet, um physikalische, soziale oder abstrakte Beziehungen darzustellen. Beispielsweise kann ein Diagramm eines sozialen Netzwerks wie Facebook oder LinkedIn Verbindungen zwischen Menschen im Netzwerk darstellen. Ein Beispiel für ein physisches Netzwerk sind Vertriebszentren, die durch Straßen miteinander verbunden sind. Diagrammstrukturen sind für bestimmte Arten von Fragestellungen nützlich, wie z.B. bei der Netzwerkoptimierung und bei Empfehlungssystemen.
Jeder dieser Datentypen hat seine eigene spezifische Methodologie in der Data Science. Der Schwerpunkt dieses Buchs liegt auf tabellarische Daten, dem grundlegenden Baustein der prädiktiven Modellierung.
Graphen in der Statistik
In der Informatik und der Informationstechnologie bezieht sich der Begriff Graph typischerweise auf die Darstellung von Verbindungen zwischen Entitäten und auf die zugrunde liegende Datenstruktur. In der Statistik wird der Begriff Graph verwendet, um sich auf eine Vielzahl von Darstellungen und Visualisierungen zu beziehen, nicht nur von Verbindungen zwischen Entitäten. Zudem bezieht er sich ausschließlich auf die Visualisierung und nicht auf die Datenstruktur.
Dokumentation zu Data Frames in
R
(
https://oreil.ly/NsONR
)
Dokumentation zu Data Frames in
Python
(
https://oreil.ly/oxDKQ
)
Variablen für Mess- oder Zähldaten können Tausende von unterschiedlichen Werten haben. Ein grundlegender Schritt bei der Erkundung Ihrer Daten ist die Ermittlung eines »typischen Werts« für jedes Merkmal (Variable) – ein sogenanntes Lagemaß (engl. Estimates of Location): eine Schätzung darüber, wo sich die Mehrheit der Daten konzentriert (d.h. ihre zentrale Tendenz).
Mittelwert
Die Summe aller Werte dividiert durch die Anzahl der Werte.
Synonyme
arithmetisches Mittel, Durchschnitt
Gewichteter Mittelwert
Die Summe aller Werte, die jeweils mit einem Gewicht bzw. einem Gewichtungsfaktor multipliziert werden, geteilt durch die Summe aller Gewichte.
Synonym
gewichteter Durchschnitt
Median
Der Wert, bei dem die Hälfte der Daten oberhalb und die andere Hälfte unterhalb dieses Werts liegt.
Synonym
50%-Perzentil
Perzentil
Der Wert, bei dem P % der Daten unterhalb dieses Werts liegen.
Synonym
Quantil
Gewichteter Median
Der Wert, bei dem die Summe der Gewichte der sortierten Daten exakt die Hälfte beträgt und der die Daten so einteilt, dass sie entweder oberhalb oder unterhalb diesen Werts liegen.
Getrimmter Mittelwert
Der Mittelwert aller Werte, nachdem eine vorgegebene Anzahl von Ausreißern entfernt wurde.
Synonym
gestutzter Mittelwert
Robust
Nicht sensibel gegenüber Ausreißern.
Ausreißer
Ein Datenwert, der sich stark von den übrigen Daten unterscheidet.
Synonym
Extremwert
Auf den ersten Blick mag für Sie die Ermittlung einer zusammenfassenden Größe, die Aufschluss über einen vorliegenden Datensatz gibt, ziemlich trivial erscheinen: Sie nehmen einfach den Mittelwert, der sich für den Datensatz ergibt. Tatsächlich ist der Mittelwert zwar leicht zu berechnen und relativ zweckmäßig, aber er ist nicht immer das beste Maß zur Bestimmung eines Zentralwerts. Aus diesem Grund haben Statistiker mehrere alternative Schätzer zum Mittelwert entwickelt und befürwortet.
Metriken und Schätzwerte
Statistiker verwenden oft den Begriff Schätzwert für einen aus den vorliegenden Daten berechneten Wert, um zwischen dem, was wir aus den Daten ziehen, und der theoretisch wahren oder tatsächlichen Sachlage zu unterscheiden. Data Scientists und Geschäftsanalysten sprechen bei einem solchen Wert von einer Metrik. Der Unterschied spiegelt den Ansatz der Statistik im Vergleich zur Datenwissenschaft wider: Die Berücksichtigung von Unsicherheit steht im Mittelpunkt der statistischen Disziplin, währnd in der Datenwissenschaft konkrete geschäftliche oder organisatorische Ziele im Fokus stehen. Daher kann man sagen, dass Statistiker Schätzungen durchführen und Data Scientists Messungen vornehmen.
N (oder n) bezieht sich auf die Gesamtzahl aller Einträge bzw. Beobachtungen. In der Statistik wird es großgeschrieben, wenn es sich auf eine Grundgesamtheit bezieht, und kleingeschrieben, wenn es auf eine Stichprobe aus einer Grundgesamtheit abzielt. In der Data Science ist diese Unterscheidung nicht von Relevanz, weshalb Sie beide Möglichkeiten in Betracht ziehen können.
Eine Variante des Mittelwerts ist der getrimmte Mittelwert, den Sie berechnen, indem Sie eine feste Anzahl sortierter Werte an jedem Ende weglassen und dann den Mittelwert der verbleibenden Werte bilden. Für die sortierten Werte x(1), x(2), …, x(n), wobei x(1) der kleinste Wert und x(n) der größte ist, wird der getrimmte Mittelwert mit p kleinsten und größten weggelassenen Werten durch folgende Formel berechnet:
Durch die Verwendung des getrimmten Mittelwerts wird der Einfluss von Extremwerten beseitigt. Zum Beispiel werden bei internationalen Tauchmeisterschaften die höchste und die niedrigste Punktzahl der fünf Kampfrichter gestrichen, und als Endpunktzahl wird der Durchschnitt der Punktzahlen der drei verbleibenden Kampfrichter gewertet (https://oreil.ly/uV4P0). Dies macht es für einen einzelnen Kampfrichter schwierig, das Ergebnis zu manipulieren, etwa um den Kandidaten seines Landes zu begünstigen. Getrimmte Mittelwerte sind sehr verbreitet und in vielen Fällen der Verwendung des gewöhnlichen Mittelwerts vorzuziehen (siehe »Median und andere robuste Lagemaße« auf Seite 11 für weitere Erläuterungen).
Eine weitere Möglichkeit der Mittelwertbildung ist der gewichtete Mittelwert. Zur Berechnung multiplizieren Sie jeden Datenwert xi mit einem benutzerdefinierten Gewicht wi und dividieren die daraus resultierende Summe durch die Summe der Gewichte. Die Formel für den gewichteten Mittelwert lautet dementsprechend:
Den gewichteten Mittelwert verwendet man hauptsächlich aus zwei Gründen:
Einige Werte weisen von sich aus eine größere Streuung auf als andere – um den Einfluss stark streuender Beobachtungen zu verringern, erhalten sie ein geringeres Gewicht. Wenn wir z.B. den Mittelwert von mehreren Sensoren bilden und einer der Sensoren weniger genau misst, können wir die Daten dieses Sensors niedriger gewichten.
Unsere erhobenen Daten repräsentieren die verschiedenen Gruppen, an deren Messung wir interessiert sind, nicht gleichmäßig. Beispielsweise ist es möglich, aufgrund der Art und Weise, wie ein Onlineversuch durchgeführt wurde, einen Datensatz zu gewinnen, der nicht alle Gruppen in der Nutzerbasis wahrheitsgemäß abbildet. Zur Korrektur können wir den Werten der Gruppen, die unterrepräsentiert sind, ein höheres Gewicht beimessen.
Der Median entspricht dem mittleren Wert der sortierten Liste eines Datensatzes. Wenn es eine gerade Anzahl von Datenpunkten gibt, ist der mittlere Wert eigentlich nicht im Datensatz enthalten, weshalb der Durchschnitt der beiden Werte, die die sortierten Daten in eine obere und eine untere Hälfte teilen, verwendet wird. Verglichen mit dem Mittelwert, bei dem alle Beobachtungen berücksichtigt werden, beruht der Median nur auf den Werten, die sich in der Mitte des sortierten Datensatzes befinden. Dies mag zwar nachteilig erscheinen, da der Mittelwert wesentlich empfindlicher in Bezug auf die Datenwerte ist, aber es gibt viele Fälle, in denen der Median ein besseres Lagemaß darstellt. Angenommen, wir möchten die durchschnittlichen Haushaltseinkommen in den Nachbarschaften um den Lake Washington in Seattle unter die Lupe nehmen. Beim Vergleich der Ortschaft Medina mit der Ortschaft Windermere würde die Verwendung des Mittelwerts zu sehr unterschiedlichen Ergebnissen führen, da Bill Gates in Medina lebt. Wenn wir stattdessen den Median verwenden, spielt es keine Rolle, wie reich Bill Gates ist – die Position der mittleren Beobachtung bleibt unverändert.
Aus den gleichen Gründen wie bei der Verwendung eines gewichteten Mittelwerts ist es auch möglich, einen gewichteten Median zu ermitteln. Wie beim Median sortieren wir zunächst die Daten, obwohl jeder Datenwert ein zugehöriges Gewicht hat. Statt der mittleren Zahl ist der gewichtete Median ein Wert, bei dem die Summe der Gewichte für die untere und die obere »Hälfte« der sortierten Liste gleich ist. Wie der Median ist auch der gewichtete Median robust gegenüber Ausreißern.
Der Median wird als robustes Lagemaß angesehen, da er nicht von Ausreißern (Extremfällen) beeinflusst wird, die die Ergebnisse verzerren könnten. Ausreißer sind Werte, die sehr stark von allen anderen Werten in einem Datensatz abweichen. Die genaue Definition eines Ausreißers ist etwas subjektiv, obwohl bestimmte Konventionen in verschiedenen zusammenfassenden Statistiken und Diagrammen verwendet werden (siehe »Perzentile und Box-Plots« auf Seite 21). Nur weil ein Datenwert einen Ausreißer darstellt, macht es ihn nicht ungültig oder fehlerhaft (wie im vorherigen Beispiel mit Bill Gates). Dennoch sind Ausreißer oft das Ergebnis von Datenfehlern, wie z.B. von Daten, bei denen verschiedene Einheiten vermischt wurden (Kilometer gegenüber Metern), oder fehlerhafte Messwerte eines Sensors. Wenn Ausreißer das Ergebnis fehlerhafter bzw. ungültiger Daten sind, wird der Mittelwert zu einer falschen Einschätzung der Lage führen, wohingegen der Median immer noch seine Gültigkeit behält. Ausreißer sollten in jedem Fall identifiziert werden und sind in der Regel eine eingehendere Untersuchung wert.
Anomalieerkennung
Im Gegensatz zur gewöhnlichen Datenanalyse, bei der Ausreißer manchmal informativ sind und manchmal stören, sind bei der Anomalieerkennung die Ausreißer von Interesse, und der größere Teil der Daten dient in erster Linie dazu, den »Normalzustand« zu definieren, an dem die Anomalien gemessen werden.
Der Median ist nicht das einzige robuste Lagemaß. Tatsächlich wird häufig der getrimmte Mittelwert verwendet, um den Einfluss von Ausreißern zu vermeiden. So bietet z.B. die Entfernung der unteren und oberen 10% der Daten (eine übliche Wahl) Schutz vor Ausreißern, es sei denn, der Datensatz ist zu klein. Der getrimmte Mittelwert kann als Kompromiss zwischen dem Median und dem Mittelwert gesehen werden: Er ist robust gegenüber Extremwerten in den Daten, verwendet jedoch mehr Daten zur Berechnung des Lagemaßes.
Weitere robuste Lagemaße
Statistiker haben eine Vielzahl anderer Lagemaße entwickelt, und zwar in erster Linie mit dem Ziel, einen Schätzer zu entwickeln, der robuster und auch effizienter als der Mittelwert ist (d.h. besser in der Lage, kleine Unterschiede hinsichtlich der Lage zwischen Datensätzen zu erkennen). Während diese Methoden für kleine Datensätze durchaus nützlich sein können, dürften sie bei großen oder selbst bei mittelgroßen Datensätzen keinen zusätzlichen Nutzen bringen.
Tabelle 1-2 zeigt einen Auszug der ersten paar Zeilen eines Datensatzes, der Informationen zu den Einwohnerzahlen und Mordraten für jeden US-Bundesstaat enthält (Zensus 2010). Die Einheit für die Mordrate wurde mit »Morde pro 100.000 Personen pro Jahr« gewählt.
Tabelle 1-2: Die ersten Zeilen des data.frame, der Auskunft über die Einwohnerzahlen und Mordraten der einzelnen Bundesstaaten gibt
Berechnen Sie den Mittelwert, den getrimmten Mittelwert und den Median für die Einwohnerzahlen in R:1
> state <- read.csv('state.csv')
> mean(state[['Population']])
[1] 6162876
> mean(state[['Population']], trim=0.1)
[1] 4783697
> median(state[['Population']])
[1] 4436370
In Python können wir zur Berechnung des Mittelwerts und des Medians die pandas-Methoden des Data Frame verwenden. Den getrimmten Mittelwert erhalten wir durch die Funktion trim_mean aus dem Modul scipy.stats:
Der Mittelwert ist größer als der getrimmte Mittelwert, der wiederum größer als der Median ist.
Dies liegt daran, dass der getrimmte Mittelwert die fünf größten und fünf kleinsten Bundesstaaten ausschließt (trim=0.1 entfernt 10% an beiden Enden der Verteilung). Wenn wir die durchschnittliche Mordrate für das Land berechnen wollen, müssen wir dazu den gewichteten Mittelwert oder den Median heranziehen, um die unterschiedlich hohe Anzahl an Einwohnern in den Bundesstaaten zu berücksichtigen. Da R in seiner Standardbibliothek keine Funktion für den gewichteten Median umfasst, müssen wir zu diesem Zweck zunächst das Paket matrixStats installieren:
> weighted.mean(state[['Murder.Rate']], w=state[['Population']])
[1] 4.445834
> library('matrixStats')
> weightedMedian(state[['Murder.Rate']], w=state[['Population']])
[1] 4.4
Bei Python ist die Funktion zur Berechnung des gewichteten Mittelwerts im NumPy-Paket enthalten. Für den gewichteten Median können wir speziell das Paket wquantiles (https://oreil.ly/4SIPQ) verwenden:
np.average(state['Murder.Rate'], weights=state['Population'])
wquantiles.median(state['Murder.Rate'], weights=state['Population'])
Im vorliegenden Fall sind der gewichtete Mittelwert und der gewichtete Median in etwa gleich groß.
In dem Wikipedia-Artikel zur zentralen Tendenz (
https://oreil.ly/qUW2i
) werden verschiedene Lagemaße ausführlich erläutert.
John Tukeys Standardwerk aus dem Jahr 1977,
Exploratory Data Analysis
(Pearson), erweist sich nach wie vor als eine beliebte Lektüre.
Die Lage ist nur eine Dimension bei der Zusammenfassung eines Merkmals. Eine zweite Dimension, die Streuung (engl. Variability) – auch Variabilität oder Dispersion genannt –, misst, ob die Datenwerte eng zusammenliegen oder weit gestreut sind. Die Streuung ist das Herzstück der Statistik: Sie wird gemessen, reduziert, es kann unterschieden werden zwischen zufälliger und tatsächlicher Streuung, die verschiedenen Quellen der wahren Streuung können identifiziert und Entscheidungen in Gegenwart der Streuung können getroffen werden.
Abweichung
Die Differenz zwischen den beobachteten Werten und dem Lagemaß (engl. Deviation).
Synonyme
Fehler, Residuen
Varianz
Die Summe der quadrierten Abweichungen vom Mittelwert dividiert durch n –1, wobei n die Anzahl der Beobachtungen ist.
Synonym
mittlerer quadratischer Fehler
Standardabweichung
Die Quadratwurzel der Varianz.
Mittlere absolute Abweichung
Der Mittelwert der Absolutwerte der Abweichungen vom Mittelwert.
Synonyme
l1-Norm, Manhattan-Norm
Mittlere absolute Abweichung vom Median
Der Median der Absolutwerte der Abweichungen vom Median.
Spannweite
Die Differenz zwischen dem größten und dem kleinsten Wert in einem Datensatz (engl. Range).
Ordnungsstatistik
Eine auf den Datenwerten basierende Metrik, sortiert vom kleinsten zum größten.
Synonym
Rang
Perzentil
Der Wert, bei dem P % der Werte diesen Wert oder weniger und (100-P) % diesen Wert oder mehr annehmen.
Synonym
Quantil
Interquartilsabstand
Die Differenz zwischen dem 75%-Perzentil und dem 25%-Perzentil.
Synonym
IQR
So wie es verschiedene Möglichkeiten gibt, die Lage zu messen (Mittelwert, Median usw.), so gibt es auch verschiedene Möglichkeiten, das Ausmaß der Streuung zu bestimmen.
wobei für den Stichprobenmittelwert steht.
Die bekanntesten Streuungsmaße sind die Varianz und die Standardabweichung, die auf den quadratischen Abweichungen beruhen. Die Varianz ist der Durchschnitt der quadrierten Abweichungen, und die Standardabweichung ist wiederum die Quadratwurzel der Varianz:
Die Standardabweichung ist viel leichter zu interpretieren als die Varianz, da sie auf dieselbe Skala wie die Originaldaten bezogen ist. Dennoch mag es mit ihrer komplizierteren und weniger intuitiven Formel merkwürdig erscheinen, dass die Standardabweichung in der Statistik gegenüber der mittleren absoluten Abweichung bevorzugt wird. Sie verdankt ihre Vorrangstellung der statistischen Theorie: Mathematisch gesehen, ist es sehr viel vorteilhafter, quadrierte Werte zu verwenden – und nicht Absolutwerte –, insbesondere in statistischen Modellen.
In Statistikbüchern finden Sie für gewöhnlich einen Abschnitt, der erklärt, warum wir n – 1 im Nenner der Formel für die Varianz anstelle von n haben, was uns zum Konzept der Freiheitsgrade führt. Diese Unterscheidung ist an sich nicht von großer Bedeutung, da n im Allgemeinen so groß ist, dass es keinen besonderen Unterschied macht, ob man durch n oder n – 1 dividiert. Aber falls es Sie interessiert, hier folgt die Erklärung. Sie basiert auf der Prämisse, dass Sie auf Basis einer Stichprobe Schätzungen über eine Grundgesamtheit (Population) vornehmen möchten.
Wenn Sie intuitiverweise n im Nenner der Varianzformel verwenden, unterschätzen Sie den wahren Wert der Varianz und der Standardabweichung in der Grundgesamtheit. Dies wird als ein verzerrter Schätzer (engl. biased) bezeichnet. Wenn Sie jedoch n – 1 anstelle von n einsetzen, ermitteln Sie einen unverzerrten (engl. unbiased) bzw. erwartungstreuen Schätzer der Varianz.
Um vollständig zu erklären, warum die Verwendung von n zu einem verzerrten Schätzer führt, müssen wir den Begriff der Freiheitsgrade heranziehen, der die Anzahl der Einschränkungen bei der Berechnung eines Schätzers berücksichtigt. In diesem Fall gibt es n – 1 Freiheitsgrade, da es eine Randbedingung gibt: Die Standardabweichung hängt von der Berechnung des Stichprobenmittelwerts ab. In den meisten Anwendungsfällen müssen sich Data Scientists keine Gedanken über die Anzahl der Freiheitsgrade machen.
Weder die Varianz noch die Standardabweichung oder die mittlere absolute Abweichung ist gegenüber Ausreißern und Extremwerten robust (siehe »Median und andere robuste Lagemaße« auf Seite 11 für eine Erläuterung zu den robusten Lagemaßen). Die Varianz und die Standardabweichung sind besonders empfindlich gegenüber Ausreißern, da sie auf den quadrierten Abweichungen beruhen.
Ein robustes Streuungsmaß ist die mittlere absolute Abweichung vom Median (engl. Median Absolute Deviation from the Median, MAD):
wobei m dem Median entspricht. Wie der Median wird auch die mittlere absolute Abweichung vom Median nicht durch Extremwerte beeinflusst. Es ist auch möglich, eine getrimmte Standardabweichung analog zum getrimmten Mittelwert zu berechnen (siehe »Mittelwert« auf Seite 9).
Die Varianz, die Standardabweichung, die mittlere absolute Abweichung und die mittlere absolute Abweichung vom Median sind keine äquivalenten Streuungsmaße – selbst dann nicht, wenn die Daten normalverteilt sind. So ist die Standardabweichung immer größer als die mittlere absolute Abweichung, die ihrerseits größer als die mittlere absolute Abweichung vom Median ist. Manchmal wird die mittlere absolute Abweichung vom Median mit einem konstanten Skalierungsfaktor multipliziert, um den Wert für den Fall, dass die Daten normalverteilt sind, genau so zu skalieren wie die Standardabweichung. Der üblicherweise verwendete Faktor von 1,4826 bedeutet, dass 50% der Normalverteilung in den Bereich ±MAD fallen (siehe z.B. https://oreil.ly/SfDk2).
Ein anderer Ansatz zur Schätzung der Streuung basiert auf der Betrachtung der Streuung der sortierten Daten. Statistiken, die auf sortierten (d.h. in einer Rangfolge geordneten) Daten basieren, werden als Ordnungsstatistiken bezeichnet. Das grundlegende Maß ist die Spannweite: die Differenz zwischen dem größten und dem kleinsten Wert. Die Minimal- und Maximalwerte selbst sind zwar durchaus interessant und bei der Identifizierung von Ausreißern nützlich, aber die Spannweite erweist sich als äußerst empfindlich gegenüber Ausreißern und ist als allgemeines Streuungsmaß nicht sehr hilfreich.
Um der Anfälligkeit gegenüber Ausreißern vorzubeugen, können wir vor der Ermittlung der Spannweite Werte an beiden Enden der Daten weglassen. Formal basieren diese Arten von Schätzern auf Unterschieden zwischen Perzentilen. In einem Datensatz ist das P%-Perzentil so definiert, dass mindestens P % der Werte diesen Wert oder weniger und mindestens (100 – P) % der Werte diesen Wert oder mehr annehmen. Um zum Beispiel das 80%-Perzentil zu ermitteln, müssen Sie die Daten zunächst sortieren. Dann gehen Sie, beginnend beim kleinsten Wert, 80% der Strecke zum größten Wert weiter. Der Median ist übrigens ein und dasselbe wie das 50%-Perzentil. Ein Perzentil ist im Wesentlichen dasselbe wie ein Quantil, wobei Quantile durch Bruchzahlen angegeben werden (das 0,8-Quantil ist also dasselbe wie das 80%-Perzentil).
Bei sehr großen Datensätzen kann die Berechnung der genauen Perzentile rechnerisch sehr aufwendig sein, da dazu alle Datenwerte sortiert werden müssen. Maschinelle Lern- und Statistikprogramme verwenden spezielle Algorithmen, wie [Zhang-Wang-2007], um einen Näherungswert für ein Perzentil zu erhalten, der sehr schnell berechnet werden kann und eine gewisse Genauigkeit gewährleistet.
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.
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.
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.
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).
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-2zeigt 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:
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).
Eine Häufigkeitstabelle teilt den Wertebereich einer Variablen bzw. eines Merkmals in gleich große Intervalle auf und gibt uns Auskunft darüber, wie viele Werte jeweils in jedes Intervall fallen. Tabelle 1-5 zeigt Ihnen eine in R erstellte Häufigkeitstabelle für die Einwohnerzahlen der Bundesstaaten:
breaks <- seq(from=min(state[['Population']]),
to=max(state[['Population']]), length=11)
pop_freq <- cut(state[['Population']], breaks=breaks,
right=TRUE, include.lowest=TRUE)
table(pop_freq)
Die Funktion pandas.cut erzeugt eine Zahlenfolge (Series-Objekt), die die Werte auf die einzelnen Intervalle abbildet. Mit der Methode value_counts erhalten wir die Häufigkeitstabelle:
Tabelle 1-5: Eine Häufigkeitstabelle für die Einwohnerzahlen der Bundesstaaten
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:
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
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.
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:
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
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.
Ein Professor der SUNY Oswego hat eine Schritt-für-Schritt-Anleitung zum Erstellen eines Box-Plots (
https://oreil.ly/wTpnE
) zur Verfügung gestellt.
Die verschiedenen in
R
zur Verfügung stehenden Ansätze zur Dichteschätzung werden in Henry Dengs und Hadley Wickhams Artikel (
https://oreil.ly/TbWYS
) »Density estimation in R« behandelt.
In dem Blog »
R
-Bloggers« finden Sie einen hilfreichen Beitrag zur Erstellung von Histogrammen in
R
(
https://oreil.ly/Ynp-n
), der auch Anpassungselemente wie die Einteilung in Klassen (
Binning
) bzw. die Auswahl der Klassengrenzen (engl.
Breaks
) erläutert.
Das Blog hält auch einen ähnlichen Blogbeitrag zu Box-Plots in
R
(
https://oreil.ly/0DSb2
) bereit.
Matthew Conlen hat eine interaktive Webpräsentation (
https://oreil.ly/bC9nu
) veröffentlicht, die die Auswirkungen der Wahl verschiedener Kerne und Bandbreiten auf die Kerndichteschätzer demonstriert.
Bei kategorialen Daten genügen einfache Angaben in Form von relativen Anteilen bzw. Prozentsätzen, um die Datenlage nachvollziehbar wiederzugeben.
Modus
Die am häufigsten vorkommende Kategorie oder der am häufigsten vorkommende Wert in einem Datensatz (engl. Mode).
Erwartungswert
Wenn die Kategorien mit einem numerischen Wert verknüpft werden können, ergibt sich ein Durchschnittswert auf Basis der Eintrittswahrscheinlichkeiten der Kategorien (engl. Expected Value).
Balkendiagramm
Die Häufigkeiten oder relativen Anteile aller Kategorien, in Form von Balken dargestellt (engl. Bar Chart).
Kreisdiagramm
Die Häufigkeiten oder relativen Anteile aller Kategorien in Form von Kreissektoren als Teile eines Kreises, auch als Kuchen- oder Tortendiagramm bekannt (engl. Pie Chart).
Sich eine Übersicht über eine binäre Variable oder eine kategoriale Variable mit einigen wenigen Kategorien zu verschaffen, ist eine ziemlich einfache Angelegenheit: Wir müssen nur den Anteil von »Einsen« bzw. Erfolgen im binären Fall oder in Bezug auf kategoriale Daten die Anteile der im Fokus stehenden Kategorien ermitteln. Zum Beispiel zeigt Tabelle 1-6 die prozentuale Verteilung der verspäteten Flüge am Flughafen Dallas/Fort Worth im Jahr 2010, aufgeschlüsselt nach ihrem Verspätungsgrund. Die Verspätungen werden dabei in Kategorien unterteilt, die Aufschluss über den Grund der Verspätung geben. Hierzu zählen solche, die dem Verantwortungsbereich der Fluggesellschaft unterliegen, Verspätungen, die auf die Flugverkehrskontrolle (FVK) zurückzuführen sind, auf das Wetter, auf die Sicherheitsvorkehrungen oder auch auf ein verspätet eintreffendes Flugzeug für einen Anschlussflug.
Tabelle 1-6: Prozentuale Verteilung der Verspätungen am Flughafen Dallas/Fort Worth, aufgeschlüsselt nach ihrem Verspätungsgrund
Die auch häufig in der Tagespresse anzutreffenden Balkendiagramme sind ein gängiges visuelles Hilfsmittel zur Darstellung einer einzelnen kategorialen Variablen. Die Kategorien werden auf der x-Achse und die jeweiligen Häufigkeiten oder die relativen Anteile auf der y-Achse dargestellt. Abbildung 1-5 zeigt die Flugverspätungen, sortiert nach Verspätungsgrund, für den Flughafen Dallas/Fort Worth (DFW) im Jahr 2010. Sie kann relativ simpel mit der R-Funktion barplot erstellt werden:
barplot(as.matrix(dfw) / 6, cex.axis=0.8, cex.names=0.7,
xlab='Verspätungsgrund', ylab='Anzahl')
Die pandas-Bibliothek unterstützt ebenfalls Balkendiagramme:
Abbildung 1-5: Balkendiagramm der Flugverspätungen am DFW nach Verspätungsgrund
Beachten Sie, dass ein Balkendiagramm einem Histogramm ähnelt; in einem Balkendiagramm repräsentiert die x-Achse verschiedene Kategorien einer Faktorvariablen, während in einem Histogramm die x-Achse die Werte einer einzelnen Variablen numerisch skaliert darstellt. In einem Histogramm werden die Balken typischerweise aneinander angrenzend dargestellt, wobei Lücken auf Werte hinweisen, die in den Daten nicht vorkommen. In einem Balkendiagramm werden die Balken getrennt voneinander dargestellt.
Kreisdiagramme stellen eine Alternative zu Balkendiagrammen dar, obwohl Statistiker und Datenvisualisierungsexperten im Allgemeinen Kreisdiagramme als weniger informativ ansehen (siehe [Few-2007]).
Numerische Daten als kategoriale Daten
In »Häufigkeitstabellen und Histogramme« auf Seite 23 betrachteten wir Häufigkeitstabellen, die auf einer Klasseneinteilung der Daten basieren. Dadurch werden die numerischen Daten implizit in einen geordneten Faktor umgewandelt. In diesem Sinne sind Histogramme und Balkendiagramme einander ähnlich, außer dass die Kategorien auf der x-Achse im Balkendiagramm nicht geordnet sind. Die Konvertierung numerischer Daten in kategoriale Daten ist ein wichtiger und weitverbreiteter Schritt in der Datenanalyse, da er die Komplexität (und die Größe bzw. den Umfang) der Daten verringert. Dies hilft beim Aufdecken von Beziehungen zwischen Merkmalen, insbesondere in den ersten Schritten einer Analyse.
Der Modus ist der Wert – bzw. die Werte für den Fall, dass verschiedene Werte gleich häufig auftreten –, der am häufigsten in den Daten auftritt. Zum Beispiel ist der Modus des Verspätungsgrunds am Flughafen Dallas/Fort Worth der »verzögerte Anschlussflug«. Ein weiteres Beispiel: In den meisten Teilen der Vereinigten Staaten wäre der Modus der religiösen Gesinnung »christlich«. Der Modus ist eine einfache, zusammenfassende Statistik für kategoriale Daten. Bei numerischen Daten wird er im Allgemeinen nicht verwendet.
Ein besonderer Typ kategorialer Daten sind Daten, bei denen die Kategorien diskrete Werte auf derselben Skala repräsentieren oder diesen zugeordnet werden können. Ein Vermarkter für eine neue Cloud-Technologie bietet zum Beispiel zwei Servicevarianten an, eine zum Preis von 300 $ pro Monat und eine weitere zum Preis von 50 $ pro Monat. Der Vermarkter bietet kostenlose Webinare an, um Leads zu generieren, und das Unternehmen geht davon aus, dass sich 5% der Teilnehmer für den Service für 300 $, 15% für den Service für 50 $ und 80% für keinen Service anmelden werden. Diese Daten lassen sich zu Zwecken der Wirtschaftlichkeitsberechnung in einem einzigen »Erwartungswert« zusammenfassen, der eine Art gewichteter Mittelwert ist, bei dem die Gewichte Wahrscheinlichkeiten entsprechen.
Der Erwartungswert wird wie folgt berechnet:
Multiplizieren Sie jedes der einzelnen Ergebnisse mit seiner Eintrittswahrscheinlichkeit.
Summieren Sie die ermittelten Werte.
Im Beispiel des Cloud-Service beträgt der Erwartungswert eines Webinar-Teilnehmers somit 22,50 $ pro Monat, der sich wie folgt ergibt:
EW=(0, 05)(300) + (0, 15)(50) + (0, 80)(0)=22, 5
Der Erwartungswert ist in Wirklichkeit eine Art gewichteter Mittelwert: Er spiegelt künftige Erwartungen wider, wobei die Berechnung auf Wahrscheinlichkeitsgewichten basiert, die oft auf einem subjektiven Urteil beruhen. Der Erwartungswert stellt ein grundlegendes Konzept in der Unternehmensbewertung und Kapitalbedarfsrechnung dar, wo es z.B. darum geht, den Erwartungswert der Gewinne aus einer Neuanschaffung für einen Zeithorizont von fünf Jahren oder die erwarteten Kosteneinsparungen durch eine neue Patientenverwaltungssoftware in einer Klinik zu ermitteln.