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
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: kommentar@oreilly.de.
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:
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 kontakt@oreilly.de.
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:
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.
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 Pythons pandas-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. |
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. |
Das grundlegendste Lagemaß ist der Mittelwert (genauer, das arithmetische Mittel) oder auch der Durchschnitt. Der Mittelwert entspricht der Summe aller Werte dividiert durch die Anzahl von Werten. Betrachten Sie die folgende Zahlenfolge: {3 5 1 2}. Der Mittelwert beträgt (3 + 5 + 1 + 2) / 4 = 11 / 4 = 2,75. Sie werden auf das Symbol (ausgesprochen als »x quer«) stoßen, das verwendet wird, um den Mittelwert einer Stichprobe, die aus einer Grundgesamtheit gezogen wurde, darzustellen. Die Formel zur Berechnung des Mittelwerts für eine Menge von Werten x1, x2, …, xn lautet:
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:
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')