11 Mediationsanalyse
11.1 Folien
11.2 Studie zur heutigen Sitzung
11.3 Code und Ausgaben aus der Vorlesung
Laden der relevanten Pakete
library(lavaan) # StrukturgleichungsmodelleThis is lavaan 0.6-21
lavaan is FREE software! Please report any bugs.
library(report) # Einfaches Erstellen von statistischen Berichten
library(tidyverse) # Datenmanagement und Visualisierung: https://www.tidyverse.org/── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.2.0 ✔ readr 2.1.6
✔ forcats 1.0.1 ✔ stringr 1.6.0
✔ ggplot2 4.0.2 ✔ tibble 3.3.1
✔ lubridate 1.9.4 ✔ tidyr 1.3.2
✔ purrr 1.2.1
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Laden und Aufbereiten der Daten
# from https://osf.io/5mjr4/
d <- readxl::read_excel(here::here("data/Kubin_etal_2025.xlsx")) |>
mutate(
Age = as.numeric(Age),
Gender = factor(Gender, labels = c("male", "female")),
Harm = rowMeans(pick(starts_with("Harm"))), # harmful
Lie = rowMeans(pick(starts_with("Lie"))), # is a lie
Censor = rowMeans(pick(starts_with("Censor"))), # censor her
Condition = factor(Condition, labels = c("Fact", "Experience")) # Treamtment
) |>
filter(DogAtt == 1) # 14 did not pass attention checks leave 397 participantsWarning: There was 1 warning in `mutate()`.
ℹ In argument: `Age = as.numeric(Age)`.
Caused by warning:
! NAs introduced by coercion
Stichprobe
d |>
select(Condition, Age, Gender, Harm, Lie, Censor, Behave) |>
report_sample(by = "Condition")# Descriptive Statistics
Variable | Fact (n=198) | Experience (n=199) | Total (n=397)
-----------------------------------------------------------------------
Mean Age (SD) | 42.66 (13.73) | 43.75 (13.46) | 43.20 (13.59)
Gender [female], % | 48.5 | 47.0 | 47.7
Mean Harm (SD) | 4.84 (1.60) | 4.02 (1.73) | 4.43 (1.71)
Mean Lie (SD) | 4.99 (1.40) | 3.44 (1.47) | 4.22 (1.63)
Mean Censor (SD) | 2.98 (1.72) | 2.27 (1.36) | 2.62 (1.59)
Mean Behave (SD) | 3.22 (1.94) | 2.19 (1.45) | 2.70 (1.79)
Effekt des Treatments auf Censorship
lm(Censor ~ Condition, data = d) |>
report_table(metrics = "R2_adj", include_effectsize = FALSE)Parameter | Coefficient | 95% CI | t(395) | p | Fit
------------------------------------------------------------------------------
(Intercept) | 2.98 | [ 2.76, 3.19] | 26.99 | < .001 |
Condition [Experience] | -0.71 | [-1.02, -0.40] | -4.56 | < .001 |
| | | | |
R2 (adj.) | | | | | 0.05
Effekt des Treatments auf Harmful
lm(Harm ~ Condition, data = d) |>
report_table(metrics = "R2_adj", include_effectsize = FALSE)Parameter | Coefficient | 95% CI | t(395) | p | Fit
------------------------------------------------------------------------------
(Intercept) | 4.84 | [ 4.60, 5.07] | 40.85 | < .001 |
Condition [Experience] | -0.81 | [-1.14, -0.49] | -4.87 | < .001 |
| | | | |
R2 (adj.) | | | | | 0.05
Effekte des Treatments und des Mediators auf Censorship
lm(Censor ~ Condition + Harm, data = d) |>
report_table(metrics = "R2_adj", include_effectsize = FALSE)Parameter | Coefficient | 95% CI | t(394) | p | Fit
------------------------------------------------------------------------------
(Intercept) | 1.47 | [ 1.00, 1.94] | 6.17 | < .001 |
Condition [Experience] | -0.46 | [-0.75, -0.16] | -3.02 | 0.003 |
Harm | 0.31 | [ 0.23, 0.40] | 7.06 | < .001 |
| | | | |
R2 (adj.) | | | | | 0.15
Effekt des Treatments auf Censorship 2
lm(Censor ~ Condition, data = d) |>
report_table(metrics = "R2_adj", include_effectsize = FALSE)Parameter | Coefficient | 95% CI | t(395) | p | Fit
------------------------------------------------------------------------------
(Intercept) | 2.98 | [ 2.76, 3.19] | 26.99 | < .001 |
Condition [Experience] | -0.71 | [-1.02, -0.40] | -4.56 | < .001 |
| | | | |
R2 (adj.) | | | | | 0.05
Effekt des Treatments auf Harmful 2
lm(Harm ~ Condition, data = d) |>
report_table(metrics = "R2_adj", include_effectsize = FALSE)Parameter | Coefficient | 95% CI | t(395) | p | Fit
------------------------------------------------------------------------------
(Intercept) | 4.84 | [ 4.60, 5.07] | 40.85 | < .001 |
Condition [Experience] | -0.81 | [-1.14, -0.49] | -4.87 | < .001 |
| | | | |
R2 (adj.) | | | | | 0.05
Effekt des Treatments auf False
lm(Lie ~ Condition, data = d) |>
report_table(metrics = "R2_adj", include_effectsize = FALSE)Parameter | Coefficient | 95% CI | t(395) | p | Fit
------------------------------------------------------------------------------
(Intercept) | 4.99 | [ 4.79, 5.19] | 48.86 | < .001 |
Condition [Experience] | -1.55 | [-1.83, -1.27] | -10.75 | < .001 |
| | | | |
R2 (adj.) | | | | | 0.22
Effekte des Treatments und der Mediatoren auf Censorship
lm(Censor ~ Condition + Harm + Lie, data = d) |>
report_table(metrics = "R2_adj", include_effectsize = FALSE)Parameter | Coefficient | 95% CI | t(393) | p | Fit
-----------------------------------------------------------------------------
(Intercept) | 0.87 | [ 0.31, 1.44] | 3.05 | 0.002 |
Condition [Experience] | -0.20 | [-0.53, 0.12] | -1.23 | 0.218 |
Harm | 0.21 | [ 0.11, 0.31] | 4.11 | < .001 |
Lie | 0.22 | [ 0.10, 0.33] | 3.61 | < .001 |
| | | | |
R2 (adj.) | | | | | 0.18
Spezifikation des Pfadmodells
modell <- "
# Modelle
# Mediator 1: Harm
Harm ~ a1 * Condition
# Mediator 2: False
Lie ~ a2 * Condition
# aV: Endorsement of Censorship
Censor ~ c_ * Condition + b1 * Harm + b2 * Lie
# Kovarianz zwischen Mediatoren
Harm ~~ Lie
# Effekte
# Indirekte Effekte
indirect_harm := a1 * b1
indirect_lie := a2 * b2
# Direkter Effekt
direct := c_
# Totaler Effekt
total := direct + indirect_harm + indirect_lie
"Nicht standardisierte Koeffizienzen der einzelnen Pfade
sem(modell, data = d) |>
report_table(metrics = FALSE, standardize = FALSE) |>
filter(Component == "Regression") |>
select(-Label, -Component, -Fit)Warning: lavaan->fitmeasures():
Unknown argument 'standardize' for 'fitmeasures'
Parameter | Coefficient | CI | z | p
-------------------------------------------------------------------
Harm ~ Condition | -0.81 | [-1.14, -0.49] | -4.88 | < .001
Lie ~ Condition | -1.55 | [-1.83, -1.27] | -10.77 | < .001
Censor ~ Condition | -0.20 | [-0.52, 0.12] | -1.24 | 0.215
Censor ~ Harm | 0.21 | [ 0.11, 0.31] | 4.13 | < .001
Censor ~ Lie | 0.22 | [ 0.10, 0.33] | 3.62 | < .001
Nicht standardisierte Koeffizienzen der zusammengesetzen Effekte
sem(modell, data = d) |>
report_table(metrics = FALSE, standardize = FALSE) |>
filter(Component == "Defined") |>
select(-Label, -Component, -Fit)Warning: lavaan->fitmeasures():
Unknown argument 'standardize' for 'fitmeasures'
Parameter | Coefficient | CI
-------------------------------------------------------------------------
indirect_harm := a1*b1 | -0.17 | [-0.28, -0.07]
indirect_lie := a2*b2 | -0.33 | [-0.53, -0.14]
direct := c_ | -0.20 | [-0.52, 0.12]
total := direct+indirect_harm+indirect_lie | -0.71 | [-1.02, -0.41]
Parameter | z | p
-----------------------------------------------------------
indirect_harm := a1*b1 | -3.16 | 0.002
indirect_lie := a2*b2 | -3.44 | < .001
direct := c_ | -1.24 | 0.215
total := direct+indirect_harm+indirect_lie | -4.57 | < .001
11.4 Hausaufgabe
1) Reproduzieren Sie das Strukturgleichungsmodel aus der Vorlesung. Interpretieren Sie die Ergebnisse und vergleichen Sie Ihre Interpretation mit Kubin et al. (2025).
- Schreiben Sie kurze Ergebnistexte zur Beantwortung der Fragen bzw. zum Test der Hypothesen:
- Das Argumentieren mit Erfahrung hat im Vergleich mit dem Argumentieren mit Fakten einen negativen Effekt auf Wunsch nach Zensur des Beitrags.
- Wird der Effekt über die Wahrnehmung des Kommentars als schädlich vermittelt?
- Es gibt einen negativen indirekten Effekt des Argumentierens mit Erfahrungen vermittelt über die Wahrnehmung als Lüge auf den Wunsch nach Zensur. Die Argumentation mit Erfahrungen wird weniger als Lüge wahrgenommen und daher auch weniger als zensurbedürftig.
2) Modifizieren Sie die Mediationsanalyse mit einem Strukturgleichungsmodell.
- Ersetzen Sie die abhängige Variable durch das Melden des Tweets (
Behave) aus der Vorlesung. Schätzen Sie das Strukturgleichungsmodell. Interpretieren Sie die Ergebnisse in einigen Sätzen. Vergleichen Sie Ihre Interpretation mit Kubin et al. (2025).
Lösung
- Zu 1) Siehe Code und Ausgaben aus der Vorlesung
- Zu 2) R Skript | HTML mit Output
11.5 Transkript
Das folgende Transkript wurde auf Basis der Aufzeichnung der Vorlesung erstellt. Die vollständigen Aufzeichnungen inklusive der Bildschirminhalte sind in Blackboard🔒 verfügbar. Die Tonspur wurde zuerst mit Hilfe der Werkzeuge des Oral-History.Digital Projekts wörtlich transkribiert. Die wörtliche Transkription wurde in Kombination mit den Vorlesungsfolien mithilfe von Sprachmodellen (v. a. Claude Sonnet 4.5 und GPT 5.2) zu einem übersichtlichen Transkript zusammengefasst. Im Anschluss wurde das Transkript von einer studentischen Hilfskraft überprüft, geglättet und ggf. angepasst. In diesem Prozess kann es an verschiedenen Stellen zu Fehlern kommen. Im Zweifel gilt das gesprochene Wort, und auch beim Vortrag mache ich Fehler.
Ich stelle das Transkript hier als experimentelles, ergänzendes Material zur Dokumentation der Vorlesung zur Verfügung. Noch bin ich mir unsicher, ob es eine sinnvolle Ergänzung ist und behalte mir vor, es weiter zu bearbeiten oder zu löschen.
Mediationsanalyse
Ausgangspunkt und Ziel
In dieser Vorlesung geht es um die Mediationsanalyse: Also um die Frage, über welchen kausalen Zwischenschritt ein Treatment auf ein Outcome wirkt. Die zentrale Idee ist eine Kette aus \(UV\)/Treatment \(\rightarrow\) Mediator \(\rightarrow\) \(AV\)/Outcome, und genau diese Kette soll mit Daten untersucht werden.
Wichtig ist dabei die Abgrenzung zur letzten Sitzung: Damals war ein Mediator etwas, das man gerade nicht kontrollieren sollte, wenn man den direkten Effekt eines Treatments schätzen will. Hier ist dieselbe Struktur nun genau das, was interessiert.
- Mediator: Variable zwischen \(UV\) und \(AV\).
- Indirekter Effekt: Effekt des Treatments auf das Outcome über den Mediator.
- Direkter Effekt: Effekt des Treatments auf das Outcome, nachdem die Mediatoren berücksichtigt wurden.
Kausale Grundlogik
Mediationsanalyse ist immer eine kausale Analyse. Die Daten allein sagen nicht, ob eine Variable Mediator oder Confounder ist; das kommt aus der Theorie und aus Annahmen über die kausale Struktur.
Die Vorlesung betont ausdrücklich, dass man nicht einfach „nur statistisch“ Mediation machen kann. Man braucht ein theoretisches Modell, in dem festgelegt ist, was als Ursache, als Zwischenschritt und als Endpunkt verstanden wird.
- Ohne kausale Annahmen ist ein „Mediator“ nur eine weitere Variable.
- Die kausale Richtung muss theoretisch begründet werden.
- Ein randomisiertes Treatment hilft, reicht aber für die ganze Mediationskette meist nicht aus.
Beispielstudie: Zensur von Tweets
Als Beispiel wird eine Studie von Christian von Sikorsky und Emilie Kubin verwendet. Untersucht wird, ob Menschen politische Zensur für akzeptabel halten und wodurch das beeinflusst wird.
Die Studie ist als Online-Experiment aufgebaut. Personen in den USA wurden zunächst nach ihrer politischen Grundhaltung gefragt, also ob sie eher pro-life oder pro-choice sind. Danach bekamen sie einen Tweet, der der eigenen Position widersprach, und dieser Tweet war entweder mit persönlicher Erfahrung oder mit wissenschaftlichen Fakten begründet.
- Experimentalbedingung 1: Argumentation mit persönlicher Erfahrung.
- Experimentalbedingung 2: Argumentation mit wissenschaftlichen Fakten.
- Zielvariable: Zustimmung dazu, dass der Tweet zensiert werden sollte.
Theoretisches Modell
Die Autorinnen nehmen an, dass die Art der Argumentation den Tweet anders wirken lässt. Ein Tweet mit persönlicher Erfahrung wird eher als weniger gefährlich und weniger falsch wahrgenommen. Genau darüber soll dann auch die Zustimmung zur Zensur beeinflusst werden.
Damit ergeben sich zwei mögliche Mediationspfade: über die wahrgenommene Gefährlichkeit und über die Wahrnehmung als Lüge/Falschheit. Beide indirekten Wege sollen am Ende den Effekt des Treatments auf die Zensur erklären.
- Pfad 1: persönliche Erfahrung \(\rightarrow\) weniger gefährlich \(\rightarrow\) weniger Zensur.
- Pfad 2: persönliche Erfahrung \(\rightarrow\) weniger falsch \(\rightarrow\) weniger Zensur.
- Erwartung: Insgesamt negativer indirekter Effekt auf Zensurbefürwortung.
Variablen und Messung
Die Personen wurden nach dem Tweet zu mehreren Einschätzungen befragt. Für den ersten Mediator wurde erhoben, wie gefährlich der Tweet erscheint; für den zweiten Mediator, ob der Tweet als Lüge wahrgenommen wird. Das Outcome ist die Endorsement of Censorship, also die Zustimmung zur Zensur.
Deskriptiv zeigt sich schon in der Stichprobe: Tweets mit Fakten werden im Mittel eher als gefährlich und eher als Lüge eingeschätzt als Tweets mit persönlicher Erfahrung. Entsprechend ist die Zensurbefürwortung in der Faktenbedingung höher als in der Erfahrungsbedingung.
- Mediator 1: Harmfulness / Gefährlichkeit.
- Mediator 2: Lie / Falschheit.
- Outcome: Zustimmung zur Zensur.
Einfaches Mediationsmodell
Zuerst wird der einfachere Fall mit nur einem Mediator betrachtet, nämlich der wahrgenommenen Gefährlichkeit. Die Logik ist: Das Treatment beeinflusst Harmfulness, und Harmfulness beeinflusst wiederum die Zensur.
Die Regressionsanalyse zeigt drei Schritte: Erstens den Total-Effekt des Treatments auf Zensur, zweitens den Effekt des Treatments auf den Mediator, drittens den Effekt des Mediators auf das Outcome unter Kontrolle des Treatments. Der direkte Effekt wird kleiner, wenn der Mediator im Modell ist, weil ein Teil des Treatment-Effekts über den Mediator läuft.
- \(C\): Total-Effekt des Treatments auf das Outcome.
- \(A\): Effekt des Treatments auf den Mediator.
- \(B\): Effekt des Mediators auf das Outcome.
- \(C'\): Direkter Effekt nach Berücksichtigung des Mediators.
Indirekter Effekt im einfachen Modell
Der indirekte Effekt ergibt sich als Produkt von \(A\) und \(B\). In der Vorlesung wird gezeigt, dass der Effekt von persönlicher Erfahrung auf Harmfulness negativ ist und der Effekt von Harmfulness auf Zensur positiv. Zusammengenommen ergibt das einen negativen indirekten Effekt.
Interpretativ heißt das: Personen, die einen Tweet mit persönlicher Erfahrung lesen, halten ihn für weniger gefährlich, und deshalb befürworten sie weniger stark, dass er zensiert wird. Ein Teil des ursprünglichen Treatment-Effekts wird also durch den Mediator erklärt.
- Weniger Gefährlichkeit \(\rightarrow\) weniger Zensur.
- Persönliche Erfahrung senkt die Gefährlichkeitseinschätzung.
- Daraus folgt ein negativer indirekter Effekt.
Vollständiges Modell mit zwei Mediatoren
Danach wird das Modell erweitert und der zweite Mediator, die Wahrnehmung als Lüge, kommt hinzu. Dann gibt es zwei indirekte Pfade: über Harmfulness und über Lie.
Auch hier bleibt die Grundlogik gleich. Die persönliche Erfahrung führt dazu, dass der Tweet seltener als gefährlich und seltener als Lüge wahrgenommen wird. Beide Wahrnehmungen senken wiederum die Bereitschaft zur Zensur.
- Zwei Mediatoren, zwei indirekte Effekte.
- Beide Pfade erklären einen Teil des Total-Effekts.
- Der direkte Effekt \(C'\) wird dadurch weiter kleiner.
Strukturgleichungsmodell
Um die indirekten Effekte direkt zu testen, wird ein Strukturgleichungsmodell verwendet, abgekürzt SEM. Ein SEM verbindet mehrere Regressionsgleichungen in einem einzigen Modell und erlaubt es, auch abgeleitete Größen wie indirekte Effekte direkt zu schätzen.
Die Vorlesung betont, dass das technisch an Regressionsmodellen anknüpft, aber flexibler ist. Man kann mehrere Gleichungen gleichzeitig schätzen und zusätzlich definieren, dass etwa der indirekte Effekt das Produkt zweier Pfade ist.
- SEM = Structural Equation Model.
- Mehrere Gleichungen in einem Modell.
- Indirekte Effekte können direkt definiert und getestet werden.
Pfade im SEM
Im vollständigen Modell werden die Pfade explizit benannt. Das Treatment wirkt auf beide Mediatoren, die Mediatoren wirken auf das Outcome, und zusätzlich bleibt ein direkter Treatment-Effekt auf das Outcome bestehen.
Außerdem werden die beiden Mediatoren als miteinander korrelierend zugelassen, weil sie nicht unabhängig sein müssen. Das Modell enthält damit nicht nur die kausalen Pfade, sondern auch die Möglichkeit, dass Harmfulness und Lie zusammenhängen.
- \(A_1\): Treatment \(\rightarrow\) Harmfulness.
- \(A_2\): Treatment \(\rightarrow\) Lie.
- \(B_1\): Harmfulness \(\rightarrow\) Zensur.
- \(B_2\): Lie \(\rightarrow\) Zensur.
- \(C'\): direkter Effekt des Treatments auf Zensur.
Ergebnisse des vollständigen Modells
Im vollständigen Modell bleiben die inhaltlichen Befunde stabil: Persönliche Erfahrung senkt die Wahrnehmung als gefährlich und als Lüge, und beides erhöht die Zustimmung zur Zensur, wenn die Werte höher sind.
Die beiden indirekten Effekte sind statistisch signifikant. Der Gesamt-Effekt lässt sich als Summe aus direktem Effekt und beiden indirekten Effekten verstehen. Genau dadurch wird sichtbar, wie der ursprüngliche Effekt aufgeteilt werden kann.
- Indirekter Effekt über Harmfulness: signifikant.
- Indirekter Effekt über Lie: signifikant.
- Total-Effekt = direkter Effekt + beide indirekten Effekte.
Kausale Identifikation
Der wichtigste methodische Punkt ist: Nicht jeder geschätzte indirekte Effekt ist automatisch kausal abgesichert. Das Treatment ist randomisiert, daher ist der \(A\)-Pfad gut identifiziert. Die Mediatoren selbst sind aber keine randomisierten Variablen, sondern gemessene Einschätzungen nach dem Treatment.
Deshalb braucht man zusätzlich Theorie und starke Annahmen, um die \(B\)-Pfade kausal zu interpretieren. Die Statistik kann prüfen, ob ein geschätzter indirekter Effekt von Null verschieden ist, aber sie kann nicht selbst garantieren, dass die komplette kausale Struktur stimmt.
- Randomisiert ist nur das Treatment.
- Mediatoren sind Self-Reports nach dem Treatment.
- Kausale Interpretation der \(B\)-Pfade beruht auf theoretischen Annahmen.
Fazit der Vorlesung
Die Kernbotschaft lautet: Mediationsanalyse sieht einfach aus, ist aber schwer. Rechnerisch ist es leicht, Koeffizienten zu multiplizieren und ein SEM zu schätzen. In der inhaltlichen Interpretation liegt aber die eigentliche Schwierigkeit, weil man für echte kausale Aussagen starke Annahmen braucht.
Besonders kritisch ist das bei Querschnittsdaten oder Studien, in denen die Mediatoren nicht sauber theoretisch und designseitig abgesichert sind. Ein statistisch signifikanter indirekter Effekt ist deshalb noch kein Beweis für ein richtiges kausales Modell, sondern nur ein Befund unter der Annahme, dass das Modell stimmt.
- Statistik ersetzt keine kausale Identifikation.
- Theorie ist für Mediation zentral.
- Signifikanz beweist keine Kausalität.
