← Übersicht ESTO
ESTO · Übungsblatt 5 · Aufgabe 1

Histogramm: Wartezeiten an der Bushaltestelle

Bisher war die Verteilung vorgegeben, und daraus wurden Wahrscheinlichkeiten berechnet. Jetzt ist es umgekehrt: Gegeben sind 20 gemessene Wartezeiten, die Verteilung dahinter ist unbekannt. Ein Histogramm macht aus den Daten ein Bild ihrer Verteilung. Hier wird es Schritt für Schritt gebaut: Wertebereich, Klassen, Zählen, Dichte, Fläche — und am Ende mit R und drei verschiedenen Klassenbreiten verglichen. Rechts steht der ganze Lösungsweg, links die Erklärung zum aktuellen Schritt. Mit Weiter geht es Schritt für Schritt voran. Ein Klick auf einen Schritt springt direkt dorthin.

Schritt 0 Die Aufgabe

Wichtige R-Befehle für deskriptive Statistik (Auszug vom Blatt, soweit Aufgabe 1 sie braucht). Für eine Stichprobe x <- c(x1, ..., xn) bietet R unter anderem:

Kennzahl R-Befehl Hinweis
Histogramm hist(x) Klassenbreite via breaks

Hinweis: Das Argument breaks in hist(x) erwartet einen Vektor mit den Klassengrenzen. Mit seq(von, bis, by = b) lässt sich dieser erzeugen — z. B. liefert seq(1, 6, by = 1) die Grenzen 1, 2, 3, 4, 5, 6 für fünf Klassen der Breite b=1b = 1.

Aufgabe 1. An einer Bushaltestelle wurden die Wartezeiten (in Minuten) von n=20n = 20 Fahrgästen gemessen:

2,1 3,4 1,8 5,2 4,7 2,9 3,1 4,2 1,9 4,5
1,5 3,8 2,6 4,9 3,3 2,2 4,1 3,7 3,2 2,8
  1. Bestimmen Sie den Wertebereich (Minimum und Maximum) der Daten. Verwenden Sie die Faustformel k≈nk \approx \sqrt{n} für die Anzahl der Klassen kk und leiten Sie eine sinnvolle Klassenbreite bb ab.
  2. Unterteilen Sie den Wertebereich in Intervalle der in (i) bestimmten Breite und zählen Sie die Häufigkeiten njn_j in jedem Intervall.
  3. Berechnen Sie für jedes Intervall die empirische Dichte fj=njn⋅bf_j = \dfrac{n_j}{n \cdot b} sowie die relative Häufigkeit hj=fj⋅bh_j = f_j \cdot b. Überprüfen Sie, dass ∑jhj=1\sum_j h_j = 1.
  4. Erstellen Sie das Histogramm in R zunächst mit Ihrer Klassenbreite aus (i). Probieren Sie anschließend b∈{0,5; 2}b \in \{0{,}5;\ 2\} aus. Was beobachten Sie? Was spricht jeweils gegen eine zu kleine bzw. zu große Klassenbreite?
Hinweis zur Musterlösung: Die Ergebnisse zu (i) bis (iii) stimmen: k=5k = 5, b=1b = 1, nj=3; 5; 6; 5; 1n_j = 3;\ 5;\ 6;\ 5;\ 1 und fj=hj=0,15; 0,25; 0,30; 0,25; 0,05f_j = h_j = 0{,}15;\ 0{,}25;\ 0{,}30;\ 0{,}25;\ 0{,}05. Vier Punkte weichen ab. (1) Sie begründet k=5k = 5 mit „Intervalle müssen ganzzahlig sein“. Gemeint ist: Die Anzahl kk muss eine ganze Zahl sein (Schritt 2). (2) Sie nennt den höchsten Balken einmal „[3,4)“. Die Klassen sind aber rechts geschlossen, richtig ist (3,4](3, 4] (Schritt 4). (3) Ihre Nummern sind verschoben: Das Zählen steht dort unter (i), fjf_j und hjh_j unter (ii), der R-Code unter (iii). (4) Den R-Code für b=1b = 1 enthält sie (hier Schritt 9). Der Vergleich mit b=0,5b = 0{,}5 und b=2b = 2 aus Teil (iv) fehlt dort ganz. Hier steht er vollständig in den Schritten 10 bis 13.

