Bonusseminar 6: Hypothesentests simulieren

ÜBUNG

  1. Nehmen Sie an, das Merkmal Intelligenz ist in der Population normalverteilt mit den Parametern \(\mu = 100\) und \(\sigma = 15\).

    • Simulieren Sie R = 100000 Stichproben der Größe n = 100.
    • Berechnen Sie für jede Stichprobe die Teststatistik des Einstichproben t-Tests mit \(H_0: \mu = 100\) (erstellen Sie für die Berechnung der Teststatistik eine eigene Funktion).
    • Betrachten Sie die Verteilung der Teststatistiken grafisch.
    • Legen Sie selbst einen kritischen Wert basierend auf der empirischen Verteilung der Teststatistiken fest.
    • Treffen Sie für jede Stichprobe die Testentscheidung.
    • Berechnen Sie den Anteil der Entscheidungen für die H1.
    • Treffen Sie die Testentscheidung erneut mit dem korrekten kritischen Wert für ein Signifikanzniveau von \(\alpha = 0.05\).
    • Berechnen Sie den Anteil der Entscheidungen für die H1 erneut und vergleichen Sie mit dem Signifikanzniveau.
    • Angenommen, die durchschnittliche Intelligenz in der Population ist 98 (die Standardabweichng ist weiterhin 15). Versuchen Sie durch ausprobieren herauszufinden, wie groß die Stichprobe ungefähr sein müsste, damit bei einem Signifikanzniveau von \(\alpha = 0.05\) die Power größer ist als 0.8.
# Ziehe R Stichproben der Größe n
R <- 100000
n <- 100
set.seed(1)
x_list <- replicate(R, rnorm(n = n, mean = 100, sd = sqrt(225)), simplify = FALSE)

# Berechne die Teststatistik
t_stat <- function(x, mu_0 = 100){
  (mean(x) - mu_0) / sqrt(var(x) / length(x))
}
t_stats <- lapply(x_list, t_stat)

# Treffe die Testentscheidung
sig <- function(t_stat, t_crit = qt(0.975, df = n - 1)){
  abs(t_stat) > t_crit
}
sigs <- unlist(lapply(t_stats, sig))

# Berechne die relative Häufigkeit an Entscheidungen für die H1
mean(sigs)
[1] 0.04894
# Ziehe R Stichproben der Größe n
R <- 100000
n <- 450
set.seed(1)
x_list <- replicate(R, rnorm(n = n, mean = 98, sd = sqrt(225)), simplify = FALSE)

# Berechne die Teststatistik
t_stat <- function(x, mu_0 = 100){
  (mean(x) - mu_0) / sqrt(var(x) / length(x))
}
t_stats <- lapply(x_list, t_stat)

# Treffe die Testentscheidung
sig <- function(t_stat, t_crit = qt(0.975, df = n - 1)){
  abs(t_stat) > t_crit
}
sigs <- unlist(lapply(t_stats, sig))

# Berechne die relative Häufigkeit an Entscheidungen für die H1
mean(sigs)
[1] 0.80505