Zum Datensatz

In der Übung zu den Konfidenzintervallen hast du bereits den Datensatz WeightLoss.csv kennengelernt. Hier geht es mit den gleichen Daten weiter. In dieser Übung stehen jedoch nicht die CI’s, sondern die p-Werte im Mittelpunkt. Du wirst sehen, dass 95% CI’s und p-Werte viel gemeinsam haben und auf dem selben Grundprinzip beruhen.

Aufgabe

Importiere den Datensatz Weightloss.csv in RStudio und kontrolliere, ob alles richtig funktioniert hat.


Lösung

library(rio)
wloss <- import("~/Git/stats-msc-bfh/Exercises/Data/WeightLoss.csv")
str(wloss)
## 'data.frame':    22 obs. of  4 variables:
##  $ ID   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ group: chr  "Control" "Control" "Control" "Control" ...
##  $ wl1  : int  4 4 4 3 5 6 6 5 5 3 ...
##  $ wl3  : int  3 3 1 1 2 4 4 1 1 2 ...

Übung 1:

Vergleich eines Mittelwertes mit einem hypothetischen Wert (One Sample t-test):

In gewissen Situationen kann es sein, dass \(H_{0}\) einen festgelegten Wert annimmt (muss natürlich inhaltlich begründet sein). Überprüfe ob sich die mittlere Gewichtsreduktion nach einem Monat (wl1) statistisch signifikant von 0 Unterscheidet (unabhängig von der Gruppenzugehörigkeit). \(H_{0}\) wäre dabei:

Aufgaben

  1. Wie gross ist der p-Wert (zuerst manuelle Berechnung)?
  2. Wie gross ist der p-Wert (mit Hilfe der t.test() Funktion)?
  3. Wie ist dieser p-Wert zu interpretieren?
  4. Wie hängt das 95% CI (wird beim t.test() angezeigt) und der p-Wert zusammen?

Lösungen

  1. Wie gross ist der p-Wert (zuerst manuelle Berechnung)?
H0 <- 0
mean_wl1 <- mean(wloss$wl1)
sd_wl1 <- sd(wloss$wl1)
n_wl1 <- length(wloss$wl1)
se_wl1 <- sd_wl1/sqrt(n_wl1)
z <- mean_wl1/se_wl1
p <- 2* (1-pnorm(z))
p
## [1] 0

Anmerkungen:

  1. Der p-Wert ist in Wirklichkeit nicht 0, sondern einfach sehr sehr klein…
  2. Beachte, dass der p-Wert mit 2 multipliziert wird, da wir im Normalfall zweiseitige p-Werte berechnen.

  1. Wie gross ist der p-Wert (mit Hilfe der t.test() Funktion)?
t.test(wloss$wl1, mu = 0) # entspricht dem One Sample t-test
## 
##  One Sample t-test
## 
## data:  wloss$wl1
## t = 13.323, df = 21, p-value = 1.034e-11
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##  4.449685 6.095769
## sample estimates:
## mean of x 
##  5.272727

Hier sehen wir, dass der p-Wert nicht 0 sondern 0.00000000001034 ist…
Auch hier wird der zweiseitige (two-tailed) p-Wert berechnet. Für einen einseitigen Test müsste man explizit alternative = “less” oder alternative = “greater” definieren, womit der p-Wert dann halb so gross wäre:

t.test(wloss$wl1, mu = 0, alternative = "greater")
## 
##  One Sample t-test
## 
## data:  wloss$wl1
## t = 13.323, df = 21, p-value = 5.171e-12
## alternative hypothesis: true mean is greater than 0
## 95 percent confidence interval:
##  4.591715      Inf
## sample estimates:
## mean of x 
##  5.272727

  1. Wie ist dieser p-Wert zu interpretieren?

Die Wahrscheinlichkeit, um den beobachteten Wert (oder einen extremeren, also noch weiter weg von 0) alleine durch Zufall zu erhalten, beträgt 1.034e-11, also 0.00000000001034. Dies, wenn man annimmt, dass \(H_{0}\) der Realilität entspricht.

Anmerkung: Auch hier erhälst du das 95% CI. Dieses entspricht exakt den Werten, welche du bei der Übung zu den Konfidenzintervallen berechnet hast. Die t.test() Funktion ist also eine weitere Möglichkeit, um CI’s zu berechnen.


  1. Wie hängt das 95% CI (wird beim t-Test angezeigt) und der p-Wert zusammen?

Das 95% CI um schliesst den von \(H_{0}\) postulierten Wert 0 deutlich nicht. Man könnte auch sagen, das 95% CI schneidet \(H_{0}\) nicht. Wenn ein 95% CI \(H_{0}\) nicht schneidet, dann ist der p-Werte sicher kleiner als 5%. Je deutlicher das CI \(H_{0}\) nicht schneidet, desto kleiner ist der p-Wert.


Übung 2

In der Übung zu den Konfidenzintervallen hast du das 95% CI für die Mittelwertsdifferenz der beiden Gruppen zum ersten Zeitpunkt berechnet. Nun geht es zusätzlich um den p-Wert für diese Mittelwertsdifferenz (Two sample t-Test).

Aufgaben

  1. Berechne den p-Wert für die Mittelwertsdifferenz zwischen den Gruppen zum Zeitpunk wl1 (manuelle Berechnung).
  2. Berechne den p-Wert für die Mittelwertsdifferenz zwischen den Gruppen zum Zeitpunk wl1 (mit Hilfe der t.test() Funktion).
  3. Interpretieren den Output des t-Tests.

Lösungen

  1. Berechne den p-Wert für die Mittelwertsdifferenz zwischen den Gruppen zum Zeitpunk wl1 (manuelle Berechnung).
mean_CG <- mean(wloss$wl1[wloss$group == "Control"])
sd_CG <- sd(wloss$wl1[wloss$group == "Control"])
n_CG <- length(wloss$wl1[wloss$group == "Control"])
se_CG <- sd_CG/sqrt(n_CG)

mean_IG <- mean(wloss$wl1[wloss$group == "DietEx"])
sd_IG <- sd(wloss$wl1[wloss$group == "DietEx"])
n_IG <- length(wloss$wl1[wloss$group == "DietEx"])
se_IG <- sd_IG/sqrt(n_IG)

mean_diff <- mean_CG - mean_IG
se_mean_diff <- sqrt(se_CG^2+se_IG^2)

z <- mean_diff/se_mean_diff

p <- 2*pnorm(z)

p
## [1] 0.02688307

  1. Berechne den p-Wert für die Mittelwertsdifferenz zwischen den Gruppen zum Zeitpunk wl1 (mit Hilfe der t.test() Funktion).
t.test(wl1 ~ group, data = wloss)
## 
##  Welch Two Sample t-test
## 
## data:  wl1 by group
## t = -2.2132, df = 11.94, p-value = 0.04712
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -3.37451537 -0.02548463
## sample estimates:
## mean in group Control  mean in group DietEx 
##                   4.5                   6.2

  1. Interpretieren den Output des t-Tests.

Die Mittelwertsdifferenz beträgt 1.7kg [95% CI = 0.03 bis 3.37] zugunsten der Interventionsgruppe. Der p-Wert beträgt 0.047. Das heisst unter der Annahme, dass \(H_0\) korrekt ist, ist die Wahrscheinlichkeit, dass man eine solche oder eine noch extremere Differenz zwischen den Gruppen rein durch Zufall findet, 4.7%. Diese Differenz ist bei einem Signifikanzlevel von 5% statistisch signifikant.


Zusammenfassung