Hypothesenprüfung (Hypothesentest): Wahl des statistischen Tests

Wahl des statistischen Tests

Dieses Kapitel beschreibt die wichtigsten statistischen Tests und ihre Anwendungsbereiche. Es gibt statistische Tests für alle denkbaren Arten von Vergleichen. Jeder statistische Test geht von der Nullhypothese aus. Vergleicht man den Mittelwert zweier Gruppen, so bedeutet die Nullhypothese, dass man annimmt, zwischen den Gruppen bestehe kein Unterschied. Untersucht man mithilfe einer Regression, ob ein Prädiktor (z. B. Blutdruck) für einen Endpunkt (z. B. Tod) von Bedeutung ist, so hat man ebenfalls eine Nullhypothese, und diese besagt, dass der Blutdruck keinen Zusammenhang mit dem Tod aufweist (d. h. der Regressionskoeffizient für den Blutdruck = 0). Um zu beurteilen, welcher statistische Test geeignet ist, muss man also die Art der Variablen und ihre Zusammenhänge berücksichtigen. Man unterscheidet zwischen stetigen und kategorialen Variablen.

Eine kategoriale Variable (auch nominal genannt) hat mindestens zwei Kategorien (auch Stufen genannt). Das Geschlecht ist eine kategoriale Variable, und es gibt (in klinischen Studien meist) zwei Stufen, nämlich Mann und Frau. Auch die Ethnizität ist eine kategoriale Variable, bei der es beispielsweise Südamerikaner, Schweden, Asiaten, Nordamerikaner usw. geben kann. Im Fall von Geschlecht und Ethnizität besteht keine Rangfolge zwischen den Kategorien (d. h. man kann die Kategorien nicht auf natürliche Weise in absteigender oder aufsteigender Reihenfolge ordnen). Es gibt jedoch kategoriale Variablen mit einer natürlichen Ordnung, und eine solche Variable wird als ordinal bezeichnet. Ein Beispiel für eine ordinale kategoriale Variable ist das Bildungsniveau, das von niedriger über mittlere bis zu hoher Bildung kategorisiert werden kann. Manche ordinalen Variablen sind zudem vom Typ Intervall, was bedeutet, dass die Abstände zwischen den einzelnen Kategorien gleich groß sind. Wir können beispielsweise Einkommenskategorien (Monatseinkommen) bilden, indem wir die Gruppen 15000-20000, 20000-25000, 25000-30000 usw. erstellen.

Eine stetige Variable ist in der Regel ein Messwert oder eine andere numerische Größe. Alter in Jahren, Körpergewicht in Kilogramm und Entfernung in Metern sind allesamt stetige Variablen. In einer Hinsicht ähnelt die stetige Variable einer Intervallvariablen, da der Abstand zwischen zwei aufeinanderfolgenden Zahlen jeweils gleich groß ist. Tatsächlich kann eine Intervallvariable mit einer großen Anzahl von Stufen als stetige Variable betrachtet werden.

Statistische Tests und Regressionsmodelle beruhen auf mathematischen Annahmen. Die Validität des Tests oder des Modells hängt davon ab, dass bestimmte Annahmen erfüllt sind. Eine häufige Annahme betrifft die Verteilung der Variablen, da die meisten Tests eigentlich Verteilungen vergleichen. Den Mittelwert zweier Gruppen zu vergleichen bedeutet eigentlich, die Verteilungen zu vergleichen.

Normalverteilungsannahmen für stetige Variablen

Der t-Test und die ANOVA (analysis of variance, Varianzanalyse) setzen nicht voraus, dass die Werte der einzelnen Beobachtungen in der Stichprobe normalverteilt sind. Diese Tests setzen jedoch voraus, dass die Mittelwerte selbst normalverteilt sind, und zwar in dem Sinne, dass diese Mittelwerte normalverteilt sein müssen, wenn man viele Stichproben zieht und in jeder den Mittelwert berechnet. Eine Möglichkeit, sicherzustellen, dass die Mittelwerte normalverteilt sind, besteht darin, zu prüfen, ob die einzelnen Beobachtungen in der Stichprobe eine Normalverteilung aufweisen. Zudem nähern sich ohnehin alle Mittelwerte, unabhängig von der zugrunde liegenden Verteilung, mit zunehmendem Stichprobenumfang einer Normalverteilung an. Bei >30 Beobachtungen kann man von einer Normalverteilung ausgehen. (Für Details kann sich der Leser in den zentralen Grenzwertsatz (central limit theorem) vertiefen.)

Bei einer Regression, die auf OLS (ordinary least squares, Methode der kleinsten Quadrate) beruht, müssen die Residuen normalverteilt sein. Sind sowohl die abhängige Variable als auch die Prädiktoren normalverteilt, so garantiert dies (nahezu), dass die Residuen normalverteilt sind. Es ist jedoch zu beachten, dass weder die abhängige Variable noch die Prädiktoren normalverteilt sein müssen, damit die Residuen es sind.

Wahl des statistischen Tests: 3 oder mehr Variablen

graph TD
V(3 oder mehr Variablen) ---> K1(Stetige abhängige Variable) & K2(Kategoriale abhängige Variable)
K1 ---> ML(Multiple Regression)
K2 ---> Två(Abhängige Variable mit 2 Kategorien) ---> LR(Logistische Regression)
K2 ---> Tre(Abhängige Variable mit 3 oder mehr Kategorien) ---> MR(Multinomiale logistische Regression)

Wahl des statistischen Tests: 1 Variable

graph TD
V(1 Variable) ---> Kategorisk(Kategorial) & Kontinuerlig(Stetig)
Kategorisk ---> Two1(2 Gruppen) ---> One(One-proportion test)
Kategorisk ---> Two2(>2 Gruppen) ---> Ki(Chi-square goodness-of-fit test)
Kontinuerlig ---> P1(Parametrisch) ---> X("One-sample students t-test")
Kontinuerlig ---> P2(Nichtparametrisch) ---> Y("One-sample Wilcoxon test")

Wahl des Tests: 2 stetige Variablen

graph LR;
TwoVar(2 Variablen)

TwoVar ---> TwoQuant(2 quantitative) ---> Parametrisk(Parametrisch) ---> Pear(Korrelation nach Pearson)
                      TwoQuant(2 quantitative) ---> Icke-parametrisk(Nichtparametrisch) ---> Spear(Rangkorrelation nach Spearman)

TwoVar ---> 1Q1C(1 stetige und 1 kategoriale) ---> TwoGroups(Zwei Gruppen) ---> Paired1(Verbundene Stichproben) ---> Parametric1(Parametrisch) ---> Stud1(Student's t test for paired samples)
Paired1 ---> NParametric1(Nichtparametrisch) ---> Wilcox1(Wilcoxon signed rank test)

TwoGroups ---> OS1(Unabhängige Stichproben) ---> Parametric2(Parametrisch) & NParametric2(Nichtparametrisch)
NParametric2 ---> MW1(Mann-Whitney U test)
Parametric2 ---> EPV1(Gleiche Populationsvarianzen) & UPV1(Ungleiche Populationsvarianzen)
EPV1 ---> Stud2(Students t-test for 2 independent samples)
UPV1 ---> Welch2(Welchs t-test for 2 independent samples)

1Q1C ---> TreGrupper(>2 Gruppen)
TreGrupper ---> OS(Unabhängige Stichproben) & PS(Verbundene Stichproben)
OS ---> NParametric3(Nichtparametrisch) ---> KW(Kruskal-Wallis test)
OS ---> Parametric3(Parametrisch) ---> EPV2(Gleiche Populationsvarianz) & UPV2(Ungleiche Populationsvarianz)
EPV2 ---> OWA(One-way ANOVA)
UPV2 ---> WA(Welch's ANOVA)
PS ---> PO(Parametrisch) ---> RA(Repeated measures ANOVA)
PS ---> IPO(Nichtparametrisch) ---> FT(Friedman test)

TwoVar ---> TvåKvalitativa(2 qualitative)
TvåKvalitativa ---> TyK(2 Gruppen je Variable)
TyK ---> PS3(Verbundene Stichproben) ---> TPS(Zwei verbundene Stichproben) & 3PO(3 oder mehr verbundene Stichproben)
TPS ---> MT(McNemars test)
3PO ---> Coq(Cochran's Q test)
TyK ---> OS3(Unabhängige Stichproben)
OS3 ---> ef(Erwartete Häufigkeiten <5) ---> Fisch(Fischers exact test)
OS3 ---> ef2(Erwartete Häufigkeiten >=5) ---> Chi(Chi-squared test of independence)
TvåKvalitativa ---> YT(Mehr als 2 Gruppen für mindestens 1 Variable) ---> Chi(Chi-squared test of independence)

One-sample t-test (Einstichproben-t-Test)

Wie der Name andeutet, wird dieser Test verwendet, wenn man eine Gruppe hat, für die man einen Vergleich durchführen möchte. Der Test wird eingesetzt, wenn man untersuchen möchte, ob ein Mittelwert von einem hypothetischen Wert abweicht. Untersucht man die Körpergröße in einer Schulklasse und stellt fest, dass die mittlere Körpergröße in der Klasse 180 cm beträgt, so kann man prüfen, ob dieser Mittelwert von dem Wert 175 cm (also einem hypothetischen Wert) abweicht.

In R wird die Funktion t.test verwendet, um einen One-sample t-test durchzuführen. Wir prüfen nun, ob das Durchschnittsalter von Lungenkrebspatienten in einem klassischen R-Datensatz von einem hypothetischen Wert abweicht:

## Package mit Daten installieren
install.packages(&amp;amp;amp;amp;amp;amp;quot;survival&amp;amp;amp;amp;amp;amp;quot;)
library(survival)

## Tabelle mit Patientendaten aktivieren
data(lung)

## Tabelle mit Patientendaten betrachten
View(lung)

## Durchschnittsalter untersuchen
mean(lung$age)

## Testen, ob das Durchschnittsalter vom hypothetischen Wert 60 abweicht.
t.test(lung$age, mu = 60)

Wir erhalten einen P-Wert von 0,0000642, was bedeutet, dass der Mittelwert der Patienten von 60 abweicht. Der One-sample t-test eignet sich für normalverteilte Variablen mit Intervallskala.

One-sample median test (Einstichproben-Mediantest)

Dieser Test entspricht dem vorherigen Test, allerdings wird hier stattdessen der Median untersucht. In diesem Fall müssen wir lediglich annehmen, dass die Variable ordinalskaliert ist. In R wird die Funktion wilcox.test verwendet, um einen One-sample median test durchzuführen. Ein Beispiel:

## Testen, ob der Median des Alters von 60 abweicht
wilcox.test(lung$age, mu = 60)

Binomialtest

Der Binomialtest wird für kategoriale Variablen mit zwei Stufen verwendet. Mit dem Test lässt sich feststellen, ob ein in der Stichprobe beobachteter Anteil von einem hypothetischen Anteil abweicht. In R wird die Funktion prop.test verwendet, um einen Binomialtest durchzuführen. Im folgenden Beispiel untersuchen wir, ob der Frauenanteil im selben Datensatz wie zuvor (lung) gleich 0,5 ist (d. h. ob Frauen die Hälfte aller Patienten ausmachen).

## Mithilfe der Funktion ifelse erzeugen wir eine neue Variable namens kvinna. Diese Variable wird auf 1 gesetzt, wenn die Variable sex = 2 (Frau) ist, andernfalls auf 0 (Mann).

lung$kvinna &lt;- ifelse(lung$sex==2, 1, 0)

## Nun testen wir, ob der Frauenanteil 0,5 beträgt (d. h. ob die Hälfte Frauen sind)

prop.test(sum(lung$kvinna), length(lung$kvinna), p = 0.5)

Chi-square goodness of fit (Chi-Quadrat-Anpassungstest)

Der Chi-Quadrat-Anpassungstest (Chi-square goodness of fit) ist insofern eine Erweiterung des Binomialtests, als wir hier eine Variable mit mehr als 2 Kategorien testen können. Wir können also prüfen, ob die Verteilung der Krebsarten von einem hypothetischen Wert abweicht. Angenommen, die Variable Krebsart hat die folgenden vier Stufen: Lungenkrebs, Kolonkarzinom, Nierenkrebs und Leberkrebs. Unsere Hypothese lautet, dass sich diese vier Arten gleichmäßig verteilen, sodass jede 25 % ausmacht. Der erwartete (expected) Wert für jede Kategorie beträgt also 25 % (0,25). Um dies zu testen, wird in R die Funktion chisq.test wie folgt verwendet:

## In diesem Beispiel stammen die Beobachtungen aus der Tabelle data, und die Variable heißt cancertyp.

## Wir testen, ob jede Krebsart einen gleich großen Anteil an allen Krebserkrankungen ausmacht. In der Datenbank gibt es vier Krebsarten, d. h. jede Art macht laut unserer Hypothese 25 % aus.

chisq.test(table(data$cancertyp), p = c(0.25, 0.25, 0.25, 0.25))

Independent samples t-test (t-Test für unabhängige Stichproben)

Dieser Test wird verwendet, um Mittelwerte in zwei voneinander unabhängigen Gruppen zu vergleichen. Unabhängig bedeutet, dass sich die Gruppen nicht gegenseitig beeinflussen dürfen. Zwei Beispiele sollen dies verdeutlichen:

  1. Werden mehrere Patienten vor und nach einer chirurgischen Adipositasbehandlung gewogen, so haben wir zwei Werte, die verglichen werden sollen, nämlich das Gewicht vor und das Gewicht nach der Behandlung. In diesem Fall sind das Gewicht vor und nach der Behandlung jedoch voneinander abhängig, da sich in beiden Verteilungen dieselben Personen befinden. In diesem Fall verwendet man den dependent samples t-test.
  2. Möchten wir die Körpergröße von Männern und Frauen an der Universität Göteborg vergleichen, so haben wir ebenfalls zwei Mittelwerte, die verglichen werden sollen. Diese Mittelwerte sind jedoch nicht voneinander abhängig, und dann wird der independent samples t-test verwendet.

Im selben Datensatz wie zuvor prüfen wir nun, ob Männer und Frauen gleich alt sind.

t.test(lung$age ~ lung$sex)

Der P-Wert beträgt 0,06394 und ist damit größer als 0,05, weshalb wir nicht mit Sicherheit sagen können, dass ein Altersunterschied besteht. Wir führen einen weiteren Test durch, in dem wir die Kalorienzufuhr über die Nahrung vergleichen.

t.test(lung$meal.cal ~ lung$sex)

In diesem Fall betrug der P-Wert 0,01989, was darauf hinweist, dass zwischen Männern und Frauen ein statistisch signifikanter Unterschied in der Kalorienzufuhr besteht.

Wilcoxon-Mann-Whitney-Test

Dieser Test wird in derselben Situation wie der independent samples t-test verwendet, der Unterschied besteht jedoch darin, dass der Wilcoxon-Mann-Whitney-Test nicht voraussetzt, dass die Variable normalverteilt ist. Allerdings setzt dieser Test voraus, dass die Variable ordinalskaliert ist. Um das Alter von Männern und Frauen auf die gleiche Weise zu vergleichen, schreibt man in R Folgendes:

wilcox.test(lung$meal.cal ~ lung$sex)

Chi-square test (Chi-Quadrat-Test, χ2-Test)

Der Chi-Quadrat-Test wird verwendet, um zwei kategoriale Variablen zu untersuchen. Der Test beruht darauf, dass man beobachtete Häufigkeiten (für die Stufen jeder Variablen) mit erwarteten Häufigkeiten vergleicht. Man testet die Hypothese, dass die beobachteten Häufigkeiten den erwarteten Häufigkeiten (mehr oder weniger) entsprechen. Ein Beispiel: Wir untersuchen, ob gleich viele Männer und Frauen einen Myokardinfarkt erleiden, und verwenden dazu die dichotome Variable Geschlecht (Mann oder Frau) sowie Myokardinfarkt (ja oder nein). Lautet die Nullhypothese, dass der Anteil der Männer und Frauen, die einen Myokardinfarkt erleiden, gleich groß ist, so erwarten wir, in beiden Stufen von Myokardinfarkt gleich viele Männer und Frauen zu beobachten.

Der Chi-Quadrat-Test lässt sich mit einer Tabelle veranschaulichen. Wir untersuchen insgesamt 40 Personen mit Myokardinfarkt.

Geschlecht O E (O-E)2 ((O-E)2) / E
Mann 32 20 144 144/20
Frau 8 20 144 144/20
Summe 40 40 288/20=14,4

Der Wert von χ2 beträgt hier 14,4. Um zu prüfen, ob dies statistisch signifikant ist, müssen wir in einer Chi-Quadrat-Tabelle den Wert 14,4 bei 1 Freiheitsgrad nachschlagen. Die Anzahl der Freiheitsgrade ergibt sich aus der Anzahl der Stufen der Variablen Geschlecht (=2) minus 1, d. h. 2–1, also 1. Aus der Tabelle geht der kritische Wert für das jeweilige χ2 und die Anzahl der Freiheitsgrade hervor; ist χ2 größer als der kritische Wert, so wird die Nullhypothese verworfen. Es ist zu beachten, dass jede Statistiksoftware diese Berechnungen automatisch durchführt und einen P-Wert für die Nullhypothese ausgibt. Nicht zuletzt sei erwähnt, dass der Chi-Quadrat-Test voraussetzt, dass in jeder Zelle der obigen Kreuztabelle (Tabelle 1) mindestens 5 erwartete Beobachtungen vorliegen. Ist die Anzahl der Personen in einer Zelle <5, sollte stattdessen der Fisher's exact test verwendet werden.

Es ist zu beachten, dass die Variablen in einem Chi-Quadrat-Test mehr als zwei Stufen haben können und dass beide Variablen nicht gleich viele Stufen haben müssen.

Im folgenden Beispiel untersuchen wir, ob in der Lungenkrebsstudie gleich viele Männer und Frauen starben:

chisq.test(table(lung$sex, lung$status))

Fisher's exact test (exakter Test nach Fisher)

Der Fisher's exact test ist dem Chi-Quadrat-Test gleichwertig, wird aber stattdessen verwendet, wenn eine Zelle weniger als 5 erwartete Beobachtungen enthält. Der Fisher's exact test kann unabhängig davon verwendet werden, wie gering die Anzahl der erwarteten Beobachtungen ist. Der entsprechende Code in R lautet:

fisher.test(table(lung$sex, lung$status))

One-way ANOVA

One-way ANOVA (einfaktorielle Varianzanalyse)

Die One-way ANOVA wird verwendet, wenn man eine kategoriale unabhängige Variable (mit zwei oder mehr Stufen) und eine stetige, normalverteilte abhängige Variable (auf Intervallskala) hat. Hier wird also verglichen, ob die Verteilung der stetigen Variablen für die verschiedenen Stufen der kategorialen Variablen gleich ist. Beispielsweise könnten wir vergleichen, ob das Körpergewicht in den verschiedenen ethnischen Gruppen eines Gymnasiums gleich ist.

In R verwenden wir den Datensatz „bladder“, der ebenfalls im survival-Package enthalten ist. Wir laden „bladder“ mit dem Befehl „data(bladder)“. Dabei werden tatsächlich drei Varianten von „bladder“ geladen, von denen wir „bladder1“ verwenden. In diesem Datensatz untersuchen wir, ob sich die initiale Tumorgröße in Abhängigkeit vom endgültigen Outcome unterscheidet. Die Tumorgröße wird durch die Variable size beschrieben, die eine stetige Variable ist. Das Outcome wird durch die Variable status beschrieben, wobei 0 = überlebt, 1 = Krebsrezidiv, 2 = Tod durch Krebs und 3 = Tod aus anderer Ursache. Die Tumorgröße wird also in diesen vier Gruppen verglichen.

data(bladder)
summary(aov(bladder1$size ~ bladder1$status))

Der P-Wert beträgt 0,249, was bedeutet, dass wir die Nullhypothese (die besagt, dass kein Unterschied in der initialen Tumorgröße besteht) nicht verwerfen können. Die Tumoren sind also zu Studienbeginn gleich groß.

Kruskal-Wallis-Test

Der Kruskal-Wallis-Test wird verwendet, wenn man eine unabhängige Variable mit zwei oder mehr Stufen und eine ordinalskalierte abhängige Variable hat. Der Test ähnelt der einfaktoriellen ANOVA, ist aber nichtparametrisch, was bedeutet, dass die abhängige Variable nicht normalverteilt und intervallskaliert sein muss.

kruskal.test(data$beroende, data$oberoende)

Paired t-test (t-Test für verbundene Stichproben)

Möchte man zwei voneinander abhängige Werte vergleichen, kann man den Paired t-test verwenden. Dies setzt voraus, dass der zu vergleichende Wert normalverteilt ist. Die Werte sind in der Regel voneinander abhängig, wenn sie von derselben Person stammen, was bei Messungen zu zwei Zeitpunkten der Fall ist. Dabei kann es sich beispielsweise um die Messung des Körpergewichts vor und nach einer Behandlung von Übergewicht handeln.

Der folgende R-Code dient lediglich zur Veranschaulichung der Funktion in R. Die verwendeten Daten sind eigentlich nicht voneinander abhängig.

## Die Variable kroppsvikt ist stetig
## Die Variable mätningens_tidpunkt ist eine dichotome Variable, die "1" ist, wenn es sich um den Messwert vor der Behandlung handelt, und "2", wenn es sich um den Wert nach der Behandlung handelt
t.test(data$kroppsvikt, data$mätningens_tidpunkt, paired = TRUE)

Wilcoxon signed rank sum test (Wilcoxon-Vorzeichen-Rang-Test)

Dies ist die nichtparametrische Alternative zum Paired t-test und wird also verwendet, wenn man nicht voraussetzen kann, dass die abhängige Variable normalverteilt und intervallskaliert ist. Der Test setzt jedoch voraus, dass die Variable zumindest ordinalskaliert ist.

wilcox.test(data$beroende_variabel, data$oberoende_variabel, paired = TRUE)

McNemar-Test

Der McNemar-Test wird verwendet, wenn man eine abhängige kategoriale Variable in zwei miteinander verbundenen Gruppen untersucht. Der Test ist also analog zum Paired t-test, die abhängige Variable ist in diesem Fall jedoch kategorial und hat zwei Stufen. Beispielsweise kann man feststellen, ob sich der Anteil der Patienten mit Depression (ja/nein) vor und nach einer Verhaltenstherapie unterscheidet.

Ein Beispiel in R erhält man, indem man ?mcnemar.test in die Konsole eingibt.

One-way repeated measures ANOVA

Dieser Test entspricht der einfaktoriellen ANOVA (One-way ANOVA), in diesem Fall ist es jedoch zulässig, dass dieselbe Person mehr als 1 Messung beiträgt (d. h. es liegen wiederholte Messungen für dieselbe(n) Person(en) vor). Die unabhängige Variable ist also kategorial mit zwei oder mehr Stufen. Die abhängige Variable ist normalverteilt und intervallskaliert. Wir empfehlen, anstelle der One-way repeated measures ANOVA gemischte Modelle (mixed models, random effects models) zu verwenden, die effizienter sind.

Korrelation

Dies wurde im Kapitel über Korrelation und Regression behandelt.

Einfache lineare und multiple Regression

Dies wurde in den Kapiteln über einfache lineare Regression sowie über multiple (lineare) Regression behandelt.

Einfache logistische Regression und multiple logistische Regression

Dies wurde im Kapitel über logistische Regression behandelt.

Analysis of covariance (ANCOVA, Kovarianzanalyse)

Die ANCOVA ist der ANOVA gleichwertig, in diesem Fall wird jedoch zusätzlich zu einem kategorialen Prädiktor auch ein stetiger Prädiktor einbezogen. Die ANCOVA kann daher durch eine multiple Regression ersetzt werden.

Literatur

Das Obige ist in weiten Teilen eine Wiedergabe des Leitfadens von IDRE zur Wahl des Tests.