Für diese Übung werden Daten simuliert und grafisch dargestellt. Die dafür verwendeten R-Codes sind zur Vollständigkeit (und für Interessierte) aufgeführt, müssen von den Kursteilnehmenden jedoch nicht nachvollzogen werden können.
In der Inferenzstatistik geht es darum, einen Populationsparameter, also zum Beispiel einen Populationsmittelwert, zu bestimmen. In den meisten Situationen ist man nicht in der Lage, die gesamte Population zu messen, weshalb man den Populationsparameter nicht genau bestimmen, sondern nur schätzen kann. Diese Schätzung basiert auf Kenntnissen aus einer Stichprobe. Je nach Eigenschaft dieser Stichprobe, fällt diese Schätzung unterschiedlich ungenau aus.
Um das Konzept der Stichprobenverteilung nachvollziehen zu können, müssen wir so tun, als ob wir den Populationsparameter, welchen wir schätzen wollen, kennen. Konkret wollen wir bei diesem Beispiel den wahren Mittelwert und die wahre Standardabweichung des IQ’s von erwachsenen Menschen schätzen. Wir nehmen an, dass der Populationsmittelwert \(\mu\) = 100 und die Populationsstandardabweichung \(\sigma\) = 15.
Wir ziehen nun aus dieser Population mehrere Zufallsstichproben \(sample_1\) bis \(sample_n\) (Üblicherweise zieht man nur eine einzige Stichprobe, aber wir machen das hier, um die theoretischen Grundlagen zu erläutern). Von jeder dieser Stichproben bestimmen wir den Mittelwert und die Standardabweichung. Jede Stichprobe umfasst 50 Personen.
Wir dürfen erwarten, dass der Mittelwert von den Stichprobenmittelwerten \(\bar{x}_1\) bis \(\bar{x}_n\) etwa dem wahren Mittelwert in der Population \(\mu\) enspricht (man nennt den wahren Mittelwert auch Erwartungswert):
\[\mu \approx \frac{\bar{x}_1+\bar{x}_2+...+\bar{x}_n}{n}\]
Vermutlich wird keiner der Stichprobenmittelwerte \(\bar{x}_1\) bis \(\bar{x}_n\) exakt den Populationsmittelwert \(\mu\) treffen. Wir erhalten eine Verteilung der Stichprobenmittelwerte um den Populationsmittelwert \(\mu\). Die Standardabweichung des Mittelwerts der einzelnen Stichprobenmittelwerte wird als Standardfehler SE (engl. standard error) bezeichnet.
Dringend zu empfehlendes Video: Bunnies, Dragons and the ‘Normal’ World: Central Limit Theorem | The New York Times Youtube, 3m38s
Um den wahren Populationsmittelwert und die wahre Populationsstandardabweichung zu ermitteln, müssten wir, wie oben erwähnt, die ganze Population messen. In der Forschung, zumindest was unsere Disziplinen angeht, ist dies praktisch nie möglich. Genau so wenig ist es möglich “unendlich viele Stichproben” zu messen. Dank Computer können wir aber illustrieren, was passiert, wenn wir mehrere Stichproben messen könnten. Ich habe unten 30 Stichproben aus der Population mit \(\mu = 100\) und \(\sigma = 15\) gezogen und für jede Stichprobe den Mittelwert und die Standardabweichung berechnet. Jede der 30 Stichproben umfasst 50 Personen.
# Dieser Code ist nicht prüfungsrelevant
sample <- vector()
m <- vector()
s <- vector()
set.seed(123)
for(i in 1:30){
sample[i] <- paste("sample", i, sep = "")
x <- rnorm(50, 100, 15)
m[i] <- round(mean(x),3)
s[i] <- round(sd(x),3)
}
df <- data.frame(sample, m, s,
n = rep(50, 30))
df %>%
kbl() %>%
kable_paper() %>%
scroll_box(width = "300px", height = "300px")
sample | m | s | n |
---|---|---|---|
sample1 | 100.5 | 13.9 | 50 |
sample2 | 102.2 | 13.6 | 50 |
sample3 | 96.2 | 14.8 | 50 |
sample4 | 100.6 | 14.0 | 50 |
sample5 | 99.9 | 14.2 | 50 |
sample6 | 103.7 | 14.2 | 50 |
sample7 | 100.0 | 15.5 | 50 |
sample8 | 98.9 | 15.8 | 50 |
sample9 | 99.0 | 15.4 | 50 |
sample10 | 104.2 | 13.9 | 50 |
sample11 | 100.4 | 13.4 | 50 |
sample12 | 98.3 | 14.8 | 50 |
sample13 | 97.6 | 15.3 | 50 |
sample14 | 98.0 | 15.7 | 50 |
sample15 | 103.2 | 16.1 | 50 |
sample16 | 100.0 | 14.1 | 50 |
sample17 | 99.9 | 15.4 | 50 |
sample18 | 102.9 | 16.1 | 50 |
sample19 | 101.5 | 15.6 | 50 |
sample20 | 97.9 | 15.0 | 50 |
sample21 | 102.6 | 17.2 | 50 |
sample22 | 101.0 | 14.1 | 50 |
sample23 | 99.8 | 15.5 | 50 |
sample24 | 99.7 | 14.5 | 50 |
sample25 | 98.1 | 15.1 | 50 |
sample26 | 101.8 | 12.5 | 50 |
sample27 | 97.5 | 15.7 | 50 |
sample28 | 100.7 | 14.7 | 50 |
sample29 | 99.5 | 14.6 | 50 |
sample30 | 103.3 | 14.9 | 50 |
Beachte: In jeder Stichprobe liegt der Mittelwert in der Nähe des Populationsmittelwertes \(\mu = 100\) und die Standardabweichung in der Nähe der Populationsstandardabweichung \(\sigma = 15\). Die Abweichung eines Stichprobenmittelwertes zum Populationsmittelwert wird als sampling error bezeichnet. Als zweites fällt auf, dass sich die verschiedenen Stichprobenmittelwerte unterscheiden. Hier heisst der Fachbegriff sampling variation. Diese Stichprobenverteilung schauen wir uns jetzt etwas genauer an.
# Dieser Code ist nicht prüfungsrelevant
ggplot(df, aes(x = m)) + geom_histogram(binwidth = 2) +
ggtitle("Verteilung der Stichprobenmittelwerte",
subtitle = "30 samples, n = 50, violette Linie = Populationsmittelwert") +
xlab("Stichprobenmittelwerte") +
geom_vline(xintercept = 100, size = 1, color = "#00998a")
Wir sehen, dass sich die Stichprobenmittelwerte wie erwartet um den wahren Populationsmittelwert herum verteilen. Die Verteilung von Stichprobenkennzahlen, hier von Stichprobenmittelwerten, erfolgt annähernd einer Normalverteilung.
Der Gesamtmittelwert (also der Mittelwert der 30 Mittelwerten) beträgt 100.292 und ist somit sehr nahe an der Wahrheit. Die Gesamtstandardabeichung (also der Mittelwert der 30 Standardabweichungen) beträgt 14.855 und ist somit sehr nahe an der Wahrheit.
Zusammenfassung (Zentraler Grenzwertsatz, central limit theorem, CLT)
Die Verteilung einer Stichprobenkennzahl (hier der Mittelwerte aller Stichproben, bezeichnet als Variable \(\bar{X}\)) folgt annähernd einer Normalverteilung mit einem Mittelwert um den Populationsmittelwert \(\mu\) und einer Standardabweichung SE, die gleich der Populationsstandardabweichung \(\sigma\) dividiert durch die Quadratwurzel der Stichprobenumfänge n ist. Als Formel ausgedrückt:
\[\bar{X} \sim \mathcal{N}(\mu, SE = \frac{\sigma}{\sqrt{n}})\]
Wir arbeiten mit einer Simulations-App. Rufe den Link Central Limit Theorem for Means auf.
Vergrössere jetzt die Sample Size auf 100, 200, 400. Hat der Stichprobenumfang einen Einfluss …
Wir arbeiten weiter mit der Simulations-App Central Limit Theorem for Means.
Vergrössere jetzt die Sample Size schrittweise. Hat der Stichprobenumfang einen Einfluss …
Merke: Unabhängig davon, wie die Daten in der Population verteilt sind (normal, rechtssteil, linkssteil, irregulär), mit steigendem Umfang nähert sich die Verteilung der Stichprobenkennzahlen der Normalverteilung an.
Wir wollen untersuchen, ob es einen Unterschied gibt in der körperlichen Aktivität zwischen Männern und Frauen. Eine Zufallstichprobe ergibt, dass Männer an \(\bar{x}_{maenner} = 4.3\) und Frauen an \(\bar{x}_{frauen} = 3.2\) Tagen pro Woche körperlich aktiv sind. Was wäre eine gute Punktschätzung für die Differenz?
Wir können die beobachtete Differenz der beiden Stichprobenkennzahlen verwenden: \(4.3 - 3.2 = 1.1\). Männer in dieser Stichprobe sind im Durchschnitt 1.1 Tage/Woche häufiger körperlich aktiv als Frauen.
In einer Stichprobe von n = 100 Studentinnen ist die Standardabweichung für die Körpergrösse \(s = 0.1\) Meter und der Mittelwert \(\bar{x} = 1.7\). Die Beobachtungseinheiten sind unabhängig voneinander.
Hinweis: Beachte an diesem Beispiel, dass für eine Halbierung des Standardfehlers, der Stichprobenumfang vervierfacht werden muss (Wurzel-n-Gesetz)
Wenn wir eine Population untersuchen, können wir normalerweise nicht mehrere Stichproben analysieren und müssen uns auf eine einzige Stichprobe verlassen. Aber wie präzise lässt sich der wahre Populationsmittelwert \(\mu\) mit einer einzelnen Stichprobe bestimmen?
Nehmen wir als Beispiel die erste Stichprobe von unserem Versuch oben:
# Dieser Code ist nicht prüfungsrelevant
df %>%
slice(1) %>%
kbl() %>%
kable_paper(full_width = FALSE)
sample | m | s | n |
---|---|---|---|
sample1 | 101 | 13.9 | 50 |
Wie wir aus dem zentralen Grenzwertsatz gelernt haben, nennt man die Standardabweichung für den Mittelwert der Stichprobenmittelwerte (der Variablen \(X\)) Standardfehler SE. Wir haben im Moment (und auch in der Regel) zwar nur eine einzige Stichprobe, daher müssen wir die Kennzahlen unserer Stichprobe als besten Schätzer verwenden. D.h. der Schätzer, der Schätzwert und der Standardfehler sind
Wie wir auch aus der Geometrie der Normalverteilung wissen, umfasst der Bereich \(\bar{\mu} \pm 1.96 \sigma\) 95% der zu erwarteten Werte. Daraus folgt (durch Umformung), dass ein 95%-Vertrauensintervall (\(CI_{95}\)) für den wahren Mittelwert \(\mu\) gegeben ist durch
\(CI_{95} = \bar{x} \pm 1.96 SE\)
\(CI_{95} = 100.516 \pm 1.96 \times \frac{13.888}{\sqrt{50}} = [96.666, 104.366]\)
Interpretation des 95% CI Wenn wir 100 Stichproben mit gleichem Stichprobenumfang aus der Population untersuchen, werden “on the long run” im Schnitt 95 der so konstruierten Vertrauensintervalle den wahren Populationsmittelwert \(\mu\) enthalten.
se <- df$s/sqrt(50)
df$se <- se
ci_low <- df$m - 1.96 * df$se
df$ci_low <- ci_low
ci_up <- df$m + 1.96 * df$se
df$ci_up <- ci_up
ggplot(df, aes(x = as.numeric(factor(sample)), y = m)) + geom_point() +
geom_hline(yintercept = 100, col = "#00998a", size = 1) +
geom_errorbar(ymin = ci_low, ymax = ci_up) +
scale_y_continuous(limits = c(90, 110)) +
labs(title = "95% CIs der 30 Stichproben",
y = "IQ",
x = "Stichproben")
Wenn wir “sicherer” sein wollen, dass wir den Populationsparameter treffen (d.h. dass er im CI liegt), sollten wir dann eher – bei gleichem \(n\) und gleichem \(SE\) – ein breiteres (z.B. 95%-CI) oder eher ein schmaleres Vertrauensintervall (60%-CI) verwenden?
Wenn wir “sicherer” sein wollen, einen Fisch zu fangen, müssen wir ein grösseres Netz wählen. Genau gleich verhält es sich mit Vertrauensintervallen: Wenn wir ein grösseres Vertrauensintervall wählen, können wir eher (mit einer grösseren frequentistichen Wahrscheinlichkeit) darauf vertrauen, dass es den Populationsparameter beinhaltet.
# Dieser Code ist nicht prüfungsrelevant
df %>%
select(sample:n) %>%
kbl() %>%
kable_paper() %>%
scroll_box(width = "300px", height = "300px")
sample | m | s | n |
---|---|---|---|
sample1 | 100.5 | 13.9 | 50 |
sample2 | 102.2 | 13.6 | 50 |
sample3 | 96.2 | 14.8 | 50 |
sample4 | 100.6 | 14.0 | 50 |
sample5 | 99.9 | 14.2 | 50 |
sample6 | 103.7 | 14.2 | 50 |
sample7 | 100.0 | 15.5 | 50 |
sample8 | 98.9 | 15.8 | 50 |
sample9 | 99.0 | 15.4 | 50 |
sample10 | 104.2 | 13.9 | 50 |
sample11 | 100.4 | 13.4 | 50 |
sample12 | 98.3 | 14.8 | 50 |
sample13 | 97.6 | 15.3 | 50 |
sample14 | 98.0 | 15.7 | 50 |
sample15 | 103.2 | 16.1 | 50 |
sample16 | 100.0 | 14.1 | 50 |
sample17 | 99.9 | 15.4 | 50 |
sample18 | 102.9 | 16.1 | 50 |
sample19 | 101.5 | 15.6 | 50 |
sample20 | 97.9 | 15.0 | 50 |
sample21 | 102.6 | 17.2 | 50 |
sample22 | 101.0 | 14.1 | 50 |
sample23 | 99.8 | 15.5 | 50 |
sample24 | 99.7 | 14.5 | 50 |
sample25 | 98.1 | 15.1 | 50 |
sample26 | 101.8 | 12.5 | 50 |
sample27 | 97.5 | 15.7 | 50 |
sample28 | 100.7 | 14.7 | 50 |
sample29 | 99.5 | 14.6 | 50 |
sample30 | 103.3 | 14.9 | 50 |
Für die Berechnung des Vertrauensintervalls benötigen Sie den Standardfehler SE:
\[SE = \frac{s}{\sqrt{n}} = \frac{14.84}{\sqrt{50}} = 2.099\]
Die Formel für die Berechnung des 95%-Vertrauensintervalls ist
\[CI_{95} = \bar{x} \pm 1.96 SE = [92.078, 100.304]\]
Wie oft wird das 95%-Vertrauensintervall erwartungsgemäss den wahren
Populationsmittelwert nicht überdecken, wenn Sie a) 20, b) 60, c) 120
Stichproben mit dem gleichen Stichprobenumfang untersuchen.
Wie können Sie die Präzision ihrer Schätzung des wahren
Populationsmittelwerts durch eine Anpassung des Untersuchungsdesigns
erhöhen?
Durch die Erhöhung des Stichprobenumfangs n. Da der Standardfehler SE
u.a. vom Stichprobenumfang abhängig ist, verkleinert sich das
95%-Vertrauensintervall proportional zu \(\sqrt{n}\). Siehe z.B. hier https://seeing-theory.brown.edu/frequentist-inference/index.html#section2