todo: http://stats.idre.ucla.edu/r/faq/how-can-i-perform-mediation-with-multilevel-data-method-2/

Mediationsanalyse

Erklärung auf Wikipedia.

Youtube Video Conway: [https://www.youtube.com/watch?v=4Yje9AY0S9c]

Regressionsanalytischer Ansatz Pfadanalytischer Ansatz

Mediation erklärt das Zustandekommen der Relation zwischen anderen Variablen (Mechanismus). Erklärt eine existierende Korrelation. Lässt uns eine existierende Korrelation besser verstehen.

Beispiel Extraversion erklärt Hyppiness. Mediator: Unterschiedlichkeit von Lebenserfahrungen (Extravertierte haben u. U. eine größere Variablilität an Erfahrungen). Moderator: Sozioökonomischer Status. Moderatoren Variablen: happy, extra und diverse, alle Skalen von 1 - 5

x -> m -> y Aufteilen auf Einzel-Regressionen y = b_0 + b_1m + e m = b_0 + b_1x + e

path Wenn x und y wegen m korreliert sind und y = b_0 + b_1m + b_2x + e - was passiert mit der prädiktiven Vorhersagekraft von x? - anders gesagt: ist b_2 signifikant?

Wenn b_2 nach Aufnahme von b_1m nicht mehr signifikant ist, wird die Korrelation durch m mediiert. Partielle Mediation: Ein Teil der xy-Korrelation wird durch m mediiert (vorher sig. b_2 verringert sich) full Mediation: die Mediator-Variable erklärt den Zusammenhang völlig (vorher sig. b_2 wird n.s.)

Drei lineare Modelle im Vergleich lm(y~x) - Regressionskoeffizient für x sollte signifikant sein lm(m~x) - Regressionskoeffizient für x sollte signifikant sein lm(y~x+m) - Regressionskoeffizient für m sollte signifikant werden - was passiert mit Regressionskoeffizient für x?

Der Sobel Test prüft, ob die Reduktion der erklärten Varianz durch den Prädiktor, nachdem der Mediator mit aufgenommen wurde, signifikant ist. Er hat nur geringe Power.

Mediation als Pfadanalyse

Tutorial Andrew Conway [https://www.youtube.com/watch?v=4BsWqEmteKs]

Approach path analysis path models: - beobachtete Variablen sind Rechtecke - Kreise unbeobachtete Variablen - Dreiecke: Konstanten - Pfeile sind Verbindungen

Einfaches lineares Modell mit einem Prädiktor als Pfad-Modell. {} Screenshot (direkter Effekt) {} screenshot mit Mediator (indirekter Effekt) {} screenshot labeling pathes {} sobel test

Sobel Test: testet die Nullhypothese, dass der indirekte Effekt (Mediationseffekt) gleich null ist.

im Beispiel gibt es Evidenz für eine Teil-Mediation, nicht aber für eine volle Mediation.

Mediation kann auch über Strukturgleichungsmodelle berechnet werden (SEM structural equation modeling) Eine Serie von Gleichungen. Wie gut reproduziert das Modell die vorliegenden Daten.

Mediation und Moderation in R [https://www.youtube.com/watch?v=zGEHSjH-qAU]

Beispiel Andrew Conway

Originaldaten: [https://github.com/ArtS/Statistics-1/blob/master/STATS1.EX.06.txt]

Video dazu: [https://www.youtube.com/watch?v=PuxYCKf5wKw]

Effekt von Extraversion (extra) auf Zufriedenheit (happy). Moderatorvariable Sozioökonomischer Status (ses) Interaktion von Vorhersage- (ses) und Moderationsvariable (extra): Produkt der beiden (mod)

# get data
ddf <- read.delim("http://md.psych.bio.uni-goettingen.de/mv/data/div/conway_happy_extr.txt")
# variable or column mod is product of extraversion and ses
no.mod.model = lm(happy ~ extra + ses, data=ddf)
summary(no.mod.model)
## 
## Call:
## lm(formula = happy ~ extra + ses, data = ddf)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.2313 -0.2215 -0.1626  0.8178  1.9257 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 3.035e+00  2.725e-01  11.139   <2e-16 ***
## extra       3.924e-02  7.354e-02   0.534    0.594    
## ses         3.664e-16  9.936e-02   0.000    1.000    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9633 on 373 degrees of freedom
## Multiple R-squared:  0.0007628,  Adjusted R-squared:  -0.004595 
## F-statistic: 0.1424 on 2 and 373 DF,  p-value: 0.8673
# contains main effects or first order effects
mod.model = lm(happy ~ extra + ses + mod, data=ddf)
summary(mod.model)
## 
## Call:
## lm(formula = happy ~ extra + ses + mod, data = ddf)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.33880 -0.42882 -0.08476  0.77762  2.05286 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   3.8799     0.3741  10.371  < 2e-16 ***
## extra        -0.1968     0.1027  -1.916  0.05612 .  
## ses          -1.6897     0.5291  -3.194  0.00152 ** 
## mod           0.4720     0.1452   3.250  0.00126 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9512 on 372 degrees of freedom
## Multiple R-squared:  0.02835,    Adjusted R-squared:  0.02052 
## F-statistic: 3.619 on 3 and 372 DF,  p-value: 0.01337
# compare models
anova(no.mod.model, mod.model)
## Analysis of Variance Table
## 
## Model 1: happy ~ extra + ses
## Model 2: happy ~ extra + ses + mod
##   Res.Df    RSS Df Sum of Sq      F   Pr(>F)   
## 1    373 346.15                                
## 2    372 336.59  1    9.5582 10.564 0.001258 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

ses low/high

Voraussetzungen: univariate Normalverteilung auf jedem Level von sozioökonomischem Status describe by Homoskedasticität Increase of model fit increase percentage of explained variance main effect or first order effect F ratio: ratio of systematic variance and unsystematic variance

Wenn man die Stichprobe in Personen mit hohem und Personen mit niedrigem sozioökonomischen Status teil und sich den Zusammenhang zwischen Zufriedenheit und Extraversion ansieht, so kehrt sich dieser Zusammenhang um (positiv bei hohem und negativ bei niedrigem sozioök. Status).

p-Wert bei Modellvergleich ohne und mit Interaktion ist gleich dem p-Wert, den die Interaktionsvariable bekommt im T-Text im Model-Summary. T-Wert^2 davon ist gleich dem F-Wert.

T is a ratio of deviations. F is a ratio of variances

Alternativer Ansatz mit der library(bda) und deren Sobel Test.

# get data
ddf <- read.delim("http://md.psych.bio.uni-goettingen.de/mv/data/div/conway_happy_extr.txt")
# variable or column mod is product of extraversion and ses

# contains main effects or first order effects
mod.model = lm(happy ~ extra + ses + extra:ses, data=ddf)
summary(mod.model)
## 
## Call:
## lm(formula = happy ~ extra + ses + extra:ses, data = ddf)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.33880 -0.42882 -0.08476  0.77762  2.05286 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   3.8799     0.3741  10.371  < 2e-16 ***
## extra        -0.1968     0.1027  -1.916  0.05612 .  
## ses          -1.6897     0.5291  -3.194  0.00152 ** 
## extra:ses     0.4720     0.1452   3.250  0.00126 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9512 on 372 degrees of freedom
## Multiple R-squared:  0.02835,    Adjusted R-squared:  0.02052 
## F-statistic: 3.619 on 3 and 372 DF,  p-value: 0.01337
# use Sobel Test of `library(multilevel)` for testing the model difference
require(bda)
## Loading required package: bda
## Loading required package: boot
## bda v15 (Bin Wang, 2020)
#  mediation.test(mv,iv,dv)
bda::mediation.test(ddf$ses, ddf$extra, ddf$happy)
##                Sobel       Aroian Goodman
## z.value 3.626054e-15 1.073751e-28      NA
## p.value 1.000000e+00 1.000000e+00      NA
detach("package:bda", unload=TRUE)

Alternativer Ansatz mit der library(multilevel) und deren Sobel Test.

# get data
ddf <- read.delim("http://md.psych.bio.uni-goettingen.de/mv/data/div/conway_happy_extr.txt")
# variable or column mod is product of extraversion and ses

# use Sobel Test of `library(multilevel)` for testing the model difference
require(multilevel)
## Loading required package: multilevel
## Loading required package: nlme
## Loading required package: MASS
# sobel(pred,med,out)
multilevel::sobel(ddf$extra, ddf$ses, ddf$happy)
## $`Mod1: Y~X`
##               Estimate Std. Error    t value     Pr(>|t|)
## (Intercept) 3.03505672 0.26753857 11.3443707 7.777998e-26
## pred        0.03924121 0.07343956  0.5343335 5.934283e-01
## 
## $`Mod2: Y~X+M`
##                 Estimate Std. Error      t value     Pr(>|t|)
## (Intercept) 3.035057e+00 0.27246452 1.113927e+01 4.501699e-25
## pred        3.924121e-02 0.07353794 5.336186e-01 5.939233e-01
## med         3.664344e-16 0.09936061 3.687925e-15 1.000000e+00
## 
## $`Mod3: M~X`
##                 Estimate Std. Error      t value     Pr(>|t|)
## (Intercept) 5.000000e-01 0.13941765 3.586346e+00 0.0003798455
## pred        1.398387e-16 0.03827026 3.653979e-15 1.0000000000
## 
## $Indirect.Effect
## [1] 5.124172e-32
## 
## $SE
## [1] 1.974122e-17
## 
## $z.value
## [1] 2.595672e-15
## 
## $N
## [1] 376
detach("package:multilevel", unload=TRUE)

Ein alternativer Ansatz mit der library(mediation).

# get data
ddf <- read.delim("http://md.psych.bio.uni-goettingen.de/mv/data/div/conway_happy_extr.txt")
# variable or column mod is product of extraversion and ses

require(mediation)
## Loading required package: mediation
## Loading required package: Matrix
## Loading required package: mvtnorm
## Loading required package: sandwich
## mediation: Causal Mediation Analysis
## Version: 4.5.0
# mediator explained by predictive var
b <- lm(ses ~ extra, data=ddf)
# response var explained by both
c <- lm(happy ~ extra + ses, data=ddf)

m.res <- mediate(b, c, sims=50, treat="extra", mediator="ses")
summary(m.res)
## 
## Causal Mediation Analysis 
## 
## Quasi-Bayesian Confidence Intervals
## 
##                 Estimate 95% CI Lower 95% CI Upper p-value
## ACME            1.93e-05    -1.01e-02         0.01    0.84
## ADE             4.67e-02    -1.15e-01         0.17    0.64
## Total Effect    4.67e-02    -1.12e-01         0.17    0.64
## Prop. Mediated  1.30e-03    -5.04e-01         1.02    0.84
## 
## Sample Size Used: 376 
## 
## 
## Simulations: 50
detach("package:mediation", unload=TRUE)

Reported categories are mediation effect, direct effect, total effect, and proportion of total effect mediated.