Eine Statistik aus einer Zufallsstichprobe stellt eine Schätzung des unbekannten Werts des entsprechenden Parameters der Grundgesamtheit dar. So ist z.B. die relative Häufigkeit der Wortform Hund im DWDS-Kernkorpus ein Schätzwert für die relative Häufigkeit dieser Wortform im geschriebenen Deutsch des 20. Jahrhunderts. Man spricht dabei von einem sogenannten Punktschätzer, weil es sich um einzelnen Wert aus der Stichprobe handelt.
Von einem Punktschätzer weiß man naturgemäß zwar nicht, ob er mit dem Wert des entsprechenden Parameters der Grundgesamtheit übereinstimmt oder wie groß der Unterschied zum Parameterwert ist. Man kann lediglich, wenn man die Stichprobenverteilung der Statistik erstellen kann, die Wahrscheinlichkeit ermitteln, dass der Wert der Statistik mit dem des Parameters übereinstimmt. Mit Hilfe der Stichprobenverteilung kann man aber auch ein Intervall von Werten um die Statistik berechnen, dass mit einer gegebenen Wahrscheinlichkeit den Parameterwert umschließt. Das Intervall heißt (aus Gründen, die auf der nächsten Seite erläutert werden) ein Konfidenzintervall und die gegebene Wahrscheinlichkeit das Konfidenzniveau. Ein Konfidenzniveau von 95% z.B. bedeutet, dass in 95% aller Stichproben der Parameterwert der Grundgesamtheit innerhalb des Konfidenzintervalls liegt; dieses heißt dann das 95%-Konfidenzintervall. Da die Wahrscheinlichkeit der Übereinstimmung des Werts des Punktschätzers mit dem Parameterwert immer relativ klein ist, hat man mit einem Konfidenzintervall i.d.R. eine genauere Idee des wahrscheinlichen Parameterwerts.
Es gibt verschiedene Methoden, Konfidenzintervalle zu berechnen, die jeweils verschiedene Vor- oder Nachteile haben. Für eine binomialverteilte Zufallsvariable X∼B(n, p), die die Voraussetzungen der Normal-Approximation erfüllt, gibt es eine einfache Berechnung des Konfidenzintervalls um die Auftretenswahrscheinlichkeit p (= die relative Häufigkeit X/n) mit Hilfe der Standardisierung:
qnorm()
berechnen: z
= qnorm(1 - 0.025)
= qnorm(0.975)
≈ 1,96.qnorm(0.95)
≈ 1,64.|p − π| | ||
z | = | |
√p(1−p)/n |
Als Beispiele berechnen wir die drei 95%-Konfidenzintervalle für die relative Häufigkeit von Hund im DWDS-Kernkorpus:
> hund.kk.fa <- 4395
> kk.gr <- 121397601
> p <- freq.rel(hund.kk.fa, kk.gr, "dezimal")
# z-Wert für das symmetrische 95%-Konfidenzintervall:
> z2 <- qnorm(0.975) # ≈ 1,96
# Die untere und die obere Grenze des Konfidenzintervalls:
> c(p - z2 * sqrt(p * (1 - p) / kk.gr), p + z2 * sqrt(p * (1 - p) / kk.gr))
[1] 3.513304e-05 3.727366e-05
# z-Wert für die asymmetrischen 95%-Konfidenzintervalle:
> z1 <- qnorm(0.95) # ≈ 1,64
# Konfidenzintervall am unteren Ende der Verteilung:
> c(0, p + z1 * sqrt(p * (1 - p) / kk.gr))
[1] 0.000000e+00 3.710158e-05
# Konfidenzintervall am oberen Ende der Verteilung:
> c(p - z1 * sqrt(p * (1 - p) / kk.gr), 1)
[1] 3.530512e-05 1.000000e+00
Man kann die obige Methode zur Berechnung von Konfidenzintervallen auch auf zwei Stichproben anwenden, um Konfidenzintervalle für die Differenz zweier relativen Häufigkeiten zu berechnen. Wenn die Differenz 0 ausschließt (d.h. die untere und die obere Grenze des Intervalls sind entweder beide < 0 oder beide > 0), kann man daraus schlussfolgern (mit der Wahrscheinlichkeit des Konfidenzniveaus), dass die Statistiken der zwei Stichproben aus unterschiedlichen Grundgesamtheiten (in Bezug auf das gemessene Merkmal) stammen. Wenn dagegen das Intervall 0 einschließt, gilt diese Schlussfolgerung nicht. (Solche Schlussfolgerungen sind Bestandteil von Zwei-Stichproben-Hypothesentests, auf die wir auf der nächsten Seite im Detail eingehen.)
Hier ist die entsprechende Formel für den z-Wert (die zwei Stichproben werden durch die Indizes 1 und 2 unterschieden):
|(p1 − p2) − (π1 − π2)| | ||
z | = | |
√ [p1(1−p1)/n1] + [p2(1−p2)/n2] |
Indem wir z mit dem für das gewählte Konfidenzniveau passenden Wert ersetzen und die Formel für π1 − π2 lösen, erhalten wir das entsprechende Konfidenzintervall, von dem wir mit der durch das Konfidenzniveau ausgedrückte Wahrscheinlichkeit behaupten können, dass die tatsächliche Differenz der Werte der Parameter der zwei Grundgesamtheiten (die vielleicht eine einzige sind) darin liegt.
Als Beispiele berechnen wir wieder die drei 95%-Konfidenzintervalle, jetzt für die Differenz der relativen Häufigkeiten von Hund im DWDS-Kernkorpus und im Korpus der Berliner Zeitung:
> hund.kk.fa <- 4395
> kk.gr <- 121397601
> hund.bz.fa <- 7361
> bz.gr <- 237093180
> p1 <- freq.rel(hund.kk.fa, kk.gr, "dezimal")
> p2 <- freq.rel(hund.bz.fa, bz.gr, "dezimal")
# z-Wert für das symmetrische 95%-Konfidenzintervall:
> z2 <- qnorm(0.975) # ≈ 1,96
# Die untere und die obere Grenze des Konfidenzintervalls:
> c(p1 - p2 - z2 * sqrt(p1 * (1 - p1) / kk.gr + p2 * (1 - p2) / bz.gr), p1 - p2 + z2 * sqrt(p1 * (1 - p1) / kk.gr + p2 * (1 - p2) / bz.gr))
[1] 3.872516e-06 6.440456e-06
# z-Wert für die asymmetrischen 95%-Konfidenzintervalle:
> z1 <- qnorm(0.95) # ≈ 1,64
# Konfidenzintervall am unteren Ende der Verteilung:
> c(0, p1 - p2 + z1 * sqrt(p1 * (1 - p1) / kk.gr + p2 * (1 - p2) / bz.gr))
[1] 0.000000e+00 6.234028e-06
# Konfidenzintervall am oberen Ende der Verteilung:
> c(p1 - p2 - z1 * sqrt(p1 * (1 - p1) / kk.gr + p2 * (1 - p2) / bz.gr), 1)
[1] 4.078945e-06 1.000000e+00
Konfidenzintervalle werden in R üblicherweise berechnet und ausgegeben
als Teil von Hypothesentests; darauf gehen wir auf der nächsten Seite im
Detail ein. Aber anhand der obigen Formeln kann man eigene Funktionen
für Konfidenzintervalle definieren und auch flexibler gestalten als die
Standardausgaben in R, und das haben wir auch getan. Die
Funktionen konfint.fr()
, für Konfidenzintervalle um die
Statistik einer Stichprobe, und konfint.fr.diff()
, für
Konfidenzintervalle für die Differenz der Statistiken zweier
Stichproben, werden wie üblich mit dem
bekannten source
-Aufruf
in R geladen:
konfint.fr()
nimmt zwei obligatorische Argumente die
Anzahl x
der „Erfolge“ z.B. der Treffer einer
Anfrage, und die Stichprobengröße (also z.B. Korpusgröße) n
.
konfint.fr.diff()
nimmt vier obligatorische
Argumente x1
, n1
, x2
und n2
jeweils für die Anzahl der Erfolge und die
Stichprobengröße der zwei Stichproben.conf.level
für das Konfidenzniveau (eine
Dezimalzahl zwischen 0 und 1; die Voreinstellung ist 0.95);alternative
mit den möglichen Werten "two.sided"
(zweiseitig, die Voreinstellung) für ein symmetrisches
Konfidenzintervall, sowie "greater" und "less" für asymmetrische
Konfidenzintervalle am oberen bzw. unteren Ende der Verteilung;type
für die Form der Ausgabe: "pMW" für Instanzen
pro Million Worte (die Voreinstellung), "prozent", "dezimal" oder
"absolut". Letzterer Wert gilt nur für konfint.fr()
,
denn die absolute Anzahl der Differenz zwischen zwei Stichproben
ist nicht nützlich, weil sie keinen Bezug zu den jeweiligen
Korpusgrößen hat.Anmerkungen:
conf.level
und alternative
sind im Namen sowie in den möglichen Werten identisch mit den
entsprechenden Argumenten der R-Funktionen für Hypothesentests, wozu
mehr auf der nächsten Seite.type
kann man das numerische Format
der Ausgabe ändern, was für das Verständnis des Intervalls hilfreich
sein kann. (In den eingebauten R-Funktionen für Hypothesentests
werden Konfidenzintervalle nur als Dezimalzahlen ausgegeben.)Hier sind einige Aufrufe und Ausgaben dieser Funktionen für die oben manuell berechneten 95%-Konfidenzintervalle bezüglich der relativen Häufigkeit des Worts Hund für eine bzw. zwei Stichproben:
> konfint.fr(x = hund.kk.fa, n = kk.gr)
Das zweiseitige 95%-Konfidenzintervall für die relative Häufigkeit 36.2 pMW ist:
[ 35.1 pMW ... 37.3 pMW ]
> konfint.fr(x = hund.kk.fa, n = kk.gr, type = "dezimal")
Das 95%-Konfidenzintervall für die relative Häufigkeit 3.621e-05 ist:
[ 3.513e-05 ... 3.727e-05 ]
> konfint.fr(x = hund.kk.fa, n = kk.gr, type = "absolut")
Das zweiseitige 95%-Konfidenzintervall für die absolute Häufigkeit 4395 ist:
[ 4265 ... 4525 ]
> konfint.fr(x = hund.kk.fa, n = kk.gr, alternative = "greater")
Das einseitige 95%-Konfidenzintervall für die relative Häufigkeit 36.2 pMW ist:
[ 35.3 pMW ... 1e+06 pMW ]
> konfint.fr(x = hund.kk.fa, n = kk.gr, type = "absolut", alternative = "greater")
Das einseitige 95%-Konfidenzintervall für die absolute Häufigkeit 4395 ist:
[ 4286 ... 121397601 ]
> konfint.fr.diff(x1 = hund.kk.fa, n1 = kk.gr, x2 = hund.bz.fa, n2 = bz.gr)
Das 95%-Konfidenzintervall für die Differenz
der relativen Häufigkeiten 36.2 pMW und 31.05 pMW ist:
[ 3.87 pMW ... 6.44 pMW ]
> konfint.fr.diff(x1 = hund.kk.fa, n1 = kk.gr, x2 = hund.bz.fa, n2 = bz.gr, type = "dezimal")
Das 95%-Konfidenzintervall für die Differenz
der relativen Häufigkeiten 3.620335e-05 und 3.104687e-05 ist:
[ 3.873e-06 ... 6.44e-06 ]
> konfint.fr.diff(x1 = hund.kk.fa, n1 = kk.gr, x2 = hund.bz.fa, n2 = bz.gr, alternative = "greater")
Das einseitige 95%-Konfidenzintervall für die Differenz
der relativen Häufigkeiten 36.2 pMW und 31.05 pMW ist:
[ 4.08 pMW ... 1e+06 pMW ]