Data Science 2
Saskia Otto & Monika Eberhard
Universität Hamburg, IMF & IZS
Sommersemester 2025
Nach Abschluss dieser VL und Übung werden Sie in der Lage sein (mit R) ..
Bildquelle: Quinn & Keough (2002)
Bei welcher Stichprobengröße scheinen die Verteilungen stabil zu werden?
Link zur Shiny App: teaching-stats/distributions/distributions/
X \sim N(\mu_x, \sigma_x^2)
f(X)=\frac{1}{\sqrt{2\pi\sigma_x^2}}e^\frac{-(X-\mu_x)^2}{2\sigma_x^2}
X \sim N(1, 2)
f(X)=\frac{1}{\sqrt{4\pi}}e^\frac{-(X-1)^2}{4}
→ Erhöhen wir \mu, rücken wir die Kurve nach rechts.
→ Erhöhen wir \sigma^2 wird die Kurve flacher, verringern wir \sigma^2 wird die Kurve steiler.
Z = \frac{X-\mu}{\sigma} \sim N(0,1)\Rightarrow z_i = \frac{x_i-\bar{x}}{s}
f(Z)=\frac{1}{\sqrt{2\pi}}e^\frac{-Z^2}{2}
Ein weiterer Vorteil der Z-Transformation (auch Standardisierung oder Normalisierung genannt):
iris
DatensatzDafür gibt es die sog. (kumulierte) Verteilungsfunktion, im Englischen die ‘cumulative density function’ (kurz CDF).
Die Wahrscheinlichkeit, dass X im Wertebereich (a ,b]) liegt, lässt sich dann wie folgt berechnen:
P(a < X \leq b) = F_X(b) - F_X(a) = \int_a^b f_X(x)dx
Wie groß muss X sein, damit 85% aller Werte darunter liegen?
Oder anders gefragt: Wie groß ist die Wahrscheinlichkeit, dass X ≤ 1.0364 ist?
CDF
Die CDF ist eine S-förmige Kurve, die für jeden Wert von x die Wahrscheinlichkeit anzeigt, einen Stichprobenwert zu erhalten, der kleiner oder gleich x ist.
Die PDF repräsentiert die Steigung dieser Kurve (ihre “Ableitung”), welche niemals negativ ist. Die Steigung beginnt sehr flach (bei der Standardnormalverteilung bis etwa -2), steigt dann an bis zu einem Maximalwert (hier bei x = 0), wird dann flacher und oberhalb von x = +2 sogar sehr klein.
Aus einer Standardnormalverteilungs- tabelle kann abgelesen werden, dass bei normalverteilten Zufallsvariablen jeweils ungefähr
Quelle der Tabelle: Wikipedia
Funktion | Zweck | Beispiel |
---|---|---|
rnorm() | Generiert zufällige Zahlen aus einer Normalverteilung | rnorm(n=100, mean=4, sd=7) → generiert 100 Zahlen aus einer NV mit \bar{x}=4 und \sigma = 7. |
dnorm() | Probability Density Function | dnorm(x=0, mean=0, sd=.5) → Berechnet die Dichte (Höhe der PDF) für eine NV mit \bar{x}=0 und \sigma = 0.5. |
pnorm() | Cumulative Density Function | pnorm(q=1.96, mean=0, sd=1, lower.tail=TRUE) → Berechnet die Fläche der Wahrscheinlichkeiten unter der Standardnormalkurve links von 1.96\sigma (für F_X(1.96)), d.h. ~0.975. |
qnorm() | Quantile Function (Umkehrfunktion von pnorm) | qnorm(p=0.975, mean=0, sd=1, lower.tail=TRUE) → Gibt den Wert (die Quantile) zurück, bei dem die CDF der Standardnormalverteilung 0.975 ist, d.h. ~1.96. Alternative Schreibweise: qnorm(0.025, 0, 1, lower.tail = FALSE) |
pnorm()
Wie hoch ist die Wahrscheinlichkeit, dass eine zufällig ausgewählte Blume aus dem iris
Datensatz eine Kronblattlänge von 6.1cm oder kleiner hat? Wir suchen also P(X ≤ 6.1) bei einem Stichprobemittelwert von 5.84 und einer Standardabweichung von 0.828.
Z=\frac{x-\mu}{\sigma}=\frac{6.1-5.84}{0.828}=0.314
Ergebnis: P(Z \leq 0.314) \approx 0.622
pnorm()
Und wie hoch ist die Wahrscheinlichkeit, dass eine zufällig ausgewählte Blume aus dem iris
Datensatz eine Kronblattlänge von 5.3cm oder größer hat? Wir suchen also P(X ≥ 5.3):
?Distributions
Verteilung | p.. | q.. | d.. | r.. |
---|---|---|---|---|
Normal | pnorm | qnorm | dnorm | rnorm |
Student t | pt | qt | dt | rt |
F | pf | qf | df | rf |
Chi-Square | pchisq | qchisq | dchisq | rchisq |
Binomial | pbinom | qbinom | dbinom | rbinom |
Poisson | ppois | qpois | dpois | rpois |
Negative Binomial | pnbinom | qnbinom | dnbinom | rnbinom |
Geometric | pgeom | qgeom | dgeom | rgeom |
Hypergeometric | phyper | qhyper | dhyper | rhyper |
Uniform | punif | qunif | dunif | runif |
Exponential | pexp | qexp | dexp | rexp |
Log Normal | plnorm | qlnorm | dlnorm | rlnorm |
Gamma | pgamma | qgamma | dgamma | rgamma |
Beta | pbeta | qbeta | dbeta | rbeta |
(unter Pseudonym Student 1908 veröffentlicht).
calc_z_t <- function(n = 10, rep = 1000,
mu = 10, sigma = 1) {
z <- numeric(length = rep)
t <- numeric(length = rep)
for(i in 1:rep) {
x <- rnorm(n, mean = mu, sd = sigma)
x_m <- mean(x)
x_sd <- sd(x)
# z-score
z[i] <- (x_m-mu) / (sigma/sqrt(n))
# t-score
t[i] <- (x_m-mu) / (x_sd/sqrt(n))
}
out <- list(z = z, t = t)
return(out)
}
set.seed(321)
run_3 <- calc_z_t(n = 3)
run_5 <- calc_z_t(n = 5)
run_10 <- calc_z_t(n = 10)
run_30 <- calc_z_t(n = 30)
par(mfrow = c(2,4))
hist(run_3$z, breaks = 20, xlab = "x", main = "Z (n = 2)", xlim = c(-10,10))
hist(run_5$z, breaks = 20, xlab = "x", main = "Z (n = 5)", xlim = c(-10,10))
hist(run_10$z, breaks = 20, xlab = "x", main = "Z (n = 10)", xlim = c(-10,10))
hist(run_30$z, breaks = 20, xlab = "x", main = "Z (n = 30)", xlim = c(-10,10))
hist(run_3$t, breaks = 50, xlab = "x", main = "t (n = 2)", xlim = c(-10,10))
hist(run_5$t, breaks = 20, xlab = "x", main = "t (n = 5)", xlim = c(-10,10))
hist(run_10$t, breaks = 20, xlab = "x", main = "t (n = 10)", xlim = c(-10,10))
hist(run_30$t, breaks = 20, xlab = "x", main = "t (n = 30)", xlim = c(-10,10))
03:00
Nutzen Sie die Shiny App auf der nächsten Folie um folgende drei Fragen zu beantworten:
Wie hoch ist die Wahrscheinlichkeit, dass eine zufällig ausgewählte Blume aus dem iris Datensatz eine Kronblattlänge zwischen 4.8 und 7.4cm hat? Wir suchen also
P(4.8 < X \leq 7.4)= \int_{4.8}^{7.4} f_X(x)dx = P(X \leq 7.4) - P(X \leq 4.8)
Was ist zu tun?
Eigene Simulationen zum zentralen Grenzwertsatz mithilfe der Shiny App durchführen → teaching-stats/clt/sample-means/
Wichtig
Moodle-Quiz VOR der nächsten Übung ausfüllen!
Bei weiteren Fragen: saskia.otto(at)uni-hamburg.de
Diese Arbeit is lizenziert unter einer Creative Commons Attribution-ShareAlike 4.0 International License mit Ausnahme der entliehenen und mit Quellenangabe versehenen Abbildungen.
Kurswebseite: Data Science 2