(i) Wertebereich und Klassenbreite

wie viele Klassen, wie breit

Schritt 1 Die Stichprobe sortieren: Minimum und Maximum

Die sortierte Stichprobe x(1)≤x(2)≤⋯≤x(20)x_{(1)} \le x_{(2)} \le \dots \le x_{(20)} in Minuten
Platz ii 1 2 3 4 5 6 7 8 9 10
x(i)x_{(i)} 1,5 1,8 1,9 2,1 2,2 2,6 2,8 2,9 3,1 3,2
Platz ii 11 12 13 14 15 16 17 18 19 20
x(i)x_{(i)} 3,3 3,4 3,7 3,8 4,1 4,2 4,5 4,7 4,9 5,2
Minimum und Maximum: der erste und der letzte Platz
x(1)=1,5 Minuten,x(20)=5,2 Minutenx_{(1)} = 1{,}5 \text{ Minuten}, \qquad x_{(20)} = 5{,}2 \text{ Minuten}
Wie breit ist der Wertebereich? Die Spannweite
x(20)−x(1)=5,2−1,5=3,7 Minutenx_{(20)} - x_{(1)} = 5{,}2 - 1{,}5 = 3{,}7 \text{ Minuten}
x <- c(2.1, 3.4, 1.8, 5.2, 4.7, 2.9, 3.1, 4.2, 1.9, 4.5,
 1.5, 3.8, 2.6, 4.9, 3.3, 2.2, 4.1, 3.7, 3.2, 2.8)
sort(x)
# [1] 1.5 1.8 1.9 2.1 2.2 2.6 2.8 2.9 3.1 3.2 3.3 3.4 3.7 3.8 4.1 4.2 4.5 4.7 4.9
#[20] 5.2
range(x)
#[1] 1.5 5.2

Schritt 2 Die Faustformel k≈nk \approx \sqrt{n}: fünf Klassen

Faustformel für die Anzahl kk der Klassen
k≈nk \approx \sqrt{n}
Mit n=20n = 20
k≈20≈4,47k \approx \sqrt{20} \approx 4{,}47
kk zählt Klassen und muss eine ganze Zahl sein: 4 oder 5. Welche passt, zeigt Schritt 3: Mit der runden Breite 1 ab Grenze 1 reichen vier Klassen nur bis 5, das Maximum ist 5,2 — deshalb
k=5k = 5
sqrt(20)
#[1] 4.472136

Schritt 3 Eine runde Klassenbreite: b=1b = 1

Spannweite gleichmäßig auf k=5k = 5 Klassen verteilen
b≈Spannweitek=3,75=0,74 Minutenb \approx \frac{\text{Spannweite}}{k} = \frac{3{,}7}{5} = 0{,}74 \text{ Minuten}
Auf eine runde Zahl aufrunden, damit alles hineinpasst
b=1 Minute,5⋅1=5≥3,7b = 1 \text{ Minute}, \qquad 5 \cdot 1 = 5 \ge 3{,}7
Start an einer runden Zahl unter dem Minimum 1,5, Ende mindestens beim Maximum: die Grenzen
1, 2, 3, 4, 5, 6(letzte Grenze 6≥5,2)1,\ 2,\ 3,\ 4,\ 5,\ 6 \qquad (\text{letzte Grenze } 6 \ge 5{,}2)
Warum nicht k=4k = 4: auch dann b=1b = 1, aber vier Klassen ab 1 enden bei 5 — also k=5k = 5
3,74≈0,93 → b=1,1+4⋅1=5<5,2\frac{3{,}7}{4} \approx 0{,}93 \ \to\ b = 1, \qquad 1 + 4 \cdot 1 = 5 < 5{,}2

(ii) Klassen und Häufigkeiten

