Anhang A — Datenqualität
In praktischen Anwendungen ist die Datenqualität aller Erfahrung nach immer ein gewichtiges Problem. In diesem Kapitel wird versucht, ein wenig Struktur in den Prozess der Datenbereinigung zu bringen.
Die Datenbereinigung ist ein extrem wichtiger Schritt vor der eigentlichen Datenanalyse. Ohne eine vernünftige Bereinigung der Daten werden die Analyseergebnisse nicht sinnvoll sein. Im schlimmsten Fall bemerkt man die fehlerhafte Ergebnisse jedoch nicht, weil die Datenanalyse ja formal richtig durchgeführt wurde - nur eben mit falschen Daten. Man spricht hier auch von “garbage in - garbage out”.
Warum wird das wichtige Thema der Datenqualität hier in einem Anhang behandelt, obwohl es doch eigentlich vor der Datenanalyse relevant ist? Der Grund ist, dass man für die Beurteilung einiger Aspekte der Datenqualität Methoden aus diesem Kurs braucht.
Folgende Dimensionen der Datenqualität jeder Variablen sollte man sich genau ansehen, bevor die eigentliche Datenanalyse startet:
Vollständigkeit: Sind die Variablenwerte alle vorhanden oder gibt es fehlende Werte (missing values bzw.
NA
)? Wie hoch ist die relative Häufigkeit der fehlenden Werte? Wie sind die fehlenden Werte gekennzeichnet? Oftmals werden fehlende Werte durch besonders auffällige Zahlen markiert, z.B. 999 oder -1. In solchen Fällen wäre es natürlich ein gravierender Fehler, mit diesen Zahlen zu arbeiten. Für die Datenanalyse in R sollte man darum fehlende Werte grundsätzlich aufNA
setzen, wenn das beim Einlesen der Daten nicht bereits geschehen ist. Für die Untersuchung der Vollständigkeit benötigt man neben einem gesunden Menschenverstand vor allem Methoden aus Kapitel 4 und Kapitel 5.Ausreißer: Gibt es Ausreißer in den Daten? Wenn ja, sind diese Werte vermutlich fehlerhaft? Oder sind sie vermutlich tatsächlich so eingetreten? Könnten fehlerhafte Werte korrigiert werden? Hier reicht reines Methodenwissen nicht, man braucht inhaltliches Wissen. Dem Computer und der Analysesoftware ist nicht klar, dass eine Familie höchstwahrscheinlich nicht 99 Kinder hat und dass eine Person wohl kaum 1400 Zigaretten am Tag raucht. Jeder Mensch, der mit Sachverstand auf die Daten schaut, kann das aber sofort als Datenfehler erkennen. Bei großen Datensätzen kann man nicht alle Beobachtungen per Hand durchgehen, sondern nutzt die Methoden aus Kapitel 4 und Kapitel 5, auch die empirische Verteilungsfunktion aus Kapitel 10 oder die Boxplots aus Kapitel 11 können weiterhelfen.
Plausibilität: Gibt es unerwartete oder unplausible Werte? Die Plausibilität ist offenbar eng verwandt mit der Frage nach Ausreißern. Unplausible Werte können aber auch im “mittleren” Bereich der Daten auftreten. Wahrscheinlich ist die Angaben, dass in einem Betrieb 12.3 Beschäftigte arbeiten, auf einen Kommafehler zurückzuführen und es sollte eigentlich 123 heißen. Die Temperaturangabe \(-5^\circ C\) ist kein Ausreißer und für einen Wintertag durchaus plausibel, aber für einen Sommertag nicht. Auch hier ist Sachverstand beim Blick auf die Daten notwendig. Für die Beurteilung der Plausibilität sind grafische Darstellungen (Kapitel 5) oft am besten geeignet, wenn die Datensätze so groß sind, dass man nicht alle Beobachtungen einzeln durchgehen kann.
Strukturbrüche: Gibt es plötzliche starke Veränderungen in den Variablenwerten über die Zeit hinweg? Um das zu untersuchen, sollte man sich bei metrischen Variablen den Zeitverlauf einiger Kennzahlen ansehen, z.B. Lagemaße (Kapitel 7) und eventuell auch Streuungsmaße (Kapitel 8). Im Fall von nicht-metrischen Variablen sollte man untersuchen, ob die relativen Häufigkeiten (Kapitel 6) der Ausprägungen sich im Laufe der Zeit plötzlich stark ändern.
Die nächsten beiden Punkte betreffen nicht einzelne Variablen, sondern das Zusammenspiel zweier oder mehrerer (oder aller) Variablen:
Doppelungen: Treten manche Beobachtungen mehrfach auf? Es kann beim Einlesen oder Bearbeiten der Daten passieren, dass einige Beobachtungen doppelt oder mehrfach auftreten. Eine solche Doppelung liegt vor, wenn alle Variablen - also eine komplette Zeile - doppelt vorkommen, nicht jedoch, wenn die Werte einer einzelnen Variable mehrfach auftreten. Es ist natürlich kein Fehler, dass die Angabe “2” bei der Kinderzahl in einem Haushalt mehr als einmal beobachtet wird. Wenn man aber zwei Haushalte im Datensatz findet, bei denen die Angaben zur Kinderzahl, zum Alter der Haushaltsmitglieder, dem Einkommen, zur Ausbildung etc. alle identisch sind, dann handelt es sich wahrscheinlich um einen Fehler, den man korrigieren sollte. Zum Entfernen von Doppelungen nutzt man die Funktion
distinct
aus demtidyverse
-Paket (Kapitel 4).Konsistenz: Passen Variablenwerte zusammen, die in einer festen Beziehung zueinander stehen sollten? Wenn in einem Datensatz das Jahresarbeitseinkommen (Variable
wage
) und die Jahresarbeitsstunden (hours
) angegeben sind, dann sollte die Variablestundenlohn
immer mit dem Quotientenwage/hours
übereinstimmen. Wenn das nicht der Fall ist, liegt eine Inkonsistenz vor und irgendwo muss es einen Datenfehler geben. Die Funktionmutate
aus demtidyverse
-Paket (Kapitel 4) kann hier weiterhelfen.
Die letzten beiden Fragen zur Datenqualität betreffen eher die weitere Arbeit mit den Daten und ihre Organisation, nicht die Analyse. Eine saubere Datenanalyse ist durchaus möglich, auch wenn diese beiden Kriterien nicht erfüllt sind. Dennoch sollten bei einer Beurteilung der Datenqualität auch diese beiden Punkte untersucht werden.
Rückverfolgbarkeit: Ist es möglich, auf die Originaldatenquelle zurückzugreifen, um mögliche Fehler in dem Datensatz zu korrigieren, mit dem man letztlich arbeitet? Es ist im Allgemeinen empfehlenswert, den Arbeitsdatensatz mit Hilfe eines Skripts aus dem Originaldatensatz zu erzeugen. Händische Korrekturen im Arbeitsdatensatz sollten nach Möglichkeit vermieden werden, es ist besser, solche Korrekturen in das Skript zu schreiben und dort auch zu kommentieren.
Verfügbarkeit: Stehen die Daten, die der Analyse zugrundeliegen, auch anderen Personen zur Verfügung?