Tests unter Normalverteilung für eine Stichrobe#
Die im folgenden behandelten Tests sind Parametertests. Hier gehen wir davon aus, dass ein normalverteiltes Merkmal vorliegt, also \(X\sim \mathrm{N} (\mu,\sigma^2)\). Unser statistischer Test bezieht sich auf einen der beiden Parameter \(\mu\) oder \(\sigma^2\). Beispielsweise möchten wir die Nullhypothese \(\mu \leq 10\) überprüfen.
Bei der Durchführung der Tests halten wir uns and die bekannte Vorgehenweise. Im Folgenden geht es um die zugehörigen konkreten Hypothesen, Testgrößen, kritischen Bereiche und p-Werte.
Tests für den Erwartungswert \(\mu\)#
Sei \(X \sim \mathrm{N}(\mu, \sigma^2)\) ein normalverteiltes Merkmal und \(X_1, \dots, X_n\) die zugehörige Stichprobe mit Stichprobenmittelwert \(\bar{X}\) und Stichprobenvarianz \(S^2\). Wir betrachten Hypothesen für den Parameter \(\mu\). Hier sehen wir, wie die Testgröße bestimmt wird, jenachdem ob \(\sigma^2\) bekannt oder unbekannt ist.
Voraussetzung |
Testgröße \(T\) |
Verteilung von \(T\) |
…unter Bedingung |
Test |
---|---|---|---|---|
\(\sigma^2\) bekannt |
\(\frac{\bar{X} - \mu_0}{\sigma} \sqrt{n}\) |
\(\mathrm{N}(0,1)\) |
\(\mu = \mu_0\) |
Gauß-Test |
\(\sigma^2\) unbekannt |
\(\frac{\bar{X} - \mu_0}{S} \sqrt{n}\) |
\(t(n-1)\) |
\(\mu = \mu_0\) |
\(t\)-Test |
Hierbei bezeichnet \(t(n-1)\) die \(t\)-Verteilung mit \(n-1\) Freiheitsgraden.
Kritischer Bereich#
Der zugehörige kritische Bereich ist aus folgender Tabelle abzulesen. Er hängt von der Wahl der Hypothese und der Signifikanzniveau ab.
Test |
\(H_0\) |
\(H_1\) |
Kritischer Bereich \(K\) |
---|---|---|---|
Gauß-Test |
\(\mu = \mu_0\) |
\(\mu \ne \mu_0\) |
\((-\infty, -z_{1 - \alpha/2}) \cup (z_{1 - \alpha/2}, \infty)\) |
\(\mu \le \mu_0\) |
\(\mu > \mu_0\) |
\((z_{1 - \alpha}, \infty)\) |
|
\(\mu \ge \mu_0\) |
\(\mu < \mu_0\) |
\((-\infty, -z_{1 - \alpha})\) |
|
\(t\)-Test |
\(\mu = \mu_0\) |
\(\mu \ne \mu_0\) |
\((-\infty, -t_{n-1,1 - \alpha/2}) \cup (t_{n-1,1 - \alpha/2}, \infty)\) |
\(\mu \le \mu_0\) |
\(\mu > \mu_0\) |
\((t_{n-1,1 - \alpha}, \infty)\) |
|
\(\mu \ge \mu_0\) |
\(\mu < \mu_0\) |
\((-\infty, -t_{n-1,1 - \alpha})\) |
Hierbei ist
\(z_{1-\alpha}\) das \((1-\alpha)\)-Quantil der Standardnormalverteilung und
\(t_{n-1,1-\alpha}\) das \((1-\alpha)\)-Quantil der \(t\)-Verteilung mit \(n-1\) Freiheitsgraden.
p-Wert#
Anstelle des kritischen Bereichs können wir aus dem konkreten Testwert \(t\) auch den p-Wert berechnen. Wie dies funktioniert ist in folgender Tabelle zusammengefasst:
Test |
\(H_0\) |
\(H_1\) |
\(p\)-Wert |
R-Befehl |
---|---|---|---|---|
Gauß-Test |
\(\mu = \mu_0\) |
\(\mu \ne \mu_0\) |
\( 2 \cdot (1 - \Phi ( \vert t \vert ) ) \) |
|
\(\mu \le \mu_0\) |
\(\mu > \mu_0\) |
\(1 - \Phi(t)\) |
|
|
\(\mu \ge \mu_0\) |
\(\mu < \mu_0\) |
\(\Phi(t)\) |
|
|
\(t\)-Test |
\(\mu = \mu_0\) |
\(\mu \ne \mu_0\) |
\(2 \cdot (1 - F_{t(n-1)}(\vert t\vert ))\) |
|
\(\mu \le \mu_0\) |
\(\mu > \mu_0\) |
\(1 - F_{t(n-1)}(t)\) |
|
|
\(\mu \ge \mu_0\) |
\(\mu < \mu_0\) |
\(F_{t(n-1)}(t)\) |
|
Hierbei ist
\(\Phi(t)\) der Wert der Verteilungsfunktion der Standardnormalverteilung an der Stelle \(t\) und
\(F_{t(n-1)}(t)\) der Wert der Verteilungsfunktion der \(t\)-Verteilung mit \(n-1\) Freiheitsgraden an der Stelle \(t\)
\(t\) der konkrete Wert der Testgröße \(T\), welcher sich ergibt wenn die gemessenen Stichprobenwerte eingesetzt werden
Grafik#
In der folgende Grafik ist der Zusammenhang zwischen Testgröße, kritischem Bereich, Signifikanzniveau und p-Wert verdeutlicht:
die Testgröße ist mit \(t\) auf der x-Achse eingetragen
der kritische Bereich ist der Bereich auf der x-Achse über welchem die rot eingefärbte Fläche liegt; die Grenzen des kritischen Bereichs nennt man auch kritische Werte
\(\alpha\) ist die Größe der rot eingefärbten Fläche
der p-Wert ist die Größe der grün eingefärbten Fläche
Tests für die Varianz \(\sigma^2\)#
Sei \(X \sim \mathcal{N}(\mu, \sigma^2)\) ein normalverteiltes Merkmal und \(X_1, \dots, X_n\) die zugehörige Stichprobe mit Stichprobenmittelwert \(\bar{X}\) und Stichprobenvarianz \(S^2\).
Voraussetzung |
Testgröße \(T\) |
Verteilung von \(T\) |
…unter Bedingung |
Test |
---|---|---|---|---|
\(\mu\) bekannt |
\(\frac{\sum_{i=1}^n (X_i - \mu)^2}{\sigma_0^2}\) |
\(\chi^2(n)\) |
\(\sigma^2 = \sigma_0^2\) |
\(\chi^2\)-Streuungstest |
\(\mu\) unbekannt |
\(\frac{(n-1) S^2}{\sigma_0^2}\) |
\(\chi^2(n-1)\) |
\(\sigma^2 = \sigma_0^2\) |
\(\chi^2\)-Streuungstest |
Hierbei bezeichnet \(\chi^2(n)\) die \(\chi^2\)-Verteilung mit \(n\) Freiheitsgraden
Kritischer Bereich#
Der zugehörige kritische Bereich ist aus folgender Tabelle abzulesen. Er hängt von der Wahl der Hypothese und der Signifikanzniveau ab.
Test |
\(H_0\) |
\(H_1\) |
Kritischer Bereich \(K\) |
---|---|---|---|
\(\chi^2\)-Streuungstest (\(\mu\) bekannt) |
\(\sigma^2 = \sigma_0^2\) |
\(\sigma^2 \ne \sigma_0^2\) |
\([0, \chi^2_{n,\alpha/2}) \cup (\chi^2_{n,1 - \alpha/2}, \infty)\) |
\(\sigma^2 \le \sigma_0^2\) |
\(\sigma^2 > \sigma_0^2\) |
\((\chi^2_{n,1 - \alpha}, \infty)\) |
|
\(\sigma^2 \ge \sigma_0^2\) |
\(\sigma^2 < \sigma_0^2\) |
\([0, \chi^2_{n,\alpha})\) |
|
\(\chi^2\)-Streuungstest (\(\mu\) unbekannt) |
\(\sigma^2 = \sigma_0^2\) |
\(\sigma^2 \ne \sigma_0^2\) |
\([0, \chi^2_{n-1,\alpha/2}) \cup (\chi^2_{n-1,1 - \alpha/2}, \infty)\) |
\(\sigma^2 \le \sigma_0^2\) |
\(\sigma^2 > \sigma_0^2\) |
\((\chi^2_{n-1,1 - \alpha}, \infty)\) |
|
\(\sigma^2 \ge \sigma_0^2\) |
\(\sigma^2 < \sigma_0^2\) |
\([0, \chi^2_{n-1,\alpha})\) |
Hierbei ist
\(\chi^2_{n,\alpha}\) das \(\alpha\)-Quantil der \(\chi^2\)-Verteilung mit \(n\) Freiheitsgraden
p-Wert#
Anstelle des kritischen Bereichs können wir aus dem konkreten Testwert \(t\) auch den p-Wert berechnen. Wie dies funktioniert ist in folgender Tabelle zusammengefasst:
Streuungstest mit |
\(H_0\) |
\(H_1\) |
\(p\)-Wert |
R-Befehl |
---|---|---|---|---|
\(\mu\) bekannt |
\(\sigma^2 = \sigma_0^2\) |
\(\sigma^2 \ne \sigma_0^2\) |
\(2 \cdot \min\left\{F_{\chi^2(n)}(t), 1-F_{\chi^2(n)}(t)\right\}\) |
|
\(\sigma^2 \le \sigma_0^2\) |
\(\sigma^2 > \sigma_0^2\) |
\(1-F_{\chi^2(n)}(t)\) |
|
|
\(\sigma^2 \ge \sigma_0^2\) |
\(\sigma^2 < \sigma_0^2\) |
\(F_{\chi^2(n)}(t)\) |
|
|
\(\mu\) unbekannt |
\(\sigma^2 = \sigma_0^2\) |
\(\sigma^2 \ne \sigma_0^2\) |
\(2 \cdot \min\left\{F_{\chi^2(n-1)}(t), 1 - F_{\chi^2(n-1)}(t)\right\}\) |
|
\(\sigma^2 \le \sigma_0^2\) |
\(\sigma^2 > \sigma_0^2\) |
\(1 - F_{\chi^2(n-1)}(t)\) |
|
|
\(\sigma^2 \ge \sigma_0^2\) |
\(\sigma^2 < \sigma_0^2\) |
\(F_{\chi^2(n-1)}(t)\) |
|
Hierbei ist
\(F_{\chi^2(n)}(t)\) die Verteilungsfunktion zur \(\chi^2\)-Verteilung mit \(n\) Freiheitsgraden an der Stelle \(t\)
\(t\) der konkrete Wert der Testgröße \(T\), welcher sich ergibt wenn die gemessenen Stichprobenwerte eingesetzt werden
Umsetzung in R#
Im Folgenden zeigen wir, wie sich die Tests in R praktisch durchführen lassen. Dabei unterscheiden wir zwischen Tests für den Erwartungswert \(\mu\) und Tests für die Varianz \(\sigma^2\).
Test auf den Erwartungswert \(\mu\)#
Fall: \(\sigma^2\) bekannt#
→ Verwende den Gauß-Test
Hier gibt es standardmäßig keine spezielle Funktion in R, so dass wir die Größen per Hand eingeben. Alternativ zeigen nutzen wir die Funktion Gauss.test
aus dem Paket compositions
.
# Beispiel: sigma^2=1.5^2 (also bekannt)
# Teste H0: mu <= 10 gegen H1: mu > 10
# Variante 1: Berechnung der Größen per Hand
x <- c(12.1, 9.8, 10.5, 11.3, 10.9)
mu0 <- 10
sigma <- 1.5
n <- length(x)
x_bar <- mean(x)
# Teststatistik
t <- ((x_bar - mu0) / sigma ) * sqrt(n)
# p-Wert für H1: mu > mu0
p_value <- 1 - pnorm(t)
p_value
# Variante 2: mit zusätzlichem Paket "compositions"
library(compositions)
Gauss.test(x, mean = mu0, sd = 1.5, alternative = "greater")
one sample Gauss-test
data: x
T = 10.92, mean = 10.0, sd = 1.5, p-value = 0.08512
alternative hypothesis: greater
Wir erkennen: p-Wert\(=0.08512\)
Fazit: Zum Signifikanzniveau \(\alpha=0.05\) wird die Hypothese \(\mu \leq \mu_0\) hier nicht verworfen.
Bemerkung
Mit der Option alternative="greater"
spezifiziert man die Alternativhypothese, hier \(\mu>\mu_0\). Soll die Alternativhypothese \(\mu< \mu_0\) sein so schreibt man alternative="less"
. Lässt man dies Option weg oder schreibt alternative="equal"
, so wird ein 2-seiter Test ausgeführt.
Diese Option gibt es auch bei anderen Tests in R.
Fall: \(\sigma^2\) unbekannt#
→ Verwende den t-Test
Wieder zeigen wir die Berechnung per Hand und die Verwendung einer speziellen Funktion. Die Funktion t.test
ist standardmäßig in R verfügbar.
# Beispiel: Teste H0: mu <= 10 gegen H1: mu > 10
x <- c(12.1, 9.8, 10.5, 11.3, 10.9) # Stichprobe
mu0 <- 10
# Variante 1: per Hand
n <- length(x)
t <- ((mean(x) - mu0)/sd(x) )* sqrt(n)
p_value <- 1 - pt(t, df = n - 1)
p_value
# Variante 2: mit Funktion
t.test(x, mu = 10, alternative = "greater")
One Sample t-test
data: x
t = 2.3882, df = 4, p-value = 0.03766
alternative hypothesis: true mean is greater than 10
95 percent confidence interval:
10.09875 Inf
sample estimates:
mean of x
10.92
Wir erkennen: p-Wert\(=0.03766\)
Fazit: Zum Signifikanzniveau \(\alpha=0.05\) wird die Hypothese \(\mu \leq \mu_0\) hier verworfen.
Test auf die Varianz \(\sigma^2\)#
Fall: \(\mu\) bekannt#
→ Verwende den \(\chi^2\) Streuungstest für unbekannten Erwartungswert
# Beispiel: Teste H0: sigma^2 >= 4 gegen H1: sigma^2 < 4 bei bekanntem mu
x <- c(12.1, 9.8, 10.5, 11.3, 10.9)
mu <- 10
sigma2_0 <- 4
n <- length(x)
# Teststatistik
t <- sum((x - mu)^2) / sigma2_0
# p-Wert für H1: sigma^2 < sigma2_0
p_value <- pchisq(t, df = n)
p_value
Wir erkennen: p-Wert\(=0.12393\)
Fazit: Zum Signifikanzniveau \(\alpha=0.05\) wird die Hypothese \(\sigma^2 \geq 4\) hier nicht verworfen.
Fall: \(\mu\) unbekannt#
→ Verwende den \(\chi^2\) Streuungstest für unbekannten Erwartungswert
# Beispiel: Teste H0: sigma^2 = 4 gegen H1: sigma^2 > 4
x <- c(12.1, 9.8, 10.5, 11.3, 10.9)
s2 <- var(x)
n <- length(x)
sigma2_0 <- 4
# Teststatistik
t <- (n - 1) * s2 / sigma2_0
# p-Wert für H1: sigma^2 > sigma2_0
p_value <- 1 - pchisq(t, df = n - 1)
p_value
Wir erkennen: p-Wert\(=0.94605\)
Fazit: Zum Signifikanzniveau \(\alpha=0.05\) wird die Hypothese \(\sigma^2 \geq 4\) hier nicht verworfen.
Anwendungsbeispiel#
Bei der Herstellung von Zylindern kann der Durchmesser als normalverteilt angenommen werden. Die Streuung \(\sigma^2\) ist ein Maß für die Qualität der Produkte. Der Hersteller gibt an, dass die Standardabweichung \(\sigma\) höchstens \(0{,}03\ \text{mm}\) beträgt. Der Käufer der Zylinder zweifelt dies an. Er entnimmt eine Stichprobe vom Umfang \(n = 40\). Diese ergab die Werte \(\bar{x} = 50{,}03\ \text{mm}\) und \(s = 0{,}037\ \text{mm}\).
Es ist ein entsprechender Test zum Signifikanzniveau \(0{,}05\) durchzuführen.
Lösung:
\(X\) … zufälliger Druchmesser eines Zylinders in Millimetern
\(X\sim \mathrm{N}(\mu,\sigma^2)\), wobei beide Parameter unbekannt sind.
Wir interessieren uns für die Varianz → Verwende \(\chi^2\)-Streuungstest (für unbekannten Erwartungswert)
Signifikanzniveau:
\(\alpha = 0{,}05\)Hypothesen:
\(H_0: \sigma^2 \leq 0{,}03^2\)
\(H_1: \sigma^2 > 0{,}03^2\)Testgröße:
\[ T = \frac{(n-1)S^2}{\sigma_0^2} \sim \chi^2(n-1) \quad \text{falls } \sigma^2 = 0{,}03^2 \]Konkreter Testwert:
\[ t = \frac{39 \cdot 0{,}037^2}{0{,}03^2} = 59{,}32 \]Kritischer Bereich:
\[ K = (\chi^2_{n-1,1-\alpha}, \infty) = (\chi^2_{39,0.95}, \infty) = (54.57, \infty) \]Entscheidung:
\(t \in K \Rightarrow H_0\) wird abgelehnt
Interpretation:
Auf Grundlage der Stichprobe gehen wir zu einem Signifikanzniveau von \(0{,}05\) davon aus,
dass die Varianz größer als \(0{,}03^2\) ist.
\(\Rightarrow\) Beschwerde beim Hersteller
Nun zeigen wir, wie diese Schritte in R durchgeführt werden:
# Gegebene Werte
n <- 40
stdabw <- 0.037
sigma0 <- 0.03
alpha <- 0.05
# Teststatistik
t <- ((n-1) * stdabw^2) / sigma0^2
t
# Kritischer Wert aus der Chi-Quadrat-Verteilung
krit <- qchisq(1 - alpha, n-1)
krit
# Entscheidung
if (t > krit) {
cat("H0 wird abgelehnt: Varianz ist signifikant größer als 0.03^2\n")
} else {
cat("H0 wird nicht abgelehnt: Kein signifikanter Unterschied\n")
}
H0 wird abgelehnt: Varianz ist signifikant größer als 0.03^2
Es folgt eine alternative Berechnung des Tests unter Verwendung des p-Werts:
# Gegebene Werte
n <- 40
stdabw <- 0.037
sigma0 <- 0.03
alpha <- 0.05
# Teststatistik
t <- ((n-1) * stdabw^2) / sigma0^2
t
# p-Wert berechnen
p_value <- 1-pchisq(t, n-1)
p_value
# Entscheidung
if (p_value < alpha) {
cat("H0 wird abgelehnt: Varianz ist signifikant größer als 0.03^2\n")
} else {
cat("H0 wird nicht abgelehnt: Kein signifikanter Unterschied\n")
}
H0 wird abgelehnt: Varianz ist signifikant größer als 0.03^2