Statistik

R-Kurs · Kapitel 13 · Grafische Verteilungsanalysen in R

Grafische Verteilungsanalysen in R

Dichtehistogramm

Damit sich Daten mit einer theoretischen Dichte vergleichen lassen, zeichnet man das Histogramm flächennormiert (freq = FALSE):

Rfreq = FALSE: y-Achse = Dichte, Gesamtfläche = 1.
set.seed(1)
x <- rnorm(200, mean = 10, sd = 2)
hist(x, freq = FALSE, main = "Dichtehistogramm", xlab = "x")

Modellparameter schätzen

Die Parameter schätzt man aus der Stichprobe (Momentenmethode): Normal μ^=xˉ, σ^=s\hat\mu=\bar x,\ \hat\sigma=s; Exponential λ^=1/xˉ\hat\lambda=1/\bar x.

R
mean(x); sd(x)         # Normal: mu, sigma schätzen
1 / mean(x)            # Exponential: rate schätzen
Ausgabe
# mean(x) ~ 10, sd(x) ~ 2 (Schätzer nahe den wahren Werten)
# 1/mean(x) ~ 0.1

Daten und Modell vergleichen

Mit curve(..., add = TRUE) legt man die angepasste Dichte über das Histogramm — passt die Kurve gut, ist das Modell plausibel:

RDeckt sich die rote Kurve mit den Balken, passt die Normalverteilung.
hist(x, freq = FALSE, main = "Daten vs. Modell")
curve(dnorm(x, mean(x), sd(x)), add = TRUE, col = "red", lwd = 2)
Mini-Aufgabe

Zeichne für werte ein Dichtehistogramm und lege die angepasste Normalverteilungs-Dichte (blau) darüber.

💡 Tipp

Erst hist(..., freq = FALSE), dann curve(dnorm(x, mean, sd), add = TRUE).

Lösung zeigen
R
werte <- c(2.1, 2.4, 2.4, 2.6, 2.8, 3.0, 3.1, 3.3, 3.5, 3.9)
hist(werte, freq = FALSE)
curve(dnorm(x, mean(werte), sd(werte)),
    add = TRUE, col = "blue", lwd = 2)

Merke: Nur bei freq = FALSE sind Histogramm und Dichte auf derselben Skala — sonst „verschwindet” die Kurve am unteren Rand.

Abruf-Quiz

Frage 1 / 2

Welches Argument macht aus hist() ein Dichtehistogramm (Fläche 1)?