library(tidyverse)
library(easystats)
library(DataExplorer) # nicht vergessen zu installieren
library(ggpubr) # optional
library(ggstatsplot) # optional
5 Daten verbildlichen
Statistik, Prognose, Modellierung, R, Datenanalyse, Regression
5.1 Lernsteuerung
Abb. Abbildung 1.3 zeigt den Standort dieses Kapitels im Lernpfad und gibt damit einen Überblick über das Thema dieses Kapitels im Kontext aller Kapitel.
5.1.1 Lernziele
- Sie können erläutern, wann und wozu das Visualisieren statistischer Inhalte sinnvoll ist.
- Sie kennen typische Arte von Datendiagrammen.
- Sie können typische Datendiagramme mit R visualisieren.
- Sie können zentrale Ergebnisse aus Datendiagrammen herauslesen.
5.1.2 Benötigte R-Pakete
5.1.3 Benötigte Daten
Zuerst definieren wir den Pfad, wo wir die Daten finden, s. Listing 5.1. Dann importieren wir die Mariokart-Daten.
5.1.4 R-Code zum Copy-Pasten
Sie finden den R-Code für jedes Kapitel hier. \(\square\)
5.1.5 Quiz zum Einstieg
Vielleicht fordert Sie die Lehrkraft zu einem Einstiegsquiz auf, etwas mittels der Plattform antworte.jetzt. Alternativ überlegen Sie sich selber 10 Quiz-Aufgaben zum Stoff des letzten Kapitels.
5.1.6 Wozu das alles?
🥷 Wir müssen die Galaxis retten, Kermit.
🐸 Schlock
5.2 Ein Dino sagt mehr als 1000 Worte
Es heißt, ein Bild sage mehr als 1000 Worte. Schon richtig, aber ein Dinosaurier sagt auch mehr als 1000 Worte, s. Abbildung 5.1. In Abbildung 5.1 sieht man verschiedene “Bilder”, also Datensätze: etwa einen Dino und einmal einen Kreis. Obwohl die Bilder grundverschiedene sind, sind die zentralen statistischen Kennwerte (praktisch) identisch. In die gleiche Bresche schlägt “Anscombes Quartett” (Anscombe, 1973), s. Abbildung 5.2: Es zeigt vier Datensätze, in denen die zentralen Statistiken fast identisch sind,
also Mittelwerte, Streuungen, Korrelationen. Aber die Streudiagramme sind grundverschieden. Anscombes Beispiel zeigt (zugespitzt): Eine Visualisierung enthüllt, was der Statistik (als Kennzahl) verhüllt bleibt.
Statistische Diagramme können Einblicke geben, die sich nicht (leicht) in grundlegenden Statistiken (Kennwerten) abbilden. \(\square\)
Unter visueller Cortex ist sehr leistungsfähig. Wir können ohne Mühe eine große Anzahl an Informationen aufnehmen und parallel verarbeiten. Aus diesem Grund sind Datendiagramme eine effektive und einfache Art, aus Daten Erkenntnisse zu ziehen.
Nutzen Sie Datendiagramme umfassend; sie sind einfach zu verstehen und doch sehr mächtig.
5.2.1 Datendiagramm
Ein Datendiagramm (kurz: Diagramm) ist ein Diagramm, das Daten und Statistiken zeigt, mit dem Zweck, Erkenntnisse daraus zu ziehen.
Beispiel 5.1 (Aus der Forschung: Ein aufwändiges (und ansprechendes) Datendiagramm)
Auf Basis des Korruptionsindex von Transparency International (2017) erstellt Wilke (2019/2024) ein Diagramm zum Zusammenhang vom Entwicklungsindex (Lebenserwartung, Bildung, Einkommen; vgl. Hou et al. (2015)) und Korruption, jeweils auf Landesebene, s. Abbildung 5.3.
Es finden sich in der Literatur (im Internet) viele weitere Beispiele für handwerklich meisterhaft erstelle Datendiagramme, die in vielen Fällen mit R erstellt werden (vgl. Scherer et al., 2019).
5.2.2 Ein Bild hat nicht so viele Dimensionen
Abbildung 5.4 zeigt ein Bild mit mehreren (5) Variablen, die jeweils einer “Dimension” entsprechen. Wie man (nicht) sieht, wird es langsam unübersichtlich. Offenbar kann man in einem Bild nicht beliebig viele Variablen sinnvoll reinquetschen. Die “Dimensionalität” eines Diagramms hat ihre Grenzen, vielleicht bei 4-6 Variablen.
Möchten wir den Zusammenhang von vielen Variablen, z.B. mehr als 5, verstehen, kommen wir mit Bildern nicht weiter. Dann brauchen wir andere Werkzeuge: statistics to the rescue.
Bei klaren Zusammenhängen und wenig Variablen braucht man keine (aufwändige) Statistik. Ein Bild (Datendiagramm) ist dann (oft) ausreichend. Man könnte sagen, dass es Statistik nur deshalb gibt, weil unser Auge mit mehr als ca. 4-6 Variablen nicht gleichzeitig umgehen kann.
Übungsaufgabe 5.1 Wie viele Variablen sind in Abbildung 5.4 dargestellt?1
5.3 Nomenklatur von Datendiagrammen
Tabelle 5.1 zeigt eine – sehr kurze Nomenklatur – an Datendiagrammen. Weitere Nomenklaturen sind möglich, aber wir halten hier die Sache einfach. Wer an Vertiefung interessiert ist, findet bei data-to-vis einen Überblick über verschiedene Typen an Diagrammen, sogar in Form einer systematischen Nomenklatur: https://www.data-to-viz.com/.
Erkenntnisziel | qualitativ | quantitativ |
---|---|---|
Verteilung | Balkendiagramm | Histogramm und Dichtediagramm |
Zusammenhang | gefülltes Balkendiagramm | Streudiagramm |
Unterschied | gefülltes Balkendiagramm | Boxplot |
Wir arbeiten hier mit dem Datensatz mariokart
. Hilfe bzw. ein Data-Dictionary (Codebook) finden Sie hier.
5.4 Verteilungen verbildlichen
5.4.1 Verteilung: nominale Variable
Definition 5.1 (Verteilung) Eine (Häufigkeits-)Verteilung einer Variablen \(X\) schlüsselt auf, wie häufig jede Ausprägung von \(X\) ist.\(\square\)
Beispiel 5.2 Tabelle 5.2 zeigt die Häufigkeitsverteilung von cond
(condition, also der Zustand des Artikels, neu oder gebraucht) aus dem Datensatz mariokart
. Die Variable hat 5 Ausprägungen; z.B. kommt die Ausprägung new
59 mal vor.\(\square\)
cond
aus dem Datensatz mariokart
cond | n |
---|---|
new | 59 |
used | 84 |
Zugegeben, das Datendiagramm von cond
ist nicht so aufregend, s. Abbildung 5.5. Wie man sieht, besteht so ein Diagramm als Balken, daher heißt es Balkendiagramm (synonym: Säulendiagramm). Man kann so ein Diagramm um 90° drehen; keine Ausrichtung ist unbedingt besser als die andere.
Definition 5.2 (Balkendiagramm) Ein Balkendiagramm ist eine grafische Darstellung von Werten, zumeist für die Häufigkeiten bestimmter Kategorien (Ausprägungen nominaler Variablen). Dabei werden rechteckige Balken verwendet werden, und die Länge eines Balkens ist proportional zur dargestellten Häufigkeit. \(\square\)
Es gibt viele Methoden, sich mit R ein Balkendiagramm ausgeben zu lassen. Eine einfache, komfortable ist die mit dem Paket DataExplorer
, s. Abbildung 5.5; wir betrachten gleich die Syntax.
Zuerst importieren wir die Daten, s. ?lst-mariokart-path.
Außerdem nicht vergessen, das Paket DataExplorer
mit dem Befehle library
zu starten. (Natürlich müssen Sie das Paket einmalig installiert haben, bevor Sie es starten können.) In diesem Paket “wohnen” die Befehle, die wir zum Erstellen der Datendiagramme nutzen werden. Listing 5.2 zeigt die Syntax, um ein Balkendiagramm zu erstellen. Auf der Hilfeseite der Funktion finden Sie weitere Details zur Funktion.
Die Syntax ist in Listing 5.2 abgedruckt (Zur Erinnerung: %>%
nennt man die “Pfeife und lässt sich als”und dann” übersetzen, vgl. Kapitel 4.4). Übersetzen wir die Syntax ins Deutsche:
Nimm den Datensatz mariokart *und dann*
wähle die Spalte cond *und dann*
zeichne ein Balkendiagramm.
Übungsaufgabe 5.2 (Spalten wählen für das Balkendiagramm) Hätten wir andere Spalten ausgewählt, so würde das Balkendiagramm die Verteilung jener Variablen zeigen. Ja, Sie können auch mehrere Variablen auf einmal auswählen. Probieren Sie das doch mal aus!
5.4.2 Verteilung: quantitative Variable
5.4.2.1 Histogramm
Bei einer quantitativen Variablen mit vielen Ausprägungen wäre ein Balkendiagramm nicht so aussagekräftig, s. Abbildung 5.7 (links). Es gibt einfach zu viele Ausprägungen.
Die Lösung: Wir reduzieren die Anzahl der Ausprägungen, in dem wir auf ganze Dollar runden. Oder, um noch weniger Ausprägungen zu bekommen, können wir einfach Gruppen definieren, z.B.
- Gruppe 1: 0-5 Dollar
- Gruppe 2: 6-10 Dollar
- Gruppe 2: 11-15 Dollar …
In Abbildung 5.7 (rechts) sind z.B. die Ausprägungen des Verkaufspreis (total_pr
) in in Gruppen der Breite von 5 Dollar aufgeteilt worden. Zusätzlich sind noch die einzelnen Werte als schwarze Punkte gezeigt.
total_pr
)
Definition 5.3 (Histogramm) Ein Histogramm ist ein Diagramm zur Darstellung der Häufigkeitsverteilung einer quantitativen Variablen. Die Daten werden in Gruppen (Klassen) eingeteilt, die dann durch einen Balken (pro Klasse) dargestellt sind. Die Höhe der Balken zeigt die Häufigkeit der Daten in dieser Gruppe/in diesem Balken (bei konstanter Balkenbreite).
Es gibt keine klare Regel, in wie viele Balken ein Histogramm gegliedert sein sollte. Nur: Es sollten nicht sehr viele und nicht sehr wenig sein, s. Abbildung 5.8 links bzw. Abbildung 5.8, rechts.
Zur Erstellung eines Histogramms können Sie die Syntax Listing 5.3 nützen, vgl. Abbildung 5.9, links.
Übungsaufgabe 5.4 (Visualisieren Sie die Verteilung von ship_pr
anhand eines Histogramms!)
mariokart |>
select(ship_pr) |>
plot_histogram()
5.4.2.2 Dichtediagramm
Abbildung 5.10 fügt zu ?fig-balken-total-pr-hist ein Dichtediagramm hinzu (rote Linie). Ein Dichtediagramm ähnelt einem “glattgeschmirgeltem” Histogramm.
Definition 5.4 (Dichtediagramm) Ein Dichtediagramm visualisiert die Verteilung einer stetigen Variablen. Im Gegensatz zum Histogramm wird der Verlauf der Kurve geglättet, so kann Rauschen (Zufallsschwankung) besser ausgeblendet werden. (Mit Dichte ist die Anzahl der Beobachtungen pro Einheit der Variablen auf der X-Achse gemeint.)
total_pr
Übungsaufgabe 5.5 Erstellen Sie das Diagramm Abbildung 5.9, rechtes Teildiagramm!2\(\square\)
5.4.2.3 Eigenschaften von Verteilungen
Verteilungen unterscheiden sich z.B. einerseits in ihrem “typischen” oder “mittleren” Wert (vgl. Kapitel 6.5) und anderseits in ihrer Streuung (vgl. Kapitel 7.4.) (Diagramme von) Verteilungen können symmetrisch oder schief (nicht symmetrisch) sein, s. Abbildung 5.11.
Abbildung 5.12 zeigt verschiedene Formen von Verteilungen. “Bimodal” meint “zweigipflig” und “multimodal” entsprechend “mehrgipflig”.3
Übungsaufgabe 5.6 (Verteilungform von total_pr
?) Benennen Sie die am besten passende Verteilungsform für die Variable total_pr
.
Lösung
Die Verteilung ist rechtsschief.
mariokart |>
select(total_pr) |>
plot_density()
5.4.3 Normalverteilung
Eine Normalverteilung ist eine bestimmte Art von Verteilung einer quantitativen Variablen. Aber sie ist besonders wichtig, und ist daher hier herausgestellt.
Eine Normalverteilung sehen Sie in Abbildung 5.11, links. Sie hat u.a. folgende Eigenschaften:
- symmetrisch
- glockenförmig
- stetig
- eingipflig (unimodal)
- Mittelwert, Median und Modus sind identisch
Beispiel 5.3 Beispiele für normalverteilte Variablen sind Körpergröße von Männern oder Frauen, IQ-Werte, Prüfungsergebnisse, Messfehler, Lebensdauer von Glühbirnen, Gewichte von Brotlaiben, Milchproduktion von Kühen, Brustumfang schottischer Soldaten (Lyon, 2014).\(\square\)
Definition 5.5 (Normalverteilung) Eine Normalverteilung ist eine spezielle Art von Verteilung einer quantitativen Variablen. Sie ist symmetrisch, glockenförmig, stetig, unimodal und hat Mittelwert, Median und Modus identisch. Sie lässt sich durch zwei Parameter vollständig beschreiben: Mittelwert (\(\mu\)) und Streuung (\(\sigma\)). \(\square\)
Die Normalverteilung ist von hoher Bedeutung, da sich diese Verteilung unter (recht häufigen) Bedingungen zwangsläufig ergeben muss.
Definition 5.6 (Entstehung einer Normalverteilung) Wenn sich eine Variable \(X\) als Summe mehrerer, unabhängiger, etwa gleich starker Summanden, dann kann man erwarten, dass sich diese Variable \(X\) tendenziell normalverteilt. \(\square\)
Dieses Phänomen kann man gut anhand des Galton-Bretts veranschaulichen.
Eine Normalverteilung lässt sich exakt beschreiben anhand zweier Parameter: ihres zentralen Werts (Mittelwerts), \(\mu\), und ihrer Streuung (Standardabweichung), \(\sigma\). \(\square\)
Abbildung 5.13 zeigt interaktive Beispiele für Normalverteilung. Wählen Sie einfach Mittelwert (\(\mu\)) und Streuung (\(\sigma\)) anhand der Schieberegler.4
Kennt man diese beiden Parameter, so kann man einfach angeben, welcher Anteil der Fläche sich in einem bestimmten Bereich befindet, s. Abbildung 5.14.
Davon leitet sich die “68-95-99.7-Prozentregel” ab:
- \(68\,\%\) der Werte im Bereich \(\mu\pm 1 \cdot \sigma\)
- \(95\,\%\) der Werte im Bereich \(\mu\pm 2 \cdot \sigma\)
- \(99{,}7\,\%\) der Werte im Bereich \(\mu\pm 3 \cdot \sigma\)
5.5 Zusammenhänge verbildlichen
5.5.1 Zusammenhang: nominale Variablen
Beispiel 5.4 (Beispiele für Zusammenhänge bei nominalen Variablen)
- Hängt Berufserfolg (Führungskraft ja/nein) mit dem Geschlecht zusammen?
- Hängt der Beruf des Vaters mit dem Schulabschluss des Kindes (Abitur, Realschule, Mittelschule) zusammen?
- Gibt es einen Zusammenhang zwischen Automarke und politische Präferenz einer Partei? \(\square\)
Sagen wir, Sie arbeiten immer noch beim Online-Auktionshaus und Sie fragen sich, ob ein Produktfoto wohl primär bei neuwertigen Produkten beiliegt, aber nicht bei gebrauchten? Dazu betrachten Sie wieder die mariokart
-Daten, s. Abbildung 5.15.
wheel
und Foto in den Daten
Tatsächlich: Es findet sich ein Zusammenhang zwischen der Tatsache, ob dem versteigerten Produkt ein Foto bei lag und ob es neuwertig oder gebraucht war (Abbildung 5.15, links). Bei neuen Spielen war fast immer (ca. 90%) ein Foto dabei; bei gebrauchten Spielen immerhin bei gut der Hälfte der Fälle.
Anders sieht es aus für die Frage, ob ein (oder mehrere) Lenkräder dem Spiel beilagen (oder nicht) in Zusammenhang mit der Fotofrage Hier gab es fast keinen Unterschied zwischen neuen und alten Spielen, was die Frage nach “Foto des Produkts dabei” betraf (Abbildung 5.15, rechts), der Anteil betrug jeweils ca. 70%. Das zeigt, dass es keinen Zusammenhang zwischen Foto und Neuwertigkeit des Spiels gibt (laut unseren Daten).
Anders gesagt: Unterscheiden sich die “Füllhöhe” in den Diagrammen, so gibt es einen Unterschied hinsichtlich “Foto ist dabei” zwischen den beiden Gruppen (linker vs. rechter Balken). Unterscheiden sich die Anteile in den Gruppen (neuwertige vs. gebrauchte Spiele), so spielt z.B. die Variable “Foto dabei” offenbar eine Rolle. Dann hängen Neuwertigkeit und “Foto dabei” also zusammen!
So können Sie sich in R ein gefülltes Balkendiagramm ausgeben lassen, s. Abbildung 5.16. Diese Darstellung eignet sich, um Zusammenhänge zwischen zwei zweistufigen nominal skalierten Variablen zu verbildlichen. Die verschiedenen Werte der Füllfarbe werden den Stufen der Variablen cond
zugewiesen, s. Listing 5.4.
Gefüllte Balkendiagramme eignen sich zur Analyse eines Zusammenhangs zwischen nominalskalierten Variablen. Allerdings sollte eine der beiden Variablen nur zwei Ausprägungen aufweisen, sonst sind die Zusammenhänge nicht mehr so gut zu erkennen.\(\square\)
Übungsaufgabe 5.7 (Zusammenhang visualisieren) Aufgabe Visualisieren Sie den Zusammenhang der beiden nominalen Variablen cond
und wheels
!
Lösung
wheels
ist als metrische Variable (int
: Integer, d.h. Ganzzahl) formatiert im Datensatz mariokart
. Wir müssen Sie zunächst als Faktorvariable umformatieren, damit R sie als nominal skalierte Variable erkennt.
5.5.2 Zusammenhang: metrisch
Den (etwaigen) Zusammenhang zweier metrischer Variablen kann man mit einem Streudiagramm visualisieren (engl. scatterplot). Abbildung 5.17 links untersucht den Zusammenhang des Einstiegpreises (X-Achse) und Abschlusspreises (Y-Achse) von Geboten bei Versteigerungen des Computerspiels Mariokart. In dem Diagramm ist eine “Trendgerade” (Regressionsgerade), um die Art des Zusammenhangs besser zu verdeutlichen. Die Trendgerade steigt an (von links nach recht). Daraus kann man schließen: Es handelt sich um einen gleichsinnigen (positiven) Zusammenhang: Je höher der Startpreis, desto höher der Abschlusspreis, zumindest tendenziell. Diese Gerade liegt “mittig” in den Daten (wir definieren dies später genauer). Diese Trendgerade gibt Aufschluss über “typische” Werte: Welcher Y-Wert ist “typisch” für einen bestimmten X-Wert?
Abbildung 5.17 rechts untersucht den Zusammenhang zwischen Anzahl der Gebote (X-Achse) und Abschlusspreises (Y-Achse). Es handelt sich um einen negativen Zusammenhang: Je mehr Gebote, desto geringer der Abschlusspreis. Das erkennt man an der sinkenden Trendgeraden.
Die Ellipse zeigt an, wie eng die Daten um die Trendgerade streuen. Daraus kann man ableiten, wie stark der Absolutwert des Zusammenhangs ist, vgl. Abbildung 5.19.
Definition 5.7 (Linearer Zusammenhang) Lässt sich die Beziehung zwischen zwei Variablen mit einer Gerade visualisieren, so spricht man von einem linearen Zusammenhang. Ändert man eine der beiden Variablen um einen bestimmten Wert (z.B. 1), so ändert sich die andere um einen proportionalen Wert (z.B. 0.5). \(\square\)
Natürlich könnte man auch nicht-lineare Zusammenhänge untersuchen, aber der Einfachheit halber konzentrieren wir uns hier mit linearen; Beispiele für nicht-lineare Zusammenhänge sind in Abbildung 5.18 zu sehen.
Definition 5.8 (Richtung und Stärke eines Zusammenhang) Gleichsinnige (positive) Zusammenhänge erkennt man an aufsteigenden Trendgeraden \(\nearrow\); gegensinnige (negative) Zusammenhänge an absteigenden Trendgeraden \(\searrow\). \(\square\)
Starke Zusammenhänge erkennt man an schmalen Ellipsen (“Baguette” 🥖); schwache Zusammenhänge an breiten Ellipsen (“Torte” 🥮). Abbildung 5.19 bietet einen Überblick über verschiedene Beispiele von Richtung und Stärke von Zusammenhängen.5
In Abbildung 5.19 ist für jedes Teildiagramm eine Zahl angegeben: der Korrelationskoeffizient. Diese Statistik quantifiziert Richtung und Stärke des Zusammenhangs (mehr dazu in Kap. Kapitel 8). Ein positives Vorzeichen steht für einen positiven Zusammenhang, ein negatives Vorzeichen für einen negativen Zusammenhang. Der (Absolut-)Wert gibt die Stärke des linearen Zusammenhangs an (Cohen, 1992):
- ±0: Kein Zusammenhang
- ±0.1: schwacher Zusammenhang
- ±0.3: mittlerer Zusammenhang
- ±0.5: starker Zusammenhang
- ±1: perfekter Zusammenhang
Abbildung 5.20 hat die gleiche Aussage wie Abbildung 5.19, ist aber plakativer, indem Stärke (schwach, stark) und Richtung (positiv, negativ) gegenübergestellt sind.
Man sieht in Abbildung 5.19 und Abbildung 5.20, dass ein negativer Korrelationskoeffizient mit einer absinkenden Trendgerade (synonym: Regressionsgerade; blaue Linie) einhergeht. Umgekehrt geht ein positiver Trend mit einer ansteigenden Trendgerade einher. Zweitens erkennt man, dass starke Zusammenhänge mit einer schmaler Ellipse einhergehen und schwache Zusammenhänge mit einer breiten Ellipse einhergehen.
Abbildung 5.21 zeigt interaktive Beispiele für (lineare) Zusammenhänge.6
Beispiel 5.5 Sie arbeiten nach wie vor bei einem Online-Auktionshaus, und manchmal gehört Datenanalyse zu Ihren Aufgaben. Daher interessiert Sie, ob welche Variablen mit dem Abschlusspreis (total_pr
) im Datensatz mariokart
zusammenhängen. Sie verbildlichen die Daten mit R, und zwar nutzen Sie das Paket DataExplorer
. Außerdem müssen wir noch die Daten importieren, falls noch nicht getan, s. Listing 5.1.
So, jetzt kann die eigentliche Arbeit losgehen. Da Sie sich nur auf metrische Variablen konzentrieren wollen, wählen Sie (mit select
) nur diese Variablen aus. Dann weisen Sie R an, einen Scatterplot zu malen (plot_scatterplot
) und zwar jeweils den Zusammenhang einer der gewählten Variablen mit dem Abschlusspreis (total_pr
), da das die Variable ist, die Sie primär interessiert. Das Ergebnis sieht man in Abbildung 5.22 bzw. Listing 5.5. \(\square\)
mariokart %>%
select(duration, n_bids, start_pr,
ship_pr, total_pr,
seller_rate, wheels) %>%
plot_scatterplot(by = "total_pr")
Aha… Was sagt uns das Bild? Hm. Es scheint einige Extremwerte zu geben, die dafür sorgen, dass der Rest der Daten recht zusammengequetscht auf dem Bild erscheint. Vielleicht sollten Sie solche Extremwerte lieber entfernen? Sie entscheiden sich, nur Verkäufe mit einem Abschlusspreis von weniger als 100 Dollar anzuschauen (total_pr < 100
). Das Ergebnis ist in Abbildung 5.23 zu sehen.
mariokart_no_extreme <-
mariokart %>%
filter(total_pr < 100)
mariokart_no_extreme %>%
select(duration, n_bids, start_pr,
ship_pr, total_pr,
seller_rate, wheels) %>%
plot_scatterplot(by = "total_pr")
Ohne Extremwerte schält sich ein deutlicheres Bild (Abbildung 5.23) hervor: Startpreis (start_pr
) und Anzahl der Räder (wheels
) scheinen am stärksten mit dem Abschlusspreis zusammenzuhängen.
Das Argument by = "total_pr"
bei plot_scatterplot
weist R an, als Y-Variable stets total_pr
zu verwenden. Alle übrigen Variablen kommen jeweils einmal als X-Variable vor.\(\square\)
Übungsaufgabe 5.8
Visualisieren Sie den Zusammenhang der beiden metrischen Variablen start_pr
und total_pr
. Verwenden Sie den Datensatz ohne Extremwerte wie oben definiert.
mariokart_no_extreme |>
select(start_pr, total_pr) |>
plot_scatterplot(by = "total_pr")
5.6 Unterschiede verbildlichen
5.6.1 Unterschied: nominale Variablen
Gute Nachrichten: Für nominale Variablen bieten sich Balkendiagramme sowohl zur Darstellung von Zusammenhängen als auch von Unterschieden an. Genau genommen zeigt ja Abbildung 5.15 (links) den Unterschied zwischen neuen und gebrauchten Spielen hinsichtlich der Frage, ob Photos beiliegen. Und wie man in Abbildung 5.15 sieht, ist der Anteil der Spiele mit Foto bei den neuen Spielen höher als bei gebrauchten Spielen.7
5.6.2 Unterschied: quantitative Variablen
Eine typische Analysefrage ist, ob sich zwei Gruppen hinsichtlich einer metrischen Zielvariablen deutlich unterscheiden. Genauer gesagt untersucht man z.B. oft, ob sich die Mittelwerte der beiden Gruppen zwischen der Zielvariablen deutlich unterscheiden. Das hört sich abstrakt an? Am besten wir schauen uns einige Beispiele an, s. Abbildung 5.24.
Das linke Teildiagramm von Abbildung 5.24 zeigt das Histogramm von total_pr
, getrennt für neue und gebrauchte Spiele, vgl. Abbildung 5.9. Das rechte Teildiagramm zeigt die gleichen Verteilungen, aber mit einer vereinfachten, groberen Darstellungsfrom, den Boxplot.8 Was ein “deutlicher” (“substanzieller”, “bedeutsamer”, “relevanter” oder “(inhaltlich) signifikanter”) Zusammenhang ist, ist keine statistische, sondern inhaltliche Frage, die man mit Sachverstand zum Forschungsgegenstand beantworten muss.
Definition 5.9 (Boxplot) Der Boxplot ist eine Vereinfachung bzw. eine Zusammenfassung eines Histograms. Damit stellt der Boxplot auch eine Verteilung (einer metrischen Variablen) dar.\(\square\)
In Abbildung 5.25 sieht man die “Übersetzung” von Histogramm (oben) zu einem Boxplot (unten). Ob der Boxplot horizontal oder vertikal steht, ist Ihrem Geschmack überlassen.
Schauen wir uns die “Anatomie” des Boxplots näher an:
- Der dicke Strich in der Box zeigt den Median der Verteilung, vgl. Kapitel 6.3.
- Die Enden der Box zeigen das 1. Quartil (41) bzw. das 3. Quartil (54). Damit zeigt die Breite der Box die Streuung der Verteilung an, genauer gesagt die Streuung der inneren 50% der Beobachtungen. Je breiter die Box, desto größer die Streuung. Die Breite der Box nennt man auch den Interquartilsabstand (IQR).
- Die “Antennen” des Boxplots zeigen die Streuung in den kleinsten 25% der Werte (linke Antenne) bzw. die Streuung der größten 25% der Werte (rechte Antennen). Je länger die Antenne, desto größer die Streuung.
- Falls es aber Extremwerte gibt, so sollten die lieber einzeln, separat, außerhalb der Antennen gezeigt werden. Daher ist die Antennenlänge auf die 1,5-fache Länge der Box beschränkt. Werte die außerhalb dieses Bereichs liegen (also mehr als das 1,5-fache der Boxlänge von Q3 entfernt sind) werden mittels eines Punktes dargestellt.
- Liegt der Median-Strich in der Mitte der Box, so ist die Verteilung symmetrisch (bezogen auf die inneren 50% der Werte), liegt der Median-Strich nicht in der Mitte der Box, so ist die Verteilung nicht symmetrisch (d.h. sie ist schief). Gleiches gilt für die Antennenlängen: Sind die Antennen gleich lang, so ist der äußere Teil der Verteilung symmetrisch, andernfalls schief.
Beispiel 5.6 In einer vorherigen Analyse haben Sie den Zusammenhang von Abschlusspreis und der Anzahl der Lenkräder untersucht. Jetzt möchten Sie eine sehr ähnliche Fragestellung betrachten: Wie unterscheiden sich die Verkaufspreise je nach Anzahl der beigelegten Lenkräder? Flink erstellen Sie dazu folgendes Diagramm, Abbildung 5.26, links. Es zeigt die Verteilung des Abschlusspreises, aufgebrochen nach Anzahl Lenkräder (by = "wheels"
). \(\square\)
Aber ganz glücklich sind Sie mit dem Diagramm nicht: R hat die Variable wheels
komisch aufgeteilt. Es wäre eigentlich ganz einfach, wenn R die Gruppen 0
, 1
, 2
, 3
und 4
aufteilen würde. Aber schaut man sich die Y-Achse (im linken Teildiagramm von Abbildung 5.26) an, so erkennt man, dass R wheels
als stetige Zahl betrachtet und nicht in ganze Zahlen gruppiert. Vielleicht so, dass in jeder Gruppe gleich viele Wert sind?] Aber wir möchten jeden einzelnen Wert von wheels
(0, 1, 2, 3, 4) als Gruppe verstehen. Mit anderen Worten, wir möchten wheels
als nominale Variable definieren. Das kann man mit dem Befehle factor(wheels)
erreichen (verpackt in mutate
), s. Abbildung 5.26 rechts.
mariokart_no_extreme %>%
select(total_pr, wheels) %>%
plot_boxplot(by = "wheels")
mariokart_no_extreme %>%
select(total_pr, wheels) %>%
mutate(wheels = factor(wheels)) %>%
plot_boxplot(by = "wheels")
Sie schließen aus dem Bild, dass Lenkräder und Preis (positiv) zusammenhängen. Allerdings scheint es wenig Daten für wheels == 4
zu geben. Das prüfen Sie nach:
Tatsächlich gibt es (in mariokart_no_extreme
) auch für 3 Lenkräder schon wenig Daten, so dass wir die Belastbarkeit dieses Ergebnisses skeptisch betrachten sollten.
Übrigens bezeichnet Sie Ihre Chefin nur noch als “Datengott”.
Übungsaufgabe 5.9 (Visualisieren Sie den Unterschied im Verkaufspreis zwischen gebrauchten und neuen Spielen.) Lösung
mariokart_no_extreme |>
select(cond, total_pr) |>
plot_boxplot(by = "cond")
Übungsaufgabe 5.10 (Verkaufspreis im Vergleich) Visualisieren Sie den Unterschied im Verkaufspreis abhängig von ship_pr
; betrachten Sie ship_pr
als ein Gruppierungsvariable. Interpretieren Sie das Ergebnis.
Lösung
mariokart_no_extreme |>
select(ship_pr, total_pr) |>
plot_boxplot(by = "ship_pr")
plot_boxplot
gruppiert metrische Variablen, wie ship_pr
automatisch in fünf Gruppen (mit gleichen Ranges). Wir müssen also nichts tun, um die metrische Variable ship_pr
in eine Gruppierungsvariable (Faktorvariable) umzuwandeln.
Es sieht so aus, als würde der Median zwischen den Gruppen leicht steigen, mit Ausnahme der mittleren Gruppe.
5.7 So lügt man mit Statistik
Diagramme werden miunter eingesetzt, um die Wahrheit “aufzuhübschen”. Hier folgen einige gebräuchlichen Täuschungsmanöver.
5.7.1 Achsen manipulieren
Achsen zu stauchen ist ein einfacher Trick, s. Abbildung 5.27.
Natürlich kann man auch durch “Abschneiden” der Y-Achse einen eindrucksvollen Effekt erzielen, s. Abbildung 5.28.
5.7.2 Scheinkorrelation
Messerli (2012) berichtet von einem Zusammenhang von Schokoladenkonsum und Anzahl von Nobelpreisen (Beobachtungseinheit: Länder), s. Abbildung 5.29. Das ist doch ganz klar: Schoki futtern macht schlau und Nobelpreise! (?)
Leider ist hier von einer Scheinkorrelation auszugehen: Auch wenn die beiden Variablen Schokoladenkonsum und Nobelpreise zusammenhängen, heißt das nicht, dass die Variable die Ursache und die andere die Wirkung sein muss. So könnte auch eine Drittvariable im Hintergrund die gleichzeitige Ursache von Schokoladenkonsum und Nobelpreise sein, etwa der allgemeine Entwicklungsstand des Landes: In höher entwickelten Ländern wird mehr Schokolade konsumiert und es werden mehr Nobelpreise gewonnen im Vergleich zu Ländern mit geringerem Entwicklungsstand.
5.8 Praxisbezug
Ein, wie ich finde schlagendes Beispiel zur Stärke von Datendiagrammen ist Abbildung 5.30. Das Diagramm zeigt die Häufigkeit von Masern, vor und nach der Einführung der Impfung. Die Daten und die Idee zur Visualisierung gehen auf van Panhuis et al. (2013) zurück.
In der “freien Wildbahn” findet man häufig sog. “Tortendiagramme”. Zwar sind sie beliebt, doch ist von ihrer Verwendung zumeist abzuraten; vgl. auch hier.9
5.9 Vertiefung
Mehr Informationen zu DataExplorer finden Sie hier.
5.9.1 Animation
Eine weitere nützliche Art von Visualisierung sind Karten, 3D-Bilder und Animationen. So zeigt z.B. Abbildung 5.31 die Veränderung der Lebenserwartung (in Jahren) über die letzten Dekaden.10
In einigen Situation können Animationen zweckdienlich sein. Außerdem sind sie mitunter nett anzuschauen, s. Abbildung 5.32.
Um den gemeinsamen Zusammenhang dreier metrischer Variablen darzustellen, bietet sich ein 3D-Streudiagramm an; s. Abbildung 5.33.
Leider ist Abbildung 5.33 nicht sehr aufschlussreich.
Natürlich sind der Fantasie keine Grenzen beim Visualisieren gesetzt, so ist etwa diese Animationen ziemlich beeindruckend. 11
5.9.2 Schicke Diagramme
Ein Teil der Diagramm dieses Kapitels wurden mit dem R-Paket ggpubr erstellt. Mit diesem Paket lassen sich einfach ansprechende Datendiagramme erstellen.
Möchte man Mittelwerte vergleichen, so sind Boxplots nicht ideal, da diese ja nicht den Mittelwert, sondern den Median heraustellen. Eine Abhilfe (also eine Darstellung des Mittelwerts) schafft man (z.B.) mit ggpubr
, s. Abbildung 5.34.
ggviolin(mariokart_no_extreme,
x = "cond",
y = "total_pr",
add = "mean_sd")
Ein “Violinenplot” hat die gleiche Aussage wie ein Dichtediagramm: Je breiter die “Violine”, desto mehr Beobachtungen gibt es an dieser Stelle. Weitere Varianten zum Violinenplot mit ggpubr
finden sich hier.12
Übrigens sind Modelle – und Diagramme sind Modelle – immer eine Vereinfachung, lassen also Informationen weg. Manchmal auch wichtige Informationen. Dieses Beispiel zeigt, wie etwa Histogramme wichtige Informationen unter den Tisch fallen lassen.13 Ein weiteres R-Paket zur Erstellung ansprechender Datenvisualisierung heißt ggstatsplot
.14 Abbildung 5.35 zeigt ein Histogramm, das mit ggstatsplot
erstellt wurde.15
library(ggstatsplot)
gghistostats(
data = mariokart_no_extreme,
x = total_pr,
xlab = "Verkaufspreis"
# results.subtitle = FALSE # unterdrückt statist. Details
)
Die Menge der statistischen Kennzahlen bei ggstatsplot
schindet ordentlich Eindruck. Möchte man auf die Kennzahlen verzichten, so nutzt man den Schalter results.subtitle = FALSE
. (Weitere Hinweise finden sich auf der Hilfeseite der Funktion der Funktion.)
👩🏫 Ich würde gerne mal Beispiele von schlechten Datendiagrammen sehen.
🧑🎓 Auf der Seite von Flowingdata findet sich eine nette Liste mit schlechten Datendiagrammen.16
5.9.3 Farbwahl
Einige Überlegungen zur Farbwahl findet sich bei Wilke (2019), s. Kap. 4.17 Die Farbpalette von Okabe und Ito ist (vgl. Ichihara et al., 2008) empfehlenswert, da sie auch bei Schwarz-Weiß-Druck und bei Sehschwächen die Farben noch recht gut unterscheiden lässt, s. Abbildung 5.36.
5.10 Aufgaben
Die Webseite datenwerk.netlify.app stellt eine Reihe von einschlägigen Übungsaufgaben bereit. Sie können die Suchfunktion der Webseite nutzen, um die Aufgaben mit den folgenden Namen zu suchen:
- boxhist
- max-corr1
- max-corr2
- Histogramm-in-Boxplot
- Diamonds-Histogramm-Vergleich2
- Boxplot-Aussagen
- boxplots-de1a
- movies-vis1
- movies-vis2
- vis-gapminder
- boxplots-de1a
- diamonds-histogramm-vergleich
- wozu-balkendiagramm
- diamonds-histogram
- n-vars-diagram
Noch mehr Aufgaben zum Thema Datenvisualisierung finden Sie im Datenwerk unter dem Tag vis.
5.11 Literaturhinweise
Sowohl ggpubr
als auch DataExplorer
(und viele andere R-Pakete) bauen auf dem R-Paket ggplot2
auf. ggplot2
ist eines der am weitesten ausgearbeiteten Softwarepakete zur Erstellung von Datendiagrammen. Das Buch zur Software (vom Autor von ggplot2
) ist empfehlenswert (Wickham, 2016). Eine neuere, gute Einführung in Datenvisualisierung findet sich bei Wilke (2019). Beide Bücher sind kostenfrei online lesbar.
Wilke (2019) gibt einen hervorragenden Überblick über praktische Aspekte der Datenvisualisierung; gut geeignet, wenn man mit R arbeitet. In ähnlicher Richtung geht Fisher & Meyer (2018).
Hier ist eine Liste von Büchern zum Thema; dort können Sie bei Interesse tiefer suchen.
5↩︎
Grob gesagt:
mariokart %>% plot_density()
.↩︎Quelle: ifes/FOM Hochschule, https://github.com/FOM-ifes/VL-Vorlesungsfolien↩︎
Quelle: https://observablehq.com/@mcmcclur/the-normal-model↩︎
Quelle: Aufbauend auf FOM/ifes, Autor: Norman Markgraf↩︎
Aber Freunde lassen Freunde keine Tortendiagramme verwenden: https://github.com/cxli233/FriendsDontLetFriends#10-friends-dont-let-friends-make-pie-chart.↩︎
Übrigens: Freunde lassen Freunde nicht Balkendiagramme verwenden, um Mittelwerte darzustellen: https://github.com/cxli233/FriendsDontLetFriends#1-friends-dont-let-friends-make-bar-plots-for-means-separation.↩︎
https://www.data-to-viz.com/caveat/pie.html; https://github.com/cxli233/FriendsDontLetFriends#10-friends-dont-let-friends-make-pie-chart↩︎
Der Quellcode der Animation ist hier zu finden: https://gist.github.com/rafapereirabr/0d68f7ccfc3af1680c4c8353cf9ab345.↩︎
https://www.tylermw.com/wp-content/uploads/2019/06/featuredmeasles.mp4↩︎
https://rpkgs.datanovia.com/ggpubr/reference/ggviolin.html↩︎
https://www.autodesk.com/research/publications/same-stats-different-graphs↩︎
https://github.com/IndrajeetPatil/ggstatsplot/blob/main/README.md↩︎
https://github.com/IndrajeetPatil/ggstatsplot/blob/main/README.md#gghistostats↩︎
https://flowingdata.com/category/visualization/ugly-visualization/↩︎
Siehe auch: https://data-se.netlify.app/2023/06/30/farbpaletten/↩︎