welcher Wert gehört wohin

Schritt 4 Die Klassen: rechts geschlossene Intervalle

Klasse jj reicht von der Grenze gj−1g_{j-1} (ausgeschlossen) bis gjg_j (eingeschlossen)
(gj−1, gj]={ t:gj−1<t≤gj }(g_{j-1},\, g_j] = \{\, t : g_{j-1} < t \le g_j \,\}
jj Klasse bedeutet: Wartezeit tt in Minuten mit
1 (1,2](1, 2] 1<t≤21 < t \le 2
2 (2,3](2, 3] 2<t≤32 < t \le 3
3 (3,4](3, 4] 3<t≤43 < t \le 4
4 (4,5](4, 5] 4<t≤54 < t \le 5
5 (5,6](5, 6] 5<t≤65 < t \le 6

Schritt 5 Die Häufigkeiten njn_j zählen

jj Klasse Werte darin (sortiert) njn_j
1 (1,2](1, 2] 1,5; 1,8; 1,9 3
2 (2,3](2, 3] 2,1; 2,2; 2,6; 2,8; 2,9 5
3 (3,4](3, 4] 3,1; 3,2; 3,3; 3,4; 3,7; 3,8 6
4 (4,5](4, 5] 4,1; 4,2; 4,5; 4,7; 4,9 5
5 (5,6](5, 6] 5,2 1
Summe 20
Probe: Jeder Wert ist genau einmal gezählt
∑j=15nj=3+5+6+5+1=20=n\sum_{j=1}^{5} n_j = 3 + 5 + 6 + 5 + 1 = 20 = n

(iii) Dichte und relative Häufigkeit

Höhe und Fläche der Balken

Schritt 6 Die empirische Dichte fjf_j: die Höhe des Balkens

Empirische Dichte der Klasse jj
fj=njn⋅bf_j = \frac{n_j}{n \cdot b}
Der Nenner mit n=20n = 20 und b=1b = 1
n⋅b=20⋅1=20n \cdot b = 20 \cdot 1 = 20
jj Klasse njn_j Rechnung fjf_j
1 (1,2](1, 2] 3 3:203 : 20 0,15
2 (2,3](2, 3] 5 5:205 : 20 0,25
3 (3,4](3, 4] 6 6:206 : 20 0,30
4 (4,5](4, 5] 5 5:205 : 20 0,25
5 (5,6](5, 6] 1 1:201 : 20 0,05

Schritt 7 Die relative Häufigkeit hjh_j: die Fläche des Balkens

Fläche = Breite mal Höhe; das bb kürzt sich weg
hj=fj⋅b=njn⋅b⋅b=njnh_j = f_j \cdot b = \frac{n_j}{n \cdot b} \cdot b = \frac{n_j}{n}
Hier ist b=1b = 1, also hj=fj⋅1=fjh_j = f_j \cdot 1 = f_j
h1=0,15,h2=0,25,h3=0,30,h4=0,25,h5=0,05h_1 = 0{,}15,\quad h_2 = 0{,}25,\quad h_3 = 0{,}30,\quad h_4 = 0{,}25,\quad h_5 = 0{,}05
Probe aus der Aufgabe: die Summe aller Flächen
∑j=15hj=0,15+0,25+0,30+0,25+0,05=1\sum_{j=1}^{5} h_j = 0{,}15 + 0{,}25 + 0{,}30 + 0{,}25 + 0{,}05 = 1
Warum immer 1 herauskommt
∑jhj=∑jnjn=n1+⋯+n5n=2020=1\sum_{j} h_j = \sum_{j} \frac{n_j}{n} = \frac{n_1 + \dots + n_5}{n} = \frac{20}{20} = 1

Schritt 8 Das Histogramm lesen

Der höchste Balken
f3=0,30 u¨ber (3,4]:h3=0,30=30 % der Fahrga¨stef_3 = 0{,}30 \text{ über } (3, 4]: \quad h_3 = 0{,}30 = 30\,\% \text{ der Fahrgäste}
Flächen links und rechts davon
bis 3 Minuten: 0,15+0,25=0,40,u¨ber 4 Minuten: 0,25+0,05=0,30\text{bis 3 Minuten: } 0{,}15 + 0{,}25 = 0{,}40, \qquad \text{über 4 Minuten: } 0{,}25 + 0{,}05 = 0{,}30

(iv) Das Histogramm in R, drei Klassenbreiten

b = 1, dann 0,5 und 2

Schritt 9 Das Histogramm mit R zeichnen

seq(1, 6, by = 1)
#[1] 1 2 3 4 5 6
hist(x,
breaks = seq(1, 6, by = 1),   # Klassen der Breite 1
right  = TRUE,                # rechts geschlossene Intervalle
freq   = FALSE,               # Dichte auf der y-Achse
main   = "Wartezeiten an der Bushaltestelle",
xlab   = "Wartezeit (min)",
ylab   = "Dichte",
col    = "steelblue")
Probe: Dieselbe Zählung ohne Bild (plot = FALSE)
hist(x, breaks = seq(1, 6, by = 1), plot = FALSE)$counts
#[1] 3 5 6 5 1
hist(x, breaks = seq(1, 6, by = 1), plot = FALSE)$density
#[1] 0.15 0.25 0.30 0.25 0.05

Schritt 10 Klassenbreite b=0,5b = 0{,}5: zehn schmale Balken

seq(1, 6, by = 0.5)
# [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0
hist(x, breaks = seq(1, 6, by = 0.5), freq = FALSE)
11 Grenzen, also 10 Klassen; Nenner n⋅b=20⋅0,5=10n \cdot b = 20 \cdot 0{,}5 = 10
fj=nj10,hj=nj20f_j = \frac{n_j}{10}, \qquad h_j = \frac{n_j}{20}
Klasse Werte darin njn_j fjf_j hjh_j
(1; 1,5](1;\ 1{,}5] 1,5 1 0,1 0,05
(1,5; 2](1{,}5;\ 2] 1,8; 1,9 2 0,2 0,10
(2; 2,5](2;\ 2{,}5] 2,1; 2,2 2 0,2 0,10
(2,5; 3](2{,}5;\ 3] 2,6; 2,8; 2,9 3 0,3 0,15
(3; 3,5](3;\ 3{,}5] 3,1; 3,2; 3,3; 3,4 4 0,4 0,20
(3,5; 4](3{,}5;\ 4] 3,7; 3,8 2 0,2 0,10
(4; 4,5](4;\ 4{,}5] 4,1; 4,2; 4,5 3 0,3 0,15
(4,5; 5](4{,}5;\ 5] 4,7; 4,9 2 0,2 0,10
(5; 5,5](5;\ 5{,}5] 5,2 1 0,1 0,05
(5,5; 6](5{,}5;\ 6] — 0 0 0
Summe 20 1,00
Zwei halbe Balken ergeben im Mittel den ganzen: Klasse (3,4](3, 4] bei b=1b = 1
0,4+0,22=0,3=f3 bei b=1\frac{0{,}4 + 0{,}2}{2} = 0{,}3 = f_3 \text{ bei } b = 1

Schritt 11 Der Fallstrick: seq(1, 6, by = 2)

seq(1, 6, by = 2)
#[1] 1 3 5
hist(x, breaks = seq(1, 6, by = 2), freq = FALSE)
#Error in hist.default(x, breaks = seq(1, 6, by = 2), freq = FALSE) :
#  some 'x' not counted; maybe 'breaks' do not span range of 'x'
Die letzte Grenze liegt unter dem Maximum
5<5,2=x(20)⇒5,2 liegt in keiner Klasse5 < 5{,}2 = x_{(20)} \quad\Rightarrow\quad 5{,}2 \text{ liegt in keiner Klasse}
Abhilfe: „bis“ so wählen, dass die letzte Grenze mindestens das Maximum ist
seq(1, 7, by = 2)
#[1] 1 3 5 7

Schritt 12 Klassenbreite b=2b = 2: drei breite Balken

hist(x, breaks = seq(1, 7, by = 2), freq = FALSE)
3 Klassen; Nenner n⋅b=20⋅2=40n \cdot b = 20 \cdot 2 = 40
fj=nj40,hj=fj⋅2=nj20f_j = \frac{n_j}{40}, \qquad h_j = f_j \cdot 2 = \frac{n_j}{20}
Klasse njn_j Rechnung fjf_j hjh_j
(1,3](1, 3] 8 8:408 : 40 0,2 0,40
(3,5](3, 5] 11 11:4011 : 40 0,275 0,55
(5,7](5, 7] 1 1:401 : 40 0,025 0,05
Summe 20 1,00
Ein breiter Balken ist das Mittel der zwei Balken mit b=1b = 1 darunter
(3,5]: 0,30+0,252=0,275,(1,3]: 0,15+0,252=0,2(3, 5]: \ \frac{0{,}30 + 0{,}25}{2} = 0{,}275, \qquad (1, 3]: \ \frac{0{,}15 + 0{,}25}{2} = 0{,}2

Schritt 13 Zu klein oder zu groß: was dagegen spricht

bb kk Werte je Klasse im Mittel Beobachtung
0,5 10 20:10=220 : 10 = 2 zackig, eine leere Klasse, Zufall sichtbar
1 5 20:5=420 : 5 = 4 ein Gipfel bei 3 bis 4 Minuten, Form erkennbar
2 3 20:3≈6,720 : 3 \approx 6{,}7 nur drei Blöcke, Form geht verloren
Mit freq = FALSE hat jedes der drei Histogramme die Gesamtfläche 1
∑jhj=1fu¨r b=0,5, b=1 und b=2\sum_j h_j = 1 \quad \text{für } b = 0{,}5,\ b = 1 \text{ und } b = 2

Schritt 14 Ergebnis

✓(i) Minimum 1,51{,}5, Maximum 5,25{,}2 Minuten, Spannweite 3,73{,}7. 20≈4,47\sqrt{20} \approx 4{,}47, also k=5\mathbf{k = 5} Klassen der Breite b=1\mathbf{b = 1} Minute mit den Grenzen 1, 2, …, 6.
✓(ii) nj=3; 5; 6; 5; 1n_j = 3;\ 5;\ 6;\ 5;\ 1 in (1,2], (2,3], (3,4], (4,5], (5,6](1,2],\ (2,3],\ (3,4],\ (4,5],\ (5,6] — zusammen 20.
✓(iii) fj=hj=0,15; 0,25; 0,30; 0,25; 0,05f_j = h_j = 0{,}15;\ 0{,}25;\ 0{,}30;\ 0{,}25;\ 0{,}05 und ∑jhj=1\sum_j h_j = 1.
✓(iv) b=0,5b = 0{,}5: zackig mit Lücke — zu wenige Werte je Klasse. b=2b = 2: nur drei Balken — die Form verschwindet. In R braucht b=2b = 2 die Grenzen seq(1, 7, by = 2), weil seq(1, 6, by = 2) bei 5 aufhört.
Klasse njn_j fjf_j hjh_j
(1,2](1, 2] 3 0,15 0,15
(2,3](2, 3] 5 0,25 0,25
(3,4](3, 4] 6 0,30 0,30
(4,5](4, 5] 5 0,25 0,25
(5,6](5, 6] 1 0,05 0,05
Summe 20 1,00

Probe: Die Häufigkeiten ergeben n=20n = 20, die Flächen ergeben 1. Bei jeder Klassenbreite gilt dasselbe (Schritte 10 und 12).

Typische Fehler: Den Wert auf einer Grenze in die falsche Klasse zählen (rechts geschlossen: 4,5 gehört zu (4; 4,5](4;\ 4{,}5]). Bei b≠1b \ne 1 vergessen, durch bb zu teilen — dann ist fjf_j keine Dichte mehr und die Flächen ergeben nicht 1. In R die letzte Grenze kleiner als das Maximum wählen.