class: center, middle, inverse, title-slide # Gemischte Modelle ### Statistik mit R
The R Bootcamp
### Mai 2020 --- layout: true <div class="my-footer"> <span style="text-align:center"> <span> <img src="https://raw.githubusercontent.com/therbootcamp/therbootcamp.github.io/master/_sessions/_image/by-sa.png" height=14 style="vertical-align: middle"/> </span> <a href="https://therbootcamp.github.io/"> <span style="padding-left:82px"> <font color="#7E7E7E"> www.therbootcamp.com </font> </span> </a> <a href="https://therbootcamp.github.io/"> <font color="#7E7E7E"> Statistik mit R | Mai 2020 </font> </a> </span> </div> --- # Ein Beispiel zur Datenerhebung <br> .pull-left45[ <p align = "center"> <img src="image/example1.png" width=450px><br> </p> ] .pull-right45[ <p align = "center"> <img src="image/example2.png" width=450px><br> </p> ] --- # [IID](https://de.wikipedia.org/wiki/Unabh%C3%A4ngig_und_identisch_verteilte_Zufallsvariablen) Annahme .pull-left45[ Bisherige Regressionsmodelle machen die Annahme, dass die Residuen unabhängig und gleichverteilt sind (independent and identically distributed, <high>iid</high>). <ul> <li class="m1"><span><high>Unabhängig</high>: Das Auftreten eines Wertes hat keinen Einfluss auf das Auftreten anderer Werte.</span></li> <li class="m2"><span><high>Gleichverteilt</high>: Alle Datenpunkte stammen aus derselben Wahrscheinlichkeitsverteilung.</span></li> </ul> Bisherige Modelle sind gegenüber der Verletzung der Unabhängigkeitsannahme <high>nicht robust</high>. ] .pull-right45[ <img src="image/iid_plot.png" width="100%" style="display: block; margin: auto;" /> ] --- # Beispiele von Daten, bei denen die IID.-Annahme verletzt ist .pull-left55[ <br> <ul> <li class="m1"><span>Leistung von Schülern in der PISA Studie(<high>Schüler > Klassen > Schulen > Ländern</high>).</span></li> <li class="m2"><span>Multizentrische klinische Studie (<high>Patienten > Ärzte > Zentrum</high>).</span></li> <li class="m3"><span>Vergleich unterschiedlicher Designs oder Geschmäcker eines Produkts mit <high>mehreren Einschätzungen pro Person</high>.</span></li> </ul> **Wichtig**: *Verletzungen der IID-Annahme können zu irreführenden Resultaten führen, z.B. dem Unterschätzen des Standardfehlers.* ] .pull-right35[ <p align = "center"> <img src="image/pisa.png" height=100px><br> <font style="font-size:10px">from <a href="https://de.wikipedia.org/wiki/PISA-Studien">wikipedia.org</a></font> </p> <p align = "center"> <img src="image/multi-arm-trial.jpg" height=100px><br> <font style="font-size:10px">from <a href="https://www.mssociety.org.uk/research/latest-research/latest-research-news-and-blogs/first-multi-drug-clinical-trial-in-ms-successfully-completed">mssociety.org.uk</a></font> </p> <p align = "center"> <img src="image/sweets.jpg" height=100px><br> <font style="font-size:10px">from <a href="https://londonist.com/london/free-and-cheap/this-5-metre-high-pick-n-mix-wall-has-half-a-tonne-of-free-sweets">londonist.com</a></font> </p> ] --- # Beispiel - Multizentrische klinische Studie .pull-left45[ <br> Wir wollen die Effektivität unterschiedlicher Dosierungen eines Medikamentes evaluieren. Dazu haben wir Daten über drei Zentren. So würden wir eine Regression über alle Zentren rechnen (aber ist dies eine gute Idee?): ```r mod <- lm(formula = Merkmal ~ Dosis, data = DATEN_ZENTREN) ``` ] .pull-right45[ <br> <p align="center"> <img src="GemischteModelle_files/figure-html/unnamed-chunk-3-1.png" width="100%" /> </p> ] --- # Beispiel - Multizentrische klinische Studie .pull-left45[ Wir wollen die Effektivität unterschiedlicher Dosierungen eines Medikamentes evaluieren. Dazu haben wir Daten über drei Zentren. So würden wir eine Regression pro Zentrum rechnen (aber ist dies eine gute Idee?): ```r mod_s1 <- lm(formula = Merkmal ~ Dosis, data = DATEN_ZENTRUM1) mod_s2 <- lm(formula = Merkmal ~ Dosis, data = DATEN_ZENTRUM2) mod_s3 <- lm(formula = Merkmal ~ Dosis, data = DATEN_ZENTRUM3) ``` ] .pull-right45[ <br> <p align="center"> <img src="GemischteModelle_files/figure-html/unnamed-chunk-5-1.png" width="100%" /> </p> ] --- # Gemischtes Modell .pull-left5[ Gemischte Modelle (mixed effects models) bieten eine bessere Möglichkeit Daten zu analysieren, welche die IID Annahme verletzen. Gemischte Modelle kombinieren zwei Arten von Effekten, die unterschiedliche Zwecke erfüllen: <ul> <li class="m1"><span><high>Feste Effekte (fixed effects)</high> <br><br> <ul class="level"> <li><span>Die Globaleffekte, welche wir quantifizieren möchten.</span></li> </ul> </span></li> </ul> <ul> <li class="m2"><span><high>Zufällige Effekte (random effects)</high> <br><br> <ul class="level"> <li><span>Berücksichtigung der Abhängigkeiten in den Daten.</span></li> <li><span>Diejenigen Effekte, über welche wir generalisieren möchten.</span></li> </ul> </span></li> </ul> ] .pull-right45[ ```r # feste Effekte LMM <- lmer(formula = y ~ FE1 + FE2 + # zufällige Effekte (FE1|RE) + (FE2|RE), data = DATEN) ``` <p align="center"> <img src="GemischteModelle_files/figure-html/unnamed-chunk-7-1.png" width="100%" /> </p> ] --- # Feste Effekte .pull-left5[ <br> Feste Effekte repräsentieren dieselben Gruppeneffekte wie bei den bisherigen Regressionsmodellen; zum Beispiel den Effekt eines Medikamentes auf ein relevantes Merkmal. Bis jetzt haben wir ausschliesslich Modelle mit festen Effekten betrachtet. ```r mod <- lm(formula = Merkmal ~ Dosis, data = DATEN_ZENTREN) ``` ] .pull-right45[ <br> <p align="center"> <img src="GemischteModelle_files/figure-html/unnamed-chunk-9-1.png" width="100%" /> </p> ] --- # Beispieldaten .pull-left45[ Wir möchten den Einfluss von Alkoholkonsum auf Filmrezensionen auf [Rotten Tomatoes](https://www.rottentomatoes.com/) untersuchen. Wir rekrutieren zwei Versuchspersonen, die je zwei Filme beurteilen, und zwar einmal im nüchternen Zustand und einmal nachdem sie 4 kleine Biere getrunken haben. <ul> <li class="m1"><span>Wiederholte Messung (<i>within subjects design</i>).</span></li> <li class="m2"><span>Dieselben Filme an beiden Zeitpunkten für beide VPs.</span></li> </ul> ] .pull-right45[ <img src="image/dat_plot.png" width="100%" style="display: block; margin: auto;" /> ] --- # Modell mit ausschliesslich festen Effekten <img src="image/FE_plot.png" width="70%" style="display: block; margin: auto;" /> --- # Zufällige Effekte .pull-left45[ Kontrollieren für Quellen, die Abhängigkeiten in den Daten verursachen können, unter der Annahme, dass aus diesen Quellen zufällig gezogen wird. Dabei sind wir nicht direkt an den konkreten Werten der zufälligen Effekte interessiert. Zufällige Effekte: <ul> <li class="m1"><span>Sind häufig der Teil, über welchen wir generalisieren möchten.</span></li> <li class="m2"><span>Sind immer kategoriale Variablen (<high>factors</high>).</span></li> <li class="m3"><span>Repräsentieren zufällige Ziehungen aus der Population.</span></li> </ul> ] .pull-right45[ <img src="image/MEM_example.png" width="100%" style="display: block; margin: auto;" /> ] --- # Zufällige Effekte .pull-left45[ Kontrollieren für Quellen, die Abhängigkeiten in den Daten verursachen können, unter der Annahme, dass aus diesen Quellen zufällig gezogen wird. Dabei sind wir nicht direkt an den konkreten Werten der zufälligen Effekte interessiert. ><i>Durch das Spezifizieren zufälliger Effekte in unserem Modell sind wir in der Lage, die Eigenheiten unserer Stichprobe auszublenden und eine allgemeinere Schätzung der festen Effekte zu erhalten.</i> <font style="font-size:10px"><a href="http://davidkellen.org/wp-content/uploads/2017/04/introduction-mixed-models.pdf">Singmann & Kellen, 2017 ] .pull-right45[ <img src="image/MEM_example.png" width="100%" style="display: block; margin: auto;" /> ] --- # Zufällige Effekte - Intercepts und Slopes .pull-left45[ Wir unterscheiden zwischen zwei Arten zufälliger Effekte: <ul> <li class="m1"><span><high>Random Intercepts</high> <br><br> <ul class="level"> <li><span>Geschätzte durchschnittliche Abweichung jedes Faktorlevels des zufälligen Effekts vom Intercept des festen Effekts.</span></li> </ul> </span></li> </ul> <ul> <li class="m2"><span><high>Random Slopes</high> <br><br> <ul class="level"> <li><span>Geschätzte Abweichung jedes Faktorlevels des zufälligen Effektes vom Slope des festen Effekts.</span></li> </ul> </span></li> </ul> ] .pull-right45[ <img src="image/RI_example.png" width="65%" style="display: block; margin: auto;" /> <img src="image/MEM_example.png" width="65%" style="display: block; margin: auto;" /> ] --- # Modell mit Random Intercepts .pull-left45[ <img src="image/subj_RI_plot.png" width="100%" style="display: block; margin: auto;" /> <p align = "center"> <figcaption align = "center" style="display: block; margin: auto;">Random Intercepts über Probanden</figcaption> </p> ] .pull-right45[ <img src="image/mov_RI_plot.png" width="100%" style="display: block; margin: auto;" /> <p align = "center"> <figcaption align = "center" style="display: block; margin: auto;">Random Intercepts über Filme</figcaption> </p> ] --- # Modell mit Random Intercepts und Random Slopes .pull-left45[ <img src="image/subj_RI_RS_plot.png" width="100%" style="display: block; margin: auto;" /> <p align = "center"> <figcaption align = "center" style="display: block; margin: auto;">Random Intercepts und Slopes über Probanden</figcaption> </p> ] .pull-right45[ <img src="image/mov_RI_RS_plot.png" width="100%" style="display: block; margin: auto;" /> <p align = "center"> <figcaption align = "center" style="display: block; margin: auto;">Random Intercepts und Slopes über Filme</figcaption> </p> ] --- # Modell mit gekreuzten zufälligen Effekten <img src="image/cr_RI_RS_plot.png" width="70%" style="display: block; margin: auto;" /> --- # Regressionsgleichung des gemischten Modells <br><br><br> <img src="image/Cr_RI_RS.png" width="80%" style="display: block; margin: auto;" /> --- # Regressionsgleichung des gemischten Modells <br><br><br> <img src="image/form1.png" width="100%" style="display: block; margin: auto;" /> --- # Regressionsgleichung des gemischten Modells <br><br><br> <img src="image/form2.png" width="100%" style="display: block; margin: auto;" /> --- # Regressionsgleichung des gemischten Modells <br><br><br> <img src="image/form3.png" width="100%" style="display: block; margin: auto;" /> --- # Regressionsgleichung des gemischten Modells <br><br><br> <img src="image/form4.png" width="100%" style="display: block; margin: auto;" /> --- # Regressionsgleichung des gemischten Modells <br><br><br> <img src="image/form5.png" width="100%" style="display: block; margin: auto;" /> --- # Regressionsgleichung des gemischten Modells <br><br><br> <img src="image/form6.png" width="100%" style="display: block; margin: auto;" /> --- # Regressionsgleichung des gemischten Modells <br><br><br> <img src="image/form7.png" width="100%" style="display: block; margin: auto;" /> --- # Gekreuzte vs. Hierarchische Zufällige Effekte <br> .pull-left35[ <img src="image/crossed_RE.png" width="85%" style="display: block; margin: auto;" /> <p align = "center"> <figcaption align = "center" style="display: block; margin: auto;">Crossed Random Effects</figcaption> </p> <br><br> **Gekreuzte zufällige Effekte:** Alle Modellstrukuren mit multiplen zufälligen Effekten, welche nicht geschachtelt sind. ] .pull-right55[ <img src="image/nested_RE.png" width="100%" style="display: block; margin: auto;" /> <p align = "center"> <figcaption align = "center" style="display: block; margin: auto;">Nested Random Effects</figcaption> </p> <br><br> **Hierarchische zufällige Effekte:** Jedes Level eines untergeordneten Faktors erscheint in nur einem level des übergeordneten Faktors (geschachtelte Ebenen). ] --- # Auswahl der Struktur der zufälligen Effekte .pull-left45[ Es ist wichtig, die korrekte Struktur der zufälligen Effekte festzulegen. Ansonsten kann es zu einer `\(\alpha\)`-Fehler-Inflation oder einer Power-Deflation kommen. Es wurde argumentiert, dass man die <high>maximale Struktur der zufälligen Effekte spezifizieren sollte, die durch das Design gerechtfertigt ist (*maximal model*; [Barr et al., 2014](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3881361/pdf/nihms533954.pdf)). Dies kann jedoch zu konservativ sein, wenn die maximale Struktur nicht in den Daten vorhanden ist. Ein Kompromiss findet sich in der Durchführung eines <high>Rückwärtsauswahlverfahrens</high> (siehe [Matuschek, Kliegl, Vasishth, Baayen, & Bates, 2017](https://www.sciencedirect.com/science/article/pii/S0749596X17300013)). ] .pull-right45[ <br> <p align = "center"> <img src="image/maximum_minimum.jpg" height=200px><br> <font style="font-size:10px">from <a href="https://www.shutterstock.com/de/search/maximum.+minimum.?studio=1">shutterstock.com</a></font> </p> ] --- # Gemischte Modelle in R .pull-left45[ <br> Auswahl an Paketen zur Berechnung gemischter Modelle: | Package| Function| |:------|:----| | [lme4](https://CRAN.R-project.org/package=lme4)| `glmer()`, `lmer()`| | [afex](https://CRAN.R-project.org/package=afex)| `mixed()`| | [rstanarm](https://CRAN.R-project.org/package=rstanarm)| `stan_glmer()`, `stan_lmer()` | | [brms](https://CRAN.R-project.org/package=brms)| `brm()`| ] .pull-right5[ <br> ```r # Gemischtes Modell mit lme4::lmer() # feste Effekte LMM_out <- lmer(formula = Reaction ~ Days + # Random Intercepts und Slopes für ID (Days|Subject), # Daten data = sleepstudy) # Output summary(LMM_out) ``` ] --- # Zufällige Effekte in <high>lme4</high> Zufällige Effekte werden mit einem neuen Element in den Formeln spezifiziert: | Formel | Bedeutung | |:----------|:-------------------| | `(1 `|` S)` | Random intercepts über `S` | | `(1 `|` S) + (1 `|` I)` | Random intercepts über `S` und `I`| | `(X1 `|` S)` OR `(1 + X1`|` S)`| Random intercepts über `S` und random slopes für `X1` über `S` mit Korrelationen | | `(X1 * X2 `|` S)`| Random intercepts über `S` and random slopes für `X1`, `X2`, and deren Interaktion `X1:X2` über `S` mit Korrelationen | | `(0 + X1 `|` S)`| Random slopes für `X1` über `S`, keine random intercepts | | `(X1 `||` S)`| Random intercepts über `S` und random slopes für `X1` über `S` keine Korrelationen | | `(1 `|` S/C)` OR `(1 `|` S) + (1 `|` S:C)`| Random intercepts über `S` und `C` mit `C` geschachtelt unter `S` | --- # Gemischte Modelle in R - Ein Beispiel .pull-left45[ <br> Wir wollen das <high>tomatometer</high> Rating vorhersagen, mit <high>zustand</high> als festen Effekt und mit random intercepts und random slopes über Rater (<high>id</high>), sowie random intercepts und random slopes über Item (<high>film</high>). <p align = "center"> <img src="image/interstellar.png" height=200px><br> <font style="font-size:10px">from <a href="https://www.rottentomatoes.com/m/interstellar_2014">rottentomatoes.com</a></font> </p> ] .pull-right5[ <br> *Was denkt ihr ist die korrekte Modellspezifikation?* ```r # Gemischtes Modell mit lme4::lmer() # Feste Effekte LMM <- XXX(formula = XXX ~ XXX + # Random intercepts und slopes über id (XXX) + # Random intercepts und slopes über film (XXX), # Daten data = tomato) # Output summary(LMM) ``` ] --- # Gemischte Modelle in R - Ein Beispiel .pull-left45[ <br> Wir wollen das <high>tomatometer</high> Rating vorhersagen, mit <high>zustand</high> als festen Effekt und mit random intercepts und random slopes über Rater (<high>id</high>), sowie random intercepts und random slopes über Item (<high>film</high>). <p align = "center"> <img src="image/interstellar.png" height=200px><br> <font style="font-size:10px">from <a href="https://www.rottentomatoes.com/m/interstellar_2014">rottentomatoes.com</a></font> </p> ] .pull-right5[ <br> *So können wir das Modell in R spezifizieren:* ```r # Gemischtes Modell mit lme4::lmer() # Feste Effekte LMM <- lmer(formula = tomatometer ~ zustand + # Random intercepts und slopes über id (zustand|id) + # Random intercepts und slopes über film (zustand|film), # Daten data = tomato) # Output summary(LMM) ``` ] --- # `lmer()` Output <img src="image/lmer_output.png" width="58%" style="display: block; margin: auto;" /> --- class: middle, center <h1><a href="https://therbootcamp.github.io/SmR_2020Mai/_sessions/GemischteModelle/GemischteModelle_practical.html">Practical</a></h1>