Eine Einführung in statistische Verfahren
Die Statistik stellt Methoden zur Verfügung, die den systematischen Umgang mit beobachteten oder gemessenen Informationen ermöglichen.
Analyse von Daten
Entscheidungsunterstützung unter Unsicherheit
Bestätigung und Widerlegung von Hypothesen
Modellbildung anhand von Daten
Statistische Methoden werden in einer Vielzahl von wissenschaftlichen Disziplinen genutzt und spielen auch in industriellen Anwendungen eine große Rolle
deskriptive (beschreibende) Statistik: Beschreibung und Zusammenfassung von Daten
induktive (schließende) Statistik: Test von Hypothesen, Schätzen von Parametern
explorative Statistik: Nutzung von Daten um Hypothesen und Modelle zu generieren und zu testen.
Enge Beziehung zu “modernen” Disziplinen data science, big data, AI
Grundverständnis von statistischen Verfahren
Auswahlmöglichkeiten in Bezug auf Fragestellungen kennenlernen
Grundlage für die Gestaltung von Fragebögen, Beobachtung, Experimenten …
Grundlegendes Handling von R
Slides als Vorlage!
Interpretation von Ergebnissen
(standardisierte) Befragung: Wird in vielen Wissenschaften verwendet. Ermöglicht es, auf systematische Weise Informationen über Einstellungen, Meinungen, Wissen und Verhaltensweisen von Menschen zu gewinnen. Wichtig ist die Operationalisierung von wissenschaftlichen Fragen.
Beobachtung und Messung: Alltagsbeobachtungen sind meist subjektiv und bedingt durch unmittelbare Bedürfnisse des Beobachters. Wissenschaftliche Beobachtung ist systematisch und objektiv. Was wird von wem wann und wo beobachtet? Wie wird protokolliert?
Experiment: Methodisch angelegte Untersuchung zur empirischen Gewinnung von Daten. Die Versuchsleitung bestimmt die Versuchsumgebung (kontrolliert Einflussvariable)
Sekundärdatenanalyse: Hier werden Daten analysiert, die zu anderen Zwecken gesammelt/angelegt wurden. Es handelt sich nicht um eine “sekundäre” Vorgehenweise, sondern macht heutzutage insgesamt die Mehrheit aller empirischen Untersuchungen aus. (betriebliche Daten, Marktdaten, amtliche Statistik, Internet, Mobilfunk ….)
Es kommt auf Groß- und Kleinschreibung an!
Funktionen: Was soll R tun? Was muss R dafür wissen?
Die Argumente der Funktion werden durch Komma getrennt und sind von Klammern umgeben.
Nach Komma kann eine neue Zeile begonnen werden
Die Tabulatortaste liefert Vervollständigungsvorschläge.
Wenn in der Konsole bei der Auswertung eines Ausdrucks ein + erscheint, ist der Ausdruck noch unvollständig. Oft fehlt dann z.B. eine schließende wKlammer. Mit der Esc-Taste kann man dann den Ausdruck löschen und danach neu eingeben.
Zu Beginn machen wir wichtige Programmbibliotheken nutzbar. Dieser Schritt muss nur einmal gemacht werden:
Nun wird die Hilfslibrary StatLectRK geladen, damit alle im Kurs besprochenen Funktionen zur Verfügung stehen. Dieser Schritt sollte jedesmal, wenn Rechnungen durchgeführt werden wiederholt werden:
In R gibt es eine Vielzahl von Datentypen von denen wir hier nur die wichtigsten zeigen
Zahlen
Zeichen
Wahrheitswerte (TRUE/T und FALSE/F)
Vektoren werden mittels c konstruiert
Ganze Datensätze (mehrere gemeinsam erhobene Merkmale) werden in data.frames oder tibbles gespeichert.
Name <- c("Hans","Claudia","N.N.")
MW <- c(124.3, 120,110)
Datensatz <- data.frame(Name=Name,Messwert=MW)
Datensatz <- as_tibble(Datensatz)
head(Datensatz)# A tibble: 3 × 2
Name Messwert
<chr> <dbl>
1 Hans 124.
2 Claudia 120
3 N.N. 110
[1] 124.3 120.0 110.0
Mittels des Zeichens $ greift man am einfachsten auf Spalten des Datensatzes (Merkmale) zu. Die Werte liegen dann in einem Vektor vor.
In der Praxis liegen Datensätze als tibbles oder data.frames vor, nachdem wir sie z.B. aus Excel nach R importiert haben.
Als nächstes importieren wir unseren Beispieldatensatz
[1] "Age" "Height" "Weight" "Gender"
Daten können auch über das Menü (File - Import Dataset) oder durch anklicken im Dateimanager (Files) importiert werden
Einen Überblick über einen Datensatz gewinnt man mittels
# A tibble: 6 × 4
Age Height Weight Gender
<dbl> <dbl> <dbl> <dbl>
1 21 174 65.6 1
2 23 175. 71.8 1
3 28 194. 80.7 1
4 23 186. 72.6 1
5 22 187. 78.8 1
6 21 182. 74.8 1
tibble [507 × 4] (S3: tbl_df/tbl/data.frame)
$ Age : num [1:507] 21 23 28 23 22 21 26 27 23 21 ...
$ Height: num [1:507] 174 175 194 186 187 ...
$ Weight: num [1:507] 65.6 71.8 80.7 72.6 78.8 74.8 86.4 78.4 62 81.6 ...
$ Gender: num [1:507] 1 1 1 1 1 1 1 1 1 1 ...
Numerische Variable (oder metrische Variable) sind Merkmale, deren Ausprägung durch Zahlen (reelle Zahlen oder ganze Zahlen) beschrieben werden müssen. (engl.: numerical variable)
z.B. Alter, Gewicht, Anzahl der Teilnehmer, Blutdruck, Preis eines Wertpapiers …
Skalenniveau: Intervallskala, Verhältnisskala
typische Auswertungen: Mittelwert, Median, Standardabweichung, Regressionsmodelle
Histogramme geben einen graphischen Überblick über die empirische Verteilung der Beobachtungswerte eines erhobenen (numerischen) Merkmals.
Eine Liste der erlaubten Farbbezeichungen kann mittels des Befehls colors() erhalten werden.
Histogramme geben einen graphischen Überblick über die empirische Verteilung der Beobachtungswerte eines erhobenen Merkmals.
Mit der Option width = … kann die Breite der Balken geändert werden.
Mit der Option type = … kann die Anzeige der Häufigkeiten in den Klassen geändert werden (“count”, “percent”)
Lagemaße sind statistische Kennzahlen für beobachtete Werte eines Merkmals, die die “Mitte” der Beobachtungen auf der benutzten Skala zeigen sollen.
Welcher einzelne Wert repräsentiert am Ehesten alle Beobachtungen?
Welche Werte würde ich mir bei weiteren Beobachtungen erwarten?
Mittelwert (arithmetisch, geometrisch): numerische Daten
Median: mindestens Ordinalskala
Modus: für nominalskalierte Daten
Seien \(x_1,x_2\dots,x_n\) Beobachtungen einer numerischen Variablen (Zufallsstichprobe), dann ist das arithmetische Mittel \(\bar{x}\) der Beobachtungen gegeben durch\[\bar{x}= \frac{1}{n} \sum_{i=1}^n x_i=\frac{x_1+x_2+\dots+x_n}{n}.\]
Mittelwerte eignen sich in erster Linie zur Beschreibung symmetrischer Verteilungen.
Der Median der beobachteten Werte \(x_1,x_2\dots,x_n\) ist ein Zahlenwert, so dass gleich viele Beobachtungen größer wie kleiner sind.
Für schiefe Verteilungen sind Median und Mittelwert unterschiedlich, da der Mittelwert sehr empfindlich gegenüber extremen Werten ist. Für rechtsschiefe Verteilungen ist der Mittelwert größer als der Median, für linksschiefe Verteilungen ist er kleiner.
Für schiefe Verteilungen ist daher der Median gegenüber dem Mittelwert das bessere zentrale Lagemaß.
Das Minimum \(\min\; \{x_1,x_2\dots,x_n\}\) einer Zufallsstichprobe \(x_1,x_2\dots,x_n\) ist der kleinste beobachtete Wert und das Maximum \(\max\; \{x_1,x_2\dots,x_n\}\) ist der größte beobachtete Wert.
Diese beiden Werte geben einen groben Überblick über den Wertebereich.
Das p-Quantil \(x_p\) einer Zufallsstichprobe \(x_1,x_2\dots,x_n\) ist eine reelle Zahl für die gilt:\[x_i\leq x_p \text{ für mindestens } p\cdot n \text{ Beobachtungen und }\\ x_i\geq x_p \text{ für mindestens} (1-p) \cdot n \text{ Beobachtungen.} \]
z.B.: Nur 5% der Einwohner haben ein Einkommen kleiner (größer) als x.
Der Median ist das \(0.5\)-Quantil. Die Quartile sind durch das \(0.25\)-, das \(0.5\)- und das \(0.75\)-Quantil gegeben. Zwischen \(x_{0.25}\) und \(x_{0.75}\) liegt die Hälfte der Beobachtungen.
Das Perzentil ist das \(0.01\)-Quantil
Boxplots sind eine Alternative zum Histogramm. Sie fassen verschiedene robuste Lage- und Streuungsmaße in einer Grafik zusammen: Median, 0.25- und 0.75- Quantil (Box), 0.05- und 0.95- Quantil, sowie Ausreißer.
Streumaße sind Statistiken, die Auskunft über die Variabilität von beobachteten Werten geben.
Große Variabilität kann auch als Unsicherheit über zu erwartende zukünftige Beobachtungen und damit als Risiko interpretiert werden.
Spannweite: mindestens Ordinalskala
Interquartilsabstand: mindestens Ordinalskala
Varianz und Standardabweichung: mindestens Intervallskala
Mittlere absolute Abweichung
Die Spannweite \(R\) eines Datensatzes mit Beobachtungen \(x_1,\dots, x_n\) ist der der Abstand zwischen größtem und kleinstem Beobachtungswert,\[R=\max\{x_1,…,x_n\} - \min\{x_1,\dots,x_n\}.\]
Die Spannweite liefert nur eine Aussage über den Gesamtbereich der beobachteten Werte, aber nicht über die Konzentration in bestimmten Bereichen.
Der Interquartilsabstand \(\text{IQR}\) ist der Abstand zwischen dem \(0.75\)-Quantil und dem \(0.25\)-Quantil\[\text{IQR}=x_{0.75}-x_{0.25}.\]
In diesem Bereich liegen (um den Median) 50% der Beobachtungen.
Die Standarbweichung ist ein Maß für die Streuung um den Mittelwert.
Die (unkorrigierte) Standardabweichung von Beobachtungswerten \(x_1,\dots,x_n\):\[\bar{s}=\sqrt{\frac{1}{n} \sum_{i=1}^n (x_i-\bar{x})^2}.\]
Stammen die Beobachtungen aus einer Stichprobe, wird die Standardabweichung der Grundgesamtheit geschätzt durch die Stichprobenstandardabweichung \(s^*\)\[ s^*=\sqrt{\frac{1}{n-1} \sum_{i=1}^n (x_i-\bar{x})^2}. \]
Die Funktion sd berechnet die Stichprobenstandardabweichung mit dem Faktor \(\frac{1}{n-1}\).
Die quadrierte Standardabweichung wird als Varianz bezeichnet.
Die Standardabweichung ist das Streumaß, das zum Mittelwert passt. Beide sind allerdings nur bei annähernd symmetrischen Verteilungen gut anwendbar.
Zum Median als robustes Lagemaß passt die mittlere (absolute) Abweichung vom Median (\(\text{MAD}\)) als robustes Streumaß. Diese ist durch den Median der Absolutwerte der jeweiligen Differenzen zwischen den Beobachtungen und dem Median der Beobachtungen gegeben.
Manchmal wird unter der mittleren absolute Abweichung vom Median auch der Mittelwert der absoluten Abweichungen vom Median verstanden. Es gibt zudem auch die mittlere absolute Abweichung vom Mittelwert. All diese Maße - und viele weitere - sind Streumaße.
Zusammenhänge zwischen zwei numerischen Variablen können als Scatterplot veranschaulicht werden.
Zusammenhänge zwischen zwei numerischen Variablen können als Scatterplot veranschaulicht werden.
Die Stärke eines (linearen) Zusammenhangs zwischen zwei Variablen wird durch den Korrelationskoeffizienten gemessen.
Seien \(x_1,\dots,x_n\) und \(y_1,\dots,y_n\) beobachtete Werte von zwei Merkmalen. Dann ist der (Bravais-Pearsonsche) Korrelationskoeffizient \(R\) gegeben durch
\[R=\frac{\sum_{i=1}^n (x_i-\bar{x})(y_i-\bar{y})}{\sum_{i=1}^n(x_i-\bar{x})\sum_{i=1}^n(y_i-\bar{y})}.\]
Der Korrelationskoeffizient liegt zwischen \(-1\) und \(+1\). Der Wert \(0\) weist auf keinen Zusammenhang zwischen den Variablen hin, \(-1\) weist auf vollständigen negativen Zusammenhang (“je größer A desto kleiner B”) und \(+1\) auf vollständigen positiven Zusammenhang (“je größer A desto größer B”) hin.
Es ist möglich, Korrelationen für alle numerischen Variablen eines Datensatzes auf einmal zu berechnen - die Korrelationsmatrix
Age Height Weight Gender
Age 1.00000000 0.06788349 0.2072652 0.1509446
Height 0.06788349 1.00000000 0.7173011 0.6846621
Weight 0.20726524 0.71730108 1.0000000 0.6577258
Gender 0.15094462 0.68466211 0.6577258 1.0000000
Der Korrelationskoeffizient ist empfindlich gegenüber Ausreißern und nur für lineare Zusammenhänge geeignet. Ein robusteres Maß für den Zusammenhang ist der Spearmansche Korrelationskoeffizient.
Korrelationen sagen nichts über eine Richtung des Zusammenhangs oder über Kausalität aus (confounder)!
Wenn man genügend viele Paare von Variablen untersucht, wird man stets zufällig solche mit sehr hoher Korrelation finden. Man spricht hier von “spurious correlation”
https://tylervigen.com/spurious-correlations
Bleiben Sie stets kritisch auch gegenüber Ihren eigenen Ergebnissen!
Oft stellt sich die Frage, wie fair Einkommen, Besitz, Resourcen verteilt sind.
Eine Einkommensverteilung:
Seien \(x_1, x_2, \dots, x_n\) Beobachtungen eines Merkmals. Die Lorenz-Kurve stellt dar, welche Anteile der gesamten Merkmalssumme \(\sum_{i=1}^n x_i\) auf welche Anteile der \(n\) Merkmalsträgern entfallen.
Auf der \(x\)-Achse: Anteile an der Gesamtheit der Merkmalsträger (zum Beispiel Bevölkerung oder Stichprobe)
Auf der \(y\)-Achse: Anteile an der gesamten Merkmalssumme (beispielsweise Einkommen, Besitz an Ressourcen) abgetragen.
Die Lorenz-Kurve ist damit im Prinzip eine Quantilsfunktion.
Bei völliger Gleichverteilung wäre die Lorenz-Kurve durch die 45°-Gerade gegeben.
Der normierte Gini-Koeffizient \(G^\star\) setzt den Flächeninhalt zwischen der Lorenz-Kurve und der 45°-Geraden zum Flächeninhalt unter der 45° Geraden ins Verhältnis.
Der Gini-Koeffizient liegt zwischen 0 und 1. Völlige Gleichheit führt zu \(G^\star=0\) völlige Ungleichheit zur \(G^\star=1\).
lorenz (wage1$wage,
lcx = "Prozent der befragten Individuen",
lcy = "Prozent des Gesamteinkommens",
lctitle = "Lorenzkurve des Einkommens",
lcgn = TRUE)[1] 0.3084825
Wichtige Kennzahlen von numerischen Daten können auch zusammenfassend durch die Befehle summary und favstat erhalten werden.
Age Height Weight Gender
Min. :18.00 Min. :147.2 Min. : 42.00 Min. :0.0000
1st Qu.:23.00 1st Qu.:163.8 1st Qu.: 58.40 1st Qu.:0.0000
Median :27.00 Median :170.3 Median : 68.20 Median :0.0000
Mean :30.18 Mean :171.1 Mean : 69.15 Mean :0.4872
3rd Qu.:36.00 3rd Qu.:177.8 3rd Qu.: 78.85 3rd Qu.:1.0000
Max. :67.00 Max. :198.1 Max. :116.40 Max. :1.0000
Min. 1st Qu. Median Mean 3rd Qu. Max.
18.00 23.00 27.00 30.18 36.00 67.00
min Q1 median Q3 max mean sd n missing
18 23 27 36 67 30.18146 9.608472 507 0
Aus den beobachteten Daten lassen sich bei Bedarf relevante neue Merkmale berechnen.
# A tibble: 4 × 5
Age Height Weight Gender BMI
<dbl> <dbl> <dbl> <dbl> <dbl>
1 21 174 65.6 1 21.7
2 23 175. 71.8 1 23.4
3 28 194. 80.7 1 21.6
4 23 186. 72.6 1 20.9
Grundrechenarten: +,-.*,/ Klammern nicht vergessen, Potenzen: ^ oder **
Weitere Funktionen:
Stellen Sie die Verteilung des BMI graphisch dar (Histogramm und Boxplot). Ist die Verteilung symmetrisch, rechts- oder linksschief?
Berechnen und interpretieren Sie wichtige deskriptive Statistiken.
Berechnen Sie insbesondere das 0.25 und das 0.75-Quantil.
Untersuchen Sie durch einen Scatterplot, sowie den zugehörigen Korrelationskoeffizienten, ob ein Zusammenhang zwischen Alter und BMI sinnvoll erscheint.
Kategoriale Variable sind Merkmale, die eine begrenzte Anzahl von Ausprägungen (Kategorien) haben (engl.: categorical variable)
z.B. Geschlecht, Postleitzahl, Parteipräferenz, Anzahl der Mitbewohner im Haushalt (0,1,2,3,mehr), soziale Schicht, Hauptdiagnose, ….
Skalenniveau: Nominalskala, Ordinalskala
typische Auswertungen: Häufigkeiten, Rangfolge (nur ordinalskalierte Merkmale)
Kennzahlen: Modus, Median (nur ordinalskalierte Merkmale)
Eine Variable in der ein Text oder auch Zahlen stehen kann mittels der Funktion “factor” in eine kategoriale Variable umgewandelt werden.
body_dat <- body_dat %>%
mutate(Gender_fac=factor(Gender,
labels = c("weiblich","männlich"))) %>%
select(Age,Height,Weight,Gender,Gender_fac)
head(body_dat)# A tibble: 6 × 5
Age Height Weight Gender Gender_fac
<dbl> <dbl> <dbl> <dbl> <fct>
1 21 174 65.6 1 männlich
2 23 175. 71.8 1 männlich
3 28 194. 80.7 1 männlich
4 23 186. 72.6 1 männlich
5 22 187. 78.8 1 männlich
6 21 182. 74.8 1 männlich
Die Reihenfolge der Eintragungen im labels-Vektor richtet sich nach der aufsteigenden Sortierung der Werte in der umzuwandelnden Variablen. Die Vorgabe \(0: weiblich, 1: männlich\) führt zu obigem Code.
Wird ein Merkmal durch Zeichen oder Wörter (character values) beschrieben, kann man die Funktion factor ohne weitere Argumente anwenden. Die Ausprägungen werden dabei alphabetisch geordnet, in Grafiken ist dann diese Reihenfolge ausschlaggebend.
Aus inhaltlichen Gründen kann eine andere Reihenfolge gewünscht sein.
[1] gut gut besser besser am Besten
Levels: gut besser am Besten
Wenn es eine natürliche Ordnung der Kategorien gibt, liegt sogar eine Ordinalskala vor:
geschmack <- factor(c("gut","gut","besser","besser","am Besten"),levels=c("gut","besser","am Besten"),ordered=T)
geschmack[1] gut gut besser besser am Besten
Levels: gut < besser < am Besten
Dies ermöglich es z.B. den Median zu berechnen:
Wieviele Frauen bzw. Männer wurden im Rahmen unseres Beispieldatensatzes untersucht?
Oft werden statt absoluter Zahlen relative Häufigkeiten (eng.: relative frequencies) \(h_i\), bzw. Prozentsätze angegeben. Wenn \(n\) die Gesamtanzahl der Beobachtungen bedeutet:
\[ h_i=100\cdot H_i/n \]
Gender_fac
weiblich männlich
51.28205 48.71795
Gender_fac
weiblich männlich
0.5128205 0.4871795
Werden nur relative Häufigkeiten angegeben, sollte zur Ergänzung auch die Gesamtzahl \(n\) angegeben werden, da sonst die Information über die Stichprobengröße verloren geht.
Die wichtigste Kennzahl für kategoriale Daten ist der Modus, jene Kategorie die am Häufigsten beobachtet wird. Gibt es mehrere Kategorien mit größter Häufigkeit, ist der Modus durch die Menge dieser Kategorien gegeben.
Der Modus kann einfach aus einer Häufigkeitstabelle abgelesen werden.
Mit der Option horizontal = T können die Balken horizontal angeordnet werden.
Tortengrafiken sollten nur verwendet werden, wenn Teile eines Ganzen dargestellt werden.
Manchmal werden kategoriale Variable künstlich aus numerischen Variablen erzeugt, um die beobachteten Objekte in Klassen einzuteilen.
In R kann das mittels der Funktion “cut” bewerkstelligt werden.
# A tibble: 6 × 6
Age Height Weight Gender Gender_fac Height_fac
<dbl> <dbl> <dbl> <dbl> <fct> <fct>
1 21 174 65.6 1 männlich (160,180]
2 23 175. 71.8 1 männlich (160,180]
3 28 194. 80.7 1 männlich (180,200]
4 23 186. 72.6 1 männlich (180,200]
5 22 187. 78.8 1 männlich (180,200]
6 21 182. 74.8 1 männlich (180,200]
Height_fac
(0,160] (160,180] (180,200]
72 341 94
Das zweite Argument von cut ist ein Vektor, der die Intervallgrenzen definiert. Hier muß die absolute Untegrenze und die absolute Obergrenze dabei sein.
Manchmal werden nur Teile der Daten ausgewertet. In R macht das die Funktion filter.
tibble [247 × 6] (S3: tbl_df/tbl/data.frame)
$ Age : num [1:247] 21 23 28 23 22 21 26 27 23 21 ...
$ Height : num [1:247] 174 175 194 186 187 ...
$ Weight : num [1:247] 65.6 71.8 80.7 72.6 78.8 74.8 86.4 78.4 62 81.6 ...
$ Gender : num [1:247] 1 1 1 1 1 1 1 1 1 1 ...
$ Gender_fac: Factor w/ 2 levels "weiblich","männlich": 2 2 2 2 2 2 2 2 2 2 ...
$ Height_fac: Factor w/ 3 levels "(0,160]","(160,180]",..: 2 2 3 3 3 3 3 3 2 3 ...
# A tibble: 6 × 6
Age Height Weight Gender Gender_fac Height_fac
<dbl> <dbl> <dbl> <dbl> <fct> <fct>
1 21 174 65.6 1 männlich (160,180]
2 23 175. 71.8 1 männlich (160,180]
3 28 194. 80.7 1 männlich (180,200]
4 23 186. 72.6 1 männlich (180,200]
5 22 187. 78.8 1 männlich (180,200]
6 21 182. 74.8 1 männlich (180,200]
# A tibble: 6 × 6
Age Height Weight Gender Gender_fac Height_fac
<dbl> <dbl> <dbl> <dbl> <fct> <fct>
1 21 174 65.6 1 männlich (160,180]
2 23 175. 71.8 1 männlich (160,180]
3 23 175 62 1 männlich (160,180]
4 23 180 76.6 1 männlich (160,180]
5 22 178. 83.6 1 männlich (160,180]
6 26 176 74.6 1 männlich (160,180]
Fügen Sie dem Datensatz body_dat eine kategoriale Variable Weight_fac hinzu, deren Kategorien sich aus der Variablen Weight ergeben und durch die Intervalle (0, 50], (50,90] und (90,120] gegeben sind.
Erzeugen Sie eine Tabelle mit absoluten Häufigkeiten für die Variable Weight_fac
Erzeugen Sie eine Tabelle mit relativen Häufigkeiten für die Variable Weight_fac.
Wo liegt der Modus?
Zeichnen Sie ein Balkendiagramm der Häufigkeiten (absolut und relativ).
Ausgangspunkt ist der Datensatz, der Einzelbeobachtungen enthält
| Age | Height | Weight | Gender | Gender_fac | Height_fac | Weight_fac |
|---|---|---|---|---|---|---|
| 21 | 174.0 | 65.6 | 1 | männlich | (160,180] | (50,90] |
| 23 | 175.3 | 71.8 | 1 | männlich | (160,180] | (50,90] |
| 28 | 193.5 | 80.7 | 1 | männlich | (180,200] | (50,90] |
| 23 | 186.5 | 72.6 | 1 | männlich | (180,200] | (50,90] |
Kreuztabelle mit absoluten Häufigkeiten
| Geschlecht | Körpergröße | |||
|---|---|---|---|---|
| (0,160] | (160,180] | (180,200] | Total | |
| weiblich | 70 | 188 | 2 | 260 |
| männlich | 2 | 153 | 92 | 247 |
| Total | 72 | 341 | 94 | 507 |
Kreuztabellen mit absoluter Häufigkeit (mit allen Randverteilungen):
Height_fac
Gender_fac (0,160] (160,180] (180,200] Total
weiblich 70 188 2 260
männlich 2 153 92 247
Total 72 341 94 507
Randverteilung: Zahl der Beobachtungen Kategorien der beiden Variablen.
Kreuztabelle mit relativen Häufigkeiten:
Height_fac
Gender_fac (0,160] (160,180] (180,200] Total
weiblich 0.138067061 0.370808679 0.003944773 0.512820513
männlich 0.003944773 0.301775148 0.181459566 0.487179487
Total 0.142011834 0.672583826 0.185404339 1.000000000
Hier werden in den einzelnen Zellen der Tabelle Anteile an der Gesamtanzahl aller Beobachteten Individuen angezeigt.
Beide betrachteten Variablen sind hier als unabhängige Variable (rechts vom Zeichen ~) modelliert - damit werden Randverteilungen für beide Variablen angezeigt.
Verhält sich eine abhängige Variable für unterschiedliche Kategorien einer unabhängigen Variablen anders?
Beispiel: Sind die Größenklassen (abhängige Variable) für Männer und Frauen (unabhängige Variable) unterschiedlich verteilt?
Gender_fac
Height_fac weiblich männlich
(0,160] 0.269230769 0.008097166
(160,180] 0.723076923 0.619433198
(180,200] 0.007692308 0.372469636
Total 1.000000000 1.000000000
Die unabhängigen Variablen sind rechts vom Zeichen ~, die abhängige Variable links.
Randverteilungen werden nur für die unabhängigen Variablen berechnet.
Mit der Funktion nice können Tabellen in druckreife Form gebracht werden.
Dies ermöglicht den Export nach Word, entweder über die Zwischenablage, über die Exportoptionen, oder über den Compile Report button.
library(gtExtras)
tally(~ Gender_fac + Height_fac, data = body_dat,
margins = TRUE, format="proportion") %>%
nice(rowVar="Geschlecht",
colVar="Körpergröße (cm) - Gruppen",
title="Geschlecht und Körpergröße",
sn="Rohdaten: www.beispiel.com")| Geschlecht und Körpergröße | ||||
|---|---|---|---|---|
| Geschlecht | Körpergröße (cm) - Gruppen | |||
| (0,160] | (160,180] | (180,200] | Total | |
| weiblich | 0.138067061 | 0.3708087 | 0.003944773 | 0.5128205 |
| männlich | 0.003944773 | 0.3017751 | 0.181459566 | 0.4871795 |
| Total | 0.142011834 | 0.6725838 | 0.185404339 | 1.0000000 |
| Rohdaten: www.beispiel.com | ||||
Alle kennengelernten Statistiken für numerische Variable können (statt der Häufigkeit) gegliedert nach kategorialen Variablen dargestellt werden.
weiblich männlich
164.8723 177.7453
weiblich männlich
59.0 77.3
Gender_fac min Q1 median Q3 max mean sd n missing
1 weiblich 18 22 26 34 67 28.76923 8.85319 260 0
2 männlich 18 24 29 37 65 31.66802 10.15145 247 0
weiblich.(0,50] männlich.(0,50] weiblich.(50,90] männlich.(50,90]
27.38710 NaN 28.87225 31.53704
weiblich.(90,120] männlich.(90,120]
38.50000 32.58065
Die Mittelwerttabelle mit zwei Gruppierungsvariablen sieht nicht besonders schön aus, und kann mithilfe der Funktion niceT in druckreife Form gebracht werden.
mean(Age~Gender_fac + Weight_fac, data=body_dat, .format="table") %>%
niceT(rowVar="Geschlecht", colVar="Gewichtsklasse",
title="Mittleres Alter nach Geschlecht und Gewicht",
sn="Rohdaten: www.woher.com") | Mittleres Alter nach Geschlecht und Gewicht | |||
|---|---|---|---|
| Geschlecht | Gewichtsklasse | ||
| (0,50] | (50,90] | (90,120] | |
| weiblich | 27.3871 | 28.87225 | 38.50000 |
| männlich | NaN | 31.53704 | 32.58065 |
| Rohdaten: www.woher.com | |||
Die layout Option muss an die Anzahl der Merkmalsausprägungen der kategorialen Variablen angepasst werden: Für \(n\) Ausprägungen layout = c(1,n).
In Datensätzen gibt es oft fehlende Werte (missing values). Für eine Beobachtung konnte kein Wert für ein Merkmal erhoben werden - z.B. wurde in einer Befragung keine Auskunft über das Einkommen gegeben, oder ein Messinstrument hat versagt.
In Excel wäre in diesem Fall kein Eintrag in einer Zelle, in R steht in einer Spalte oder einem Vektor dann NaN oder NA.
Viele der besprochenen Funktionen liefern dann (ohne Vorkehrungen) selbst fehlende Werte zurück. Dies kann (meistens) durch die Option na.rm = T behoben werden.
Es ist auch möglich, sämtliche Beobachtungen, die für irgendein Merkmal fehlende Werte besitzen vorab zu entfernen.
Zeichnen Sie einen Boxplot für die Verteilung des Gewichts nach Geschlecht gruppiert.
Geben Sie eine Kreuztabelle (relative Häufigkeiten) für Gewichtsklassen und Größenklassen aus (Gesamt = 1.0).
Diskutieren Sie anhand einer passenden Tabelle, ob es Unterschiede in der Gewichtsverteilung zwischen Männern und Frauen geben könnte.
Generieren Sie eine Tabelle, in der Standardabweichungen des Gewichts für die nach Geschlecht und Körpergröße (Faktorvariable!) gruppierten Beobachtungen gezeigt werden.
In der schließenden Statistik werden die beobachteten Merkmalswerte als Realisierungen von Zufallsvariablen betrachtet.
Zufall kann durch zufällige Auswahl (auslosen), Beobachtungsfehler, Verhaltensabweichungen zwischen Personen und viele andere Mechanismen ins Spiel kommen (“Zufallsexperiment”).
Zufallsvariable ordnen jedem möglichen Ausgang eines Zufallsexperiments eine Zahl zu.
Diskrete Verteilung (endlich): z.B. Würfelwurf, Münzwurf, Zustimmungsgrade …
Diskrete Verteilung (unendlich): beobachtete Anzahlen, bobachtetes Alter in Jahren
Stetige Verteilung: genaues Alter, Körpergröße, Blutzuckerspiegel, Temperatur
Jede einzelne Beobachtung eines Merkmals wird in der Statistik als Realisierung einer Zufallsvariablen aufgefasst.
Ein Histogramm beschreibt die empirische Verteilung der untersuchten Variablen.
Theoretische Verteilungen werden durch Wahrscheinlichkeitsfunktionen, bzw. Dichtefunktionen und Verteilungsfunktionen beschrieben. Diese ermöglichen die Berechnung von Wahrscheinlichkeiten.
Die Funktionen werden mithilfe von Parametern formuliert.
Diskrete Zufallsvariable können “nur” abzählbar viele Werte \(x\) annehmen.
Die Wahrscheinlichkeitsfunktion \(f(x)\) weist jedem Wert \(x\) eine (nichtnegative) Wahrscheinlichkeit zu. Die Wahrscheinlichkeit dass ein Ereignis aus einer Menge von mehreren Einzelereignissen auftritt, ergibt sich durch Summieren. Die Wahrscheinlichkeit dass irgendeines der möglichen Ereignisse eintritt ist 1.
Die Verteilungsfunktion \(F(x)\) weist jedem Wert \(x\) die Wahrscheinlichkeit zu, dass eine Realisierung \(\leq x\) beobachtet wird.
Bernoulliverteilung (Münzwurf, Experiment): Die Werte sind durch \(\{0,1\}\) gegeben. Die Wahrscheinlichkeitsfunktion ordnet dem Ereignis \(1\) die Wahrscheinlichkeit \(p\) (Parameter), dem Ereignis \(0\) die Wahrscheinlichkeit \(1-p\) zu. Fairer Münzwurf: \(p=1/2\).
Binomialverteilung: Ein Bernoulliexperiment mit Parameter \(p\) wird \(n\) mal wiederholt (Parameter). Es wird \(x\) mal die \(1\) und \(n-x\) mal die \(0\) beobachtet. \[f(x)=\binom{n}{k}p^x(1-p)^{n-x} \]
Stetige Zufallsvariable können überabzählbar viele Werte \(x\) annehmen. Typischerweise sind derartige Wertebereiche Intervalle \([a,b]\), die Menge der positiven reellen Zahlen \(\mathbb{R}_0^+\) oder die Menge der reellen Zahlen \(\mathbb{R}\).
Die Dichtefunktion \(f(x)\) weist jedem möglichen Wert \(x\) eine Dichte zu. Einzelne Werte haben Wahrscheinlichkeit 0. Die Wahrscheinlichkeit eines Teilbereichs wird durch den entsprechenden Flächeninhalt unter der Dichtefunktion berechnet: \(P(x\in B)=\int_B f(x)dx\). Die Wahrscheinlichkeit dass irgendeines der möglichen Ereignisse eintritt ist 1.
Die Verteilungsfunktion \(F(x)\) weist jedem Wert \(x\) die Wahrscheinlichkeit zu, dass eine Realisierung \(\leq x\) beobachtet wird: \(F(x)=P(X\leq x)=\int_{-\infty}^x f(x)dx\)
Die Normalverteilung ist der Prototyp einer symmetrischen Verteilung ohne schwere Enden. Sie wird durch ihren Erwartungswert \(\mu\) (entspricht dem Mittelwert von Daten) und ihre Standardabweichung \(\sigma\) beschrieben. Die Normalverteilung mit \(\mu=0\) und \(\sigma=1\) wird Normalverteilung bezeichnet.
Die Wahrscheinlichkeitsfunktionen, bzw. Dichtefunktionen von bekannten Verteilungen enthalten Parameter, die die genaue Form der jeweiligen Funktionen bestimmen.
Es ist eine wichtige Aufgabe, Parameter von Verteilungen zu schätzen: Wenn meine beobachteten Daten unabhängige Realisierungen einer xy-Verteilung sind, was wäre dann der passende Parameter?
Normalverteilung: Der Mittelwert ist ein guter Schätzer für den Erwartungswert. Die Stichprobenstandardabweichung ist ein guter Schätzer für die Standardabweichung.
Binomialverteilung: Die beobachtete relative Häufigkeit von Erfolgen ist ein guter Schätzer für den Parameter \(p\). Die Zahl der Versuche \(n\) ist durch die Anzahl der Beobachtungen gegeben.
Es existieren auch Quantile etc. für Verteilungen. Diese haben dieselbe Interpretation wie ihre empirisch-deskriptiven Gegenstücke.
Eine wichtieg Methode zum Schätzern von Parametern für beliebige Verteilungen ist das Maximum-Likelihood Verfahren.
Statistiken wie Mittelwert oder Standardabweichung werden mithilfe der Daten berechnet, sind also Zufallsvariable sein. Die Verteilung einer Statistik wird Stich-probenverteilung genannt und kann mittels resampling angenähert werden.
Konfidenzintervalle schätzen den Bereich, der mit einer gewissen Wahrscheinlichkeit (der Überdeckungswahrscheinlichkeit) den wahren Parameter einer Verteilung einschließt. Symmetrische Konfidenzintervalle liegen zwischen \(\alpha/2\)- und \((1-\alpha/2)\)-Quantil.
Das geht in R auch ohne beide Quantile spezifizieren zu müssen.
Für große Stichprobenumfänge gibt es auch analytische Berechnungsmethoden für Konfidenzintervalle.
Der Bereich zwischen den entsprechenden Quantilen der ursprünglichen Beobachtungen hat eine andere Interpretation: Hier erwartet man mit entsprechender Wahrscheinlichkeit die nächste Beobachtung.
Das Konzept der Konfidenzintervalle ist auch auf andere Statistiken übertragbar.
sDist <- do(1000) * sd(~Age, data=resample(body_dat))
confint(~sd, data=sDist, level = 0.95, method = "quantile") 2.5% 97.5%
quantile 8.85943 10.33392
Das Konzept der Konfidenzintervalle ist auch auf andere Statistiken übertragbar.
cDist <- do(1000) * cor(Weight~Height, data=resample(body_dat))
histogram(~cor,data=cDist,
xlab = "Korrelation zw. Körpergröße und Gewicht", col="steelblue") 0.5% 99.5%
quantile 0.6580488 0.7746129
Hypothese: Aussage die man “beweisen” will. “Es gibt einen Zusammenhang zwischen Körpergröße und Gewicht”, “Es gibt Gewichtsunterschiede zwischen den Geschlechtern” …
Statistik: Wird aus den beobachteten Daten errechnet und muss zur untersuchten Hypothese passen. Z.B. Korrelation, Mittelwert
Die Alternativhypothese reformuliert die Hypothese als Aussage über die Statistik. Z.B. “Die Korrelation ist nicht Null”, “Die Differenz der Mittelwerte ist nicht Null”.
Die Nullhypothese ist die Gegenaussage zur Alternativhypothese. Z.B. “Die Korrelation ist Null”, “Die Mittelwertsdifferenz ist Null”
Gilt die Nullhypothese, so sollte die Statistik mit großer Wahrscheinlichkeit in einem bestimmten Bereich liegen.
Der p-Wert gibt die Wahrscheinlichkeit an, dass die Statistik außerhalb dieses Bereichs liegt, obwohl die Nullhypothese gilt.
Ist der p-Wert kleiner als das anfänglich gewählte Signifikanzniveau \(\alpha\), kann die Nullhypothese zu Recht abgelehnt werden.
Der einfache Mittelwerttest testet Hypothesen über Erwartungswerte.
Nullhypothese \(\text{H}_0\): Der Erwartungswert \(\mu\) der zugrundeliegenden Verteilung ist gleich/größer gleich/ kleiner gleich einem bestimmten Wert.
Alternativhypothese \(\text{H}_1\): Der Erwartungswert \(\mu\) der zugrundeliegenden Verteilung ist ungleich/kleiner gleich/ größer gleich dem Wert.
\(\text{H}_0: \mu=0\text{ versus H}_1: \mu \neq 0\)
One Sample t-test
data: Weight
t = 116.66, df = 506, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
67.98307 70.31200
sample estimates:
mean of x
69.14753
Damit der Test sinnvoll ist, sollte entweder das Histogramm der Verteilung der Normalverteilungsannahme nicht völlig widersprechen, oder viele Beobachtungen vorhanden sein. Andernfalls sind nichtparametrische Tests zu verwenden.
\(\text{H}_0: \mu=68\text{ versus H}_1: \mu \neq 68\)
One Sample t-test
data: Weight
t = 1.9361, df = 506, p-value = 0.05341
alternative hypothesis: true mean is not equal to 68
95 percent confidence interval:
67.98307 70.31200
sample estimates:
mean of x
69.14753
\(\text{H}_0: \mu\leq 68\text{ versus H}_1: \mu > 68\)
\(\text{H}_0: \mu\geq 68\text{ versus H}_1: \mu < 68\)
One Sample t-test
data: Weight
t = 1.9361, df = 506, p-value = 0.9733
alternative hypothesis: true mean is less than 68
95 percent confidence interval:
-Inf 70.12424
sample estimates:
mean of x
69.14753
Generell gilt:
Sowohl die Hypothese, als auch das Signifikanzniveau von Tests müssen im Vorhinein gewählt werden. Es ist verboten, solange herum zu ändern, bis man ein signifikantes Ergebnis erhält.
unabhängige Stichproben: In zwei Gruppen wird unabhängig voneinander eine numerische Variable erhoben.
(Gewicht von Männern und Frauen, Anzahl Krankenhauseinweisungen südlich und nördlich, Blutdruck mit und ohne Medikament)
Annahme: Werte stammen aus zwei Grundgesamtheiten mit Erwartungswerten \(\mu_1\) und \(\mu_2\).
\(\text{H}_0: \mu_1=\mu_2 \text{ versus H}_1:\mu_1\neq\mu_2\)
Welch Two Sample t-test
data: Height by Gender_fac
t = -21.059, df = 494.73, p-value < 2.2e-16
alternative hypothesis: true difference in means between group weiblich and group männlich is not equal to 0
95 percent confidence interval:
-14.07406 -11.67201
sample estimates:
mean in group weiblich mean in group männlich
164.8723 177.7453
unabhängige Stichproben: In zwei Gruppen wird unabhängig voneinander eine numerische Variable erhoben.
(Gewicht von Männern und Frauen, Anzahl Krankenhauseinweisungen südlich und nördlich, Blutdruck mit und ohne Medikament)
Annahme: Werte stammen aus zwei Grundgesamtheiten mit Erwartungswerten \(\mu_1\) und \(\mu_2\).
\(\text{H}_0: \mu_1\geq\mu_2 \text{ versus H}_1:\mu_1<\mu_2\)
Welch Two Sample t-test
data: Height by Gender_fac
t = -21.059, df = 494.73, p-value < 2.2e-16
alternative hypothesis: true difference in means between group weiblich and group männlich is less than 0
95 percent confidence interval:
-Inf -11.86568
sample estimates:
mean in group weiblich mean in group männlich
164.8723 177.7453
Verbundene (abhängige) Stichproben: Hier wird ein Merkmal an denselben Objekten/Individuen zweimal beobachtet und ein Vergleich der Mittelwerte vorgenommen.
(Gesundheitszustand vor und nach der Gabe von Medikamenten, Maßnahme etc.)
Beispieldaten - Gewicht von Mäusen vor und nach Behandlung
\(\text{H}_0: \mu_{\text{vor}}\geq \mu_{\text{nach}}\text{ versus H}_1: \mu_{\text{vor}}< \mu_{\text{nach}}\)
datMice <- read_excel("data/mice.xlsx")
datMice <- datMice %>%
mutate(Group=factor(Group,levels=c("before","after"))) %>%
pivot_wider(names_from=Group,values_from=Weight)
mosaic::t.test(Pair(before,after)~1, data=datMice, alternative ="less")
Paired t-test
data: Pair(before, after)
t = -20.883, df = 9, p-value = 3.1e-09
alternative hypothesis: true mean difference is less than 0
95 percent confidence interval:
-Inf -177.4177
sample estimates:
mean difference
-194.49
Mit dem Binomialverteilungstest können Häufigkeiten zwischen zwei Gruppen (“Erfolg”, “Misserfolg”) verglichen werden.
Dabei wird angenommen dass die zugrundeliegende Verteilung eine Binomialverteilung mit \(n\) Versuchen und Erfolgswahrscheinlichkeit \(p\) ist.
Hypothesen weren dann über \(p\) formuliert.
Die Wahrscheinlichkeit dass eine zufällig ausgewählte Person weiblich ist (“Erfolg”) unterscheidet sich von \(p=0.5\)
\(\text{H}_0: p\leq 0.5 \text{ versus H}_1: p>0.5\)
data: body_dat$(Gender_fac == "weiblich") [with success = TRUE]
number of successes = 260, number of trials = 507, p-value = 0.5941
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
0.4683602 0.5571305
sample estimates:
probability of success
0.5128205
Aus der amtlichen Statistik wissen wir z.B. dass konsistent mehr Männer geboren werden als Frauen. Unser Testergebnis weist darauf hin, dass wir keine Zufallsstichprobe aus der Grundgesamtheit aller Männer und Frauen betrachten.
Andere Alternativhypothesen können - wie bei Mittelwerttests - durch die Option alternative gewählt werden. Weglassen der Option gibt die zweiseitige Alternative (\(\neq\)).
Oft stehen gerade bei Häufigkeiten bereits ausgezählte Ergebnisse (Anzahl der Erfolge \(x\), Anzahl der Versuche \(n\)) zur Verfügung. Die Funktion binom.test kann dann in abgewandelter Form verwendet werden.
599 mal Erfolg von 1000 Versuchen wurden beobachtet.
\(\text{H}_0: p\leq 0.5 \text{ versus H}_1: p>0.5\)
data: 599 out of 1000
number of successes = 599, number of trials = 1000, p-value = 2.058e-10
alternative hypothesis: true probability of success is greater than 0.5
95 percent confidence interval:
0.5728151 1.0000000
sample estimates:
probability of success
0.599
Berechnen Sie ein 0.99-Konfidenzintervall für den Mittelwert der Körpergröße.
Vergleichen Sie die Mittelwerte des Körpergewichts für Männer und Frauen: Haben Männer ein signifikant größeres mittleres Gewicht? Formulieren Sie Null- und Alternativhypothese und führen Sie einen entsprechenden Test zum Niveau 0.05 durch.
Wie testen Sie die Alternativhypothese, dass es mehr Frauen als Männer gibt anhand der Stichprobe zum Niveau 0.05?
Zum Vergleich von Anteilen zwischen Gruppen gibt es die Funktion pairwise_binom_test.
Die Nullhypothese kann zum Signifikanzniveau \(\alpha\) verworfen werden, wenn der berechnete p-Wert kleiner als das vorab festgelegte (!) Signifikanzniveau (oft 0.05 ist).
Der Fehler erster Art besteht darin, die Nullhypothese fälschlich abzulehnen. Der p-Wert schätzt die Wahrscheinlichkeit dafür anhand der Daten, das Signifikanzniveau ist der im Rahmen der Untersuchung maximale Fehler erster Art, der gerade noch akzeptabel ist.
Der Fehler zweiter Art besteht darin, die Nullhypothese nicht zu verwerfen, obwohl die Alternative gilt.
Ist der berechnete p-Wert größer als das Signifikanzniveau, kann man nur davon sprechen, dass die Nullhypothese durch die Anwendung des Tests auf die Daten nicht widerlegt wird. Es handelt sich um keine Bestätigung der Nullhypothese!
Grund: Der Fehler zweiter Art kann hoch sein
Die Wahrscheinlichkeiten für die beiden Fehler sind gegenläufig.
Den Fehler zweiter Art kann man in erster Linie durch eine große Stichprobe senken.
Fehler und Güte von Hypothesentests (Quelle: Wikipedia)
Oft soll aus einer relativ kleinen Zahl von Beobachtungen/Individuen (Stichprobe), Rückschlüsse auf eine größere Gesamtheit (Grundgesamtheit) gezogen werden.
Die schließende Statistik liefert die technischen Voraussetzungen. Die Auswahl der beobachteten Individuen kann aber Sinnhaftigkeit und Verlässlichkeit beeinflussen.
Prinzipiell muss sichergestellt sein, dass die relevante Gruppe untersucht wird.
Die Auswahl sollte zu keinen Verzerrungen der untersuchten Merkmals führen.
Goldstandard ist die Zufallsstichprobe: zufälliges Ziehen aus einem Register der Grundgesamtheit. Grundgesamtheit, ihr Umfang, sowie die Größe der Stichprobe sind im Vorhinein festzulegen. Für Befragungen: Der Rücklauf ist im Nachhinein zu ermitteln.
Bei geschichteten Zufallsstichproben wird für relevante Merkmale (kleine Gruppen) im Vorhinein eine Anzahl von Teilnehmern festgelegt und dann zufällig anhand dieser Richtlinien gezogen.
In der betrieblichen Statistik zielt die Untersuchung meist von Vornherein auf die Grundgesamtheit im Betrieb (z.B. Sekundärdaten, Mitarbeiterbefragung)
Gerade zum Vergleich zwischen Gruppen werden in Gesundheitsfächern sehr oft Experimente herangezogen.
Laborexperimente erlauben die Kontrolle von Störvariablen (interne Validität), wahrend Feldexperimente dies nicht so gut ermöglichen, dafür aber in natürlicher Umgebung stattfinden und leichter Verallgemeinerbar sind (externe Validität).
Experiment im strengen Sinn: Die experimentellen Behandlungsbedingungen werden den Gruppen (Kategorien) zugewiesen. Die TeilnehmerInnen werden zufällig den Gruppen zugewiesen.
Doppelblindstudie: Sowohl die TeilnehmerInnen, als auch Personen, die sie betreuen wissen nicht, welche Behandlungsbedingung zu welcher Gruppe zugeordnet wurde.
Wenn die Gruppen bereits organisatorisch vorgegeben sind, eine randomisierte Zuordnung also nicht möglich ist, spricht man von einem Quasi-Experiment. Hier können Störgrößen schwer kontrolliert werden.
Klassische Vorgehensweise:
Formuliere eine Hypothese
Sammle Daten - möglichst randomisiert
Teste die Hypothese an den Daten
Explorative Untersuchung:
Sammle Daten oder benutze zur Verfügung stehende Daten
Suche nach Zusammenhängen und Hypothesen
Teste die Hypothesen
Wenn ich lange genug nach Hypothesen suche, finde ich auch welche, die ich signifikant bestätigen kann (p-hacking). Es ist wichtig die Daten zu teilen (gesondert zu erheben):
Daten für explorative/deskriptive Phase (in sample)
Daten für Hypothesentests (out of sample)
Aufteilen eines (großen!) Datensatzes in zwei Teile
Trainingsdatensatz für die explorative Analyse und Modellierung
Testdatensatz zum Testen von Hypothesen und Modellen
Zum splitting von zeitlichen Daten kann die Funktion initial_time_split verwendet werden.
Vor der Durchführung von Tests (eventuell nach einer explorativen Phase) zu überlegen
Welche Hypothesen (beziehen sich auf Parameter) muss ich testen, um meine inhaltlichen Forschungsfragen testen zu können?
Was ist die Grundgesamtheit
Wie komme ich zur Stichprobe
Wie groß soll meine Stichprobe sein?
Auf welchem Signifikanzniveau teste ich?
Diese Fragen sind fortlaufend kritisch zu überdenken. Eventuell muss die Grundgesamtheit eingeschränkt werden etc.
Lineare Einfachregression modelliert den Zusammenhang zwischen zwei numerischen Variablen \(Y\) und \(X\) mithilfe einer linearen Funktion.
\[ Y_i=\alpha + \beta X_i+\varepsilon_i \]
Hier bezeichnet \(X_i\) die i-te Beobachtung der unabhängigen Variable. \(Y_i\) bezeichnet die i-te Beobachtung der abhängigen Variablen \(Y\). Die Residuen \(\varepsilon_i\) sind zufällige i.i.d. \(N(0,\sigma^2)\) Abweichungen von der Regressionsgerade. \(\alpha\) und \(\beta\) sind die Regressionsparameter. \(\alpha\) wird auch als Intercept bezeichnet.
Welche Regressionsgerade passt am Besten in die Punktwolke?
Call:
lm(formula = Weight ~ Height, data = body_dat)
Residuals:
Min 1Q Median 3Q Max
-18.743 -6.402 -1.231 5.059 41.103
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -105.01125 7.53941 -13.93 <2e-16 ***
Height 1.01762 0.04399 23.14 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.308 on 505 degrees of freedom
Multiple R-squared: 0.5145, Adjusted R-squared: 0.5136
F-statistic: 535.2 on 1 and 505 DF, p-value: < 2.2e-16
Die Regressionsgleichung unseres Modells:\[ Weight_i= -105.011 + 1.01762 \cdot Height_i + \varepsilon_i \]
Konfidenzintervalle für die Regressionsparameter
Interpretation der geschätzten Regressionsparameter:
\(\alpha\): Wenn die unabhägige Variable Null ist, was ist der Wert für die abhängige Variable?
\(\beta\): Wenn sich die abhängige Variable um eine Einheit ändert, um wieviel ändert sich die unabhängige Variable im Schnitt.
Im Beispiel: Das Gewicht ändert sich durchschnittlich um 1.02 kg, wenn sich die Körpergröße um 1 cm ändert.
Weitere Informationen aus dem Modell: Signifikanz der Ergebnisse
\(R^2\): Das Quadrat der Korrelation zwischen den beiden Variablen. Gibt an, welcher Anteil der Gesamtvarianz durch das lineare Modell erklärt wird. Der F-Test (p-value) testet die Nullhypothese dass die wahre Korrelation Null ist - also kein Zusammenhang besteht.
t-Test: Zu jedem Regressionsparamter wir ein p-Wert (Pr(>|t||)) ausgewiesen. Der t-Test testet die Nullhypothese, dass der betreffende Parameter in Wirklichkeit Null ist.
Wenn mehrere unabhängige Variable \(X^{(1)},X^{(2)},\dots,X^{(n)}\) betrachtet werden, spricht man von Mehrfachregression (multipler Regression).\[Y_i=\beta_0+\beta_1 X^{(1)}+\beta_2 X^{(2)}+\dots+\beta_nX^{(n)}+\varepsilon_i\]
Call:
lm(formula = Weight ~ Height + Age, data = body_dat)
Residuals:
Min 1Q Median 3Q Max
-19.996 -5.909 -1.321 5.055 41.285
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -109.06383 7.38820 -14.76 < 2e-16 ***
Height 1.00227 0.04297 23.33 < 2e-16 ***
Age 0.22127 0.04207 5.26 2.14e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.072 on 504 degrees of freedom
Multiple R-squared: 0.5398, Adjusted R-squared: 0.538
F-statistic: 295.6 on 2 and 504 DF, p-value: < 2.2e-16
\[ Weight_i=-109+1.00\cdot Height + 0.22\cdot Age+\varepsilon_i \]
\(0.95\)-Konfidenzintervall für alle Regressionsparameter:
2.5 % 97.5 %
(Intercept) -123.5792876 -94.5483638
Height 0.9178550 1.0866946
Age 0.1386185 0.3039214
Im geschätzen Modell ist sowohl der Erklärungsgrad des Modells \(R^2\) hochsignifikant von 0 verschieden, als auch sämtliche Modellparameter. \(R^2\) - der Anteil der erklärten Variabilität - hat sogar leicht zugenommen.
Ist das Modell mit Altersvariable also besser als das Modell ohne Altersvariable?
Mittels Varianzanalyse (Vergleich der nicht erklärten Varianzen), bzw. F-Test wird der Effekt von zusätzlichen Variablen verifiziert.
Nullhypothese: Die Einführung der zusätzlichen Variablen Alter (Age) bringt keinen signifikanten Erklärungszuwachs.
mod1 <- lm(Weight ~ Height, data=body_dat)
mod2 <- lm(Weight ~ Height + Age, data=body_dat)
anova(mod1,mod2)Analysis of Variance Table
Model 1: Weight ~ Height
Model 2: Weight ~ Height + Age
Res.Df RSS Df Sum of Sq F Pr(>F)
1 505 43753
2 504 41476 1 2276.7 27.665 2.136e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Hier kann die Nullhypothese mit hoher Signifikanz verworfen werden und man kann daher davon ausgehen, dass das Alter mit ~+0.22 kg/Jahr eine Rolle spielt.
Residual versus Fitted: Verläuft die rote Linie annähernd horizontal, kann man davon ausgehen, dass ein linearer Zusammenhang vorliegt.
Normal-QQ-Plot: Wenn die geplotteten Residuenpunkte ungefähr entlang der Geraden liegen, kann man davon ausgehen, dass die Normalverteilungsannahme annähernd erfüllt ist.
Scale-Location Plot: Wenn die rote Linie ungefähr horizontal verläuft, kann man von einheitlicher Varianz (Heteroskedastizität) der Residuen ausgehen.
Residuals versus Leverage Plot: Beobachtungen , die außerhalb der Cook’s distance (dashe lines) liegen, haben großen EInfluss und können Lage und Steigung der geschätzen Geraden stark verändern.
Der Einfluss von kategorialen Variablen kann ebenfalls mittels Regressionsmodellen untersucht werden.
Für jede kategoriale Variable ist eine Faktorausprägung (die erste - entweder alphabetisch, oder nach der Reihung der levels) als Bezugsausprägung (“Kontrollgruppe”) ausgezeichnet.
Der geschätzte Intercept ist ein Schätzer für den Erwartungswert der abhängigen Variablen in der Kontrollgruppe.
die Regressionsparameter zeigen die additiven Zusatzeffekte auf den Erwartungswert im Vergleich zur Kontrollgruppe der jeweiligen Variable an.
Wir haben Unterschiede zwischen den Mittelwerten bereits durch t-Tests behandelt. Hier untersuchen wir dieselbe Frage mittels Regressionsmodell.
Der Vorteil von Regressionsmodellen liegt darin, dass auch Mittelwertsvergleiche für Variable mit mehr als zwei Ausprägungen untersucht werden können.
Call:
lm(formula = Weight ~ Gender_fac, data = body_dat)
Residuals:
Min 1Q Median 3Q Max
-24.245 -6.345 -1.400 6.355 44.600
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 60.6004 0.6241 97.11 <2e-16 ***
Gender_facmännlich 17.5441 0.8941 19.62 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 10.06 on 505 degrees of freedom
Multiple R-squared: 0.4326, Adjusted R-squared: 0.4315
F-statistic: 385 on 1 and 505 DF, p-value: < 2.2e-16
Oft werden numerische und kategoriale Variable gemeinsam als unabhängige Variable analysiert.
Gibt es signifikante Unterschiede zwischen Modellen für unterschiedliche Gruppen?
Unterschiede im Intercept-Term (Achsenabschnitt \(\beta_0\)) - direkter Effekt der kategorialen Variablen
Wechselwirkungen: Unterschiede in der Steigung der Geraden zwischen verschiedenen Gruppen
Call:
lm(formula = Weight ~ Height * Gender_fac, data = body_dat)
Residuals:
Min 1Q Median 3Q Max
-20.187 -5.957 -1.439 4.955 43.355
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -43.81929 13.77877 -3.180 0.00156 **
Height 0.63334 0.08351 7.584 1.63e-13 ***
Gender_facmännlich -17.13407 19.56250 -0.876 0.38152
Height:Gender_facmännlich 0.14923 0.11431 1.305 0.19233
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.795 on 503 degrees of freedom
Multiple R-squared: 0.5682, Adjusted R-squared: 0.5657
F-statistic: 220.7 on 3 and 503 DF, p-value: < 2.2e-16
Gibt es signifikante Unterschiede zwischen Modellen für unterschiedliche Gruppen?
Unterschiede im Intercept-Term (Achsenabschnitt \(\beta_0\)) - direkter Effekt der kategorialen Variablen
Wechselwirkungen: Unterschiede in der Steigung der Geraden zwischen verschiedenen Gruppen
Call:
lm(formula = Weight ~ I(Height - 150) * Gender_fac, data = body_dat)
Residuals:
Min 1Q Median 3Q Max
-20.187 -5.957 -1.439 4.955 43.355
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 51.18121 1.35645 37.732 < 2e-16 ***
I(Height - 150) 0.63334 0.08351 7.584 1.63e-13 ***
Gender_facmännlich 5.25070 2.61614 2.007 0.0453 *
I(Height - 150):Gender_facmännlich 0.14923 0.11431 1.305 0.1923
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.795 on 503 degrees of freedom
Multiple R-squared: 0.5682, Adjusted R-squared: 0.5657
F-statistic: 220.7 on 3 and 503 DF, p-value: < 2.2e-16
Formulieren und berechnen Sie das lineare Modell mit Körpergröße (ab 150 cm) als abhängige Variable und Gewicht (ab 50 kg) und Geschlecht als unabhängige Variable (ohne Wechselwirkung)
Formulieren und berechnen Sie ein Modell für das Gewicht als abhängige Variable, das Körpergröße (ab 150 cm) und Alter (ab 20 Jahre) , sowie alle Wechselwirkungen mit dem Geschlecht als unabhängige Variable enthält.
Eine Vierfeldertafel ist eine Kreuztabelle, in der Häufigkeiten in Bezug auf zwei kategoriale Merkmale (factor) mit jeweils zwei Ausprägungen dargestellt (ohne Randverteilungen und totals) werden.
Sind Daten über Einzelbeobachtungen gegeben
Merkmal 1 wird dabei als unabhängige Variable betrachtet, deren Einfluss auf Merkmal 2 man untersuchen möchte.
In einem Kontrollexperiment dient dabei
die erste Kategorie von Merkmal 1 als Kontrollgruppe (Placebo, oder bisherige Behandlung), die zweite Kategorie definiert die Experimentalgruppe.
Die erste Kategorie von Merkmal 2 kennzeichnet in einer Kontrollstudie “Erfolge”. Je nach Untersuchungsgegenstand können Erfolge auch negativ besetzt sein (z.B. Tote)
| Erfolg | kein Erfolg | |
| Kontrollgruppe | a | b |
| Experimentalgruppe | c | d |
Geschätzte Wahrscheinlichkeiten für Erfolg
| in der Kontrollgruppe | in der Experimentalgruppe |
|---|---|
| \(P_K=\frac{a}{a+b}\) | \(P_E=\frac{c}{c+d}\) |
Das relative Risiko gibt an, wieviel mal größer (kleiner) die Erfolgswahrscheinlichkeit in der Experimentalgruppe ist.\[R_R=\frac{P_E}{P_K}\]
| Erfolg | kein Erfolg | |
|---|---|---|
| Kontrollgruppe | a | b |
| Experimentalgruppe | c | d |
Die odds (Wettquoten) geben an, wieviel mal wahrscheinlicher ein Erfolg gegenüber keinem Erfolg in den beiden Gruppen ist:
| in der Kontrollgruppe | in der Experimentalgruppe |
|---|---|
| \(O_K=\frac{a}{b}\) | \(O_E=\frac{c}{d}\) |
Das Verhältnis der odds wird odds ratio genannt und gibt an, wieviel mal höher (>1) bzw. niedriger (<1) die odds in der Experimentalgruppe gegenüber der Kontrollgruppe sind.
\[ OR=\frac{O_E}{O_K} \]
Mittels \(\chi^2\)-Test kann getestet werden, ob Häufigkeitsunterschiede in einer Kreuztabelle zufällig zustande kommen, oder ob es berechtigt ist, von systematischen Unterschieden zu sprechen.
Die Nullhypothese ist hier, dass die Unterschiede zufällig durch unabhängige Zufallsvariable zustande kommen. Ist der p-Wert klein genug, kann von systematischen Unterschieden ausgegangen werden.
\(\chi^2\)-Tests können ganz allgemein zum Vergleich von beobachteten und erwarteten Verteilungen verwendet werden. Wir betrachten allerdings nur die Anwendung auf Vierfeldertafeln.
Alle Felder sollten Besetzungszahlen >5 haben. Für kleinen Stichprobenumfang sollte Fisher’s exakter Test verwendet werden.
Kreuztabellen werden mittels tally (siehe oben) erzeugt. Dabei sollte eine einfache Häufigkeistabelle ohne Randwerte erzeugt werden.
Height_fac
Gender_fac (0,160] (160,180] (180,200]
weiblich 70 188 2
männlich 2 153 92
Ein \(\chi^2\)-Test kann dann folgendermaßen durchgeführt werden:
Der Fisher-Test für kleine Stichprobengrößen kann in derselben Weise mittels der Funktion fisher.test durchgeführt werden.
Daten über die Verhinderung von Todesfällen nach Myokardinfarkten (7 Studien)
| Source | dp | tp | da | ta |
|---|---|---|---|---|
| \cite{HSAuR:Elwoodetal1974} | 67 | 624 | 49 | 615 |
| \cite{HSAuR:Coronary1976} | 64 | 77 | 44 | 757 |
| \cite{HSAuR:ElwoodSweetman1979} | 126 | 850 | 102 | 832 |
| \cite{HSAuR:Breddinetal1979} | 38 | 309 | 32 | 317 |
| \cite{HSAuR:Persantine1980} | 52 | 406 | 85 | 810 |
| \cite{HSAuR:Aspirin1980} | 219 | 2257 | 346 | 2267 |
| \cite{HSAuR:ISIS21988} | 1720 | 8600 | 1570 | 8587 |
Daten über die Verhinderung von Todesfällen nach Myokardinfarkten
dp: Anzahl der Toten nach Verabreichung von Placebos
tp: Anzahl der mit Placebo behandelten PatientInnen
da: Anzahl der Toten nach Verabreichung von Aspirin
ta: Anzahl der mit Placebo behandelten PatientInnen
aspTot <- aspirin %>% transmute(dp,ap=tp-dp,da,aa=tp-da) %>%
summarize(dp=sum(dp),ap=sum(ap),da=sum(da),aa=sum(aa)) %>%
as.numeric() %>% matrix(nrow=2,byrow=T)
colnames(aspTot)=c("tot","lebend"); rownames(aspTot) <- c("Placebo","Aspirin")
aspTot %>% nice| tot | lebend | |
|---|---|---|
| Placebo | 2286 | 10837 |
| Aspirin | 2228 | 10895 |
Odds Ratio
Proportions
Prop. 1: 0.1742
Prop. 2: 0.1698
Rel. Risk: 0.9746
Odds
Odds 1: 0.2109
Odds 2: 0.2045
Odds Ratio: 0.9694
95 percent confidence interval:
0.9242 < RR < 1.028
0.9092 < OR < 1.034
NULL
[1] 0.9694397
Pearson's Chi-squared test with Yates' continuity correction
data: aspTot
X-squared = 0.86926, df = 1, p-value = 0.3512
In einer (hypothetischen) Umfrage wurde die Zufriedenheit abgefragt:
| zufrieden | nicht zufrieden | |
| Frauen | 102 | 234 |
| Männer | 89 | 170 |
Die Vierfeldertafel kann kann folgendermaßen erzeugt (und an die Testfunktion und odds-ratio Funktion übergeben werden)
Wie schätzen Sie die Zufriedenheit im Vergleich zwischen den Geschlechtern (anhand des relativen Risikos und/oder der odds ratio) ein. Die Aussage “zufrieden” gilt hier als Erfolg.
Ist ein etwaiger Unterschied auch signifikant?
Copyright: Raimund Kovacevic