Grüß dich! Vielen Dank für das ausgesprochen hilfreiche Video. Ich habe eine Frage. In meinem Datensatz habe ich als UV keine metrische sondern drei kategorische Variablen (Kontrollgruppe, Gruppe 1, Gruppe 2) die ich jeweils dummy-kodiert habe. Wie führe ich nun die Mediation durch? Muss ich drei separate Mediationen durchführen oder kann ich alle drei UVs gleichzeitig in die lm-Funktion aufnehmen? Wenn ich alle drei UVs aufnehme, werden mir in allen summaries nur Gruppe 1 und 2 angezeigt, da die Kontrollgruppe als Referenz verwendet wird. Wie interpretiere ich dann die Ergebnisse bei Pfad a? Beide koeffizienten sind p < 0.05 und liegen bei b = -0.45 und b = -0,47. Ich kann ja jetzt schlecht sagen wenn Gruppe 1 um eine einheit steigt, dann fällt der mediator um 0.45 Einheiten. Bei Pfad b ist der Mediator p < 0.05 und b = 0.94. Bei Pfad c ist nur Gruppe 2 p < 0.05 und die Koeffizienten sind beide knapp über 0. Bei der Mediate Funktion ist nur ACME p < 0.05 und bei Prop. Mediated wird mir als Estimate ein Wert von 3.324 angezeigt (?) und der p wert ist 0.6. Tut mir leid für die lange Frage aber ich hoffe Du kannst mir trotzdem antworten. Viel Dank!
Hallo, zunächst braucht man eine dummycodierte UV. Bei 3 Ausprägungen, werden nur 2 ins Modell aufgenommen, da man aus 2 Dummies per Linearkombination den 3. immer erschließen kann. Der ausgelassene Dummy ist die Referenzkategorie. Die Koeffizienten beziehen sich also immer auf den Vergleich zur Referenzkategorie. Bei b = -0.45 ist die AV der Gruppe 1 um 0,45 niedriger, verglichen mit der Referenzkategorie (Kontrollgruppe). Analog für Gruppe 2 ist die AV 0,47 niedriger im Vergleich zur KG. Der Vergleich zwischen Gruppe 1 und 2 ist nur durch herauslassen einer der beiden Gruppen und erneutes Rechnen möglich. Für die Mediationsinterpretation muss mediate() 2 mal, jeweils mit der dummycodierten Variable gerechnet werden. In meinem Beispiel habe ich aus ses als kategorial aus hsb2 angesehen und dummycodiert in low, middle und high. ses_d
@@StatistikamPC_BjoernWalther Super, vielen Dank für die ausführliche Antwort. Aber was bedeutet es jetzt, wenn Prop. Mediated bei beiden Gruppen nicht signifikant und einmal 3,3 und 46 beträgt? Das würde ja bedeuten da 330% des totalen Effekts durch die Mediation erklärt wird :/
Vielen Dank für das hilfreiche Video! :) Mich würde noch interessieren, wie ich in R speziell die Voraussetzungen für die Mediation prüfe. Werden die einzelnen Pfade (Pfad_a und Pfad_b_c) dann separat auf die Voraussetzungen einer linearen Regression geprüft? Danke schon mal im Voraus!
Hallo, danke für dein Lob! Ja, jedes Teilmodell (a sowie b_c) wird als separates Modell gerechnet und auch als solches hinsichtlich der Voraussetzungen geprüft. Viele Grüße, Björn.
Hi Björn, vielen Dank für das super Video. Kann man eine Mediation auch rechnen, wenn die unabhängige Variable nominalskaliert ist? Bei der Prüfung der Voraussetzung der Linearität zeigt sich ein eigenartiges Streudiagramm (Punkte ganz oben und ganz unten), daher bin ich etwas verunsichert. Ich habe jetzt einfach mal Pfad a +bc gerechnet und beide Ergebnisse werden nicht signifikant. So wie du im Video gesagt hast, bricht man in diesem Fall die Mediation ab, richtig? Hast du einen Vorschlag wie man von hier weitermachen könnte im Sinne der Hypothesenprüfung oder verwirft man entsprechend alle Hypothesen?
Wieder ein so super tolles Video! Vielen lieben Dank! Ich habe eine Frage: Wie gehe ich vor, wenn ich hier eine Variable (in meinem Fall Geschlecht) als Kontrollvariable berücksichtigen möchte? Liebe Grüße, Michelle :)
Hallo Michelle, danke für dein Lob! Die Kontrollvariablen, z.B. "read" fügst du 1) einfach per + in das Modell zu Pfad a an 2) zusätzlich per + in das Modell zu Pfad b und c 3) schließlich noch in der mediate()-Funktion mit covariates=c("read") und fährst dann wie gezeigt fort. Bei 3) kannst du per Komma getrennt noch mehr Covariates eingeben, die müssen dann aber auch in 1) und 2) entsprechend angefügt sein. Viele Grüße, Björn.
Hallo Björn, ich habe dank deines Videos meine Mediation rechnen können - danke dir :) Ich habe lediglich einen Punkt deiner Erklärung nicht verstanden. Ab Minute 05:50 sprichst du von dem ACME der einen Wert von 0.1909 hat. Zur Visualisierung hast du das an die Pfade geschrieben. Aber vorher bekommt du die 0.62*** und 0.31***? Ich verstehe nicht woher diese Werte stammen - woher weißt du wie sich die 0.1909 aufteilen auf die beiden Pfade? Liebe Grüße Sarah
Hallo Sarah, die 0,6247 kommt vom direkten Effekt von math auf write (X auf M aus Modell M) und die 0,3055 von write auf science (M auf Y aus Modell B C). Deren Produkt ist 0,1908 und stellt den ACME dar. Viele Grüße, Björn.
Kann man die Mediation auch nach mehreren Ebenen durchführen, d.h. z.B. einmal nach einzelnen Schülern und dann aufgeteilt nach Schulklassen. Ist das mit dem "mediation"-Package möglich, wenn eine Gruppierungsvariabale vorliegt?
Hallo Björn, tolles Video. Ich habe nur leider das Problem, dass sich das Paket "Mediation" nicht laden lässt. Ich bekomme diese Fehlermeldung: Error: package or namespace load failed for ‘mediation’ in loadNamespace(j
Ich habe glaube ich dasselbe, oder ein ähnliches Problem. Wenn ich versuche das Paket "Mediation" zu installieren, kommt das: installiere auch Abhängigkeiten ‘fs’, ‘sass’, ‘rlang’, ‘checkmate’, ‘htmlwidgets’, ‘bslib’, ‘fontawesome’, ‘xfun’, ‘data.table’, ‘htmlTable’, ‘htmltools’, ‘rmarkdown’, ‘mvtnorm’, ‘lpSolve’, ‘Hmisc’ Es gibt Binärversionen, jedoch sind die Quelltexte neuer: binary source needs_compilation fs 1.6.2 1.6.3 TRUE sass 0.4.6 0.4.8 TRUE rlang 1.1.1 1.1.2 TRUE checkmate 2.2.0 2.3.1 TRUE htmlwidgets 1.6.2 1.6.4 FALSE bslib 0.4.2 0.6.1 FALSE fontawesome 0.5.1 0.5.2 FALSE xfun 0.39 0.41 TRUE data.table 1.14.8 1.14.10 TRUE htmlTable 2.4.1 2.4.2 FALSE htmltools 0.5.5 0.5.7 TRUE rmarkdown 2.21 2.25 FALSE mvtnorm 1.1-3 1.2-4 TRUE lpSolve 5.6.18 5.6.20 TRUE Hmisc 5.1-0 5.1-1 TRUE Möchten Sie versuchen, die Pakete, welche eine Kompilierung erfordern, aus den Quelltexten zu installieren? (Yes/no/abbrechen). Wenn ich dann "Yes" eingebe, folgen zahlreiche Fehlermeldungen. Vielleicht kann Björn ja helfen.
Was mache ich denn wenn ein Pfad nicht normalverteilt ist und der andere Pfad schon? Kann ich das dann trotzdem weiterhin berechnen, weil bootstrapping aktiviert ist und dadurch ja eine robuste Methodik verwendet wurde oder muss ich jeden Pfad auch nochmal per bootstrapping behandeln? LG und danke
WIe verhält es sich, wenn innerhalb eines Datensatzes unterschiedliche Anzahl von fehlenden Werten mithilfe der Mediation Analysiert werden soll? Wie geht man damit um?
Hallo, danke! force() dient lediglich dazu sich die ersten paar Zeilen anzusehen, um den erfolgreichen Import zu prüfen. Ist nicht notwendig, hatte ich aber nach dem Import gemacht. Viele Grüße, Björn.
Ich hätte eine Bitte, bezüglich dessen, wie du die zukünftige Entwicklung einschätzt: Denkst du, dass auch in der Zukunft R noch Verwendung finden wird? Ich frage, da auch Python vermehrt in der Datenanalyse und in der Wissenschaft Anwendung findet und mit Python zusätzlich noch andere Anwendungsgebiete erschlossen werden können abseits der Statistik. Ich verwende R. Aber irgendwie möchte ich gerne noch mehr lernen und kann mich nicht zwischen Python und Javascript entscheiden.
Das schöne an Prognosen ist ja, dass sie unsicher sind. ;-) Ehrlich gesagt, kann ich das schwer abschätzen. R wird genauso wenig wie Python auf mittlere Sicht NICHT an Relevanz verlieren. Gerade im akademischen Bereich ist R sehr beliebt und speziell in Deutschland wird zunehmend auf R (weg von SPSS) umgestellt. Von SPSS zu Python habe ich bisher eher wenige Umstellungen wahrgenommen. Zum Erstellen von Grafiken ist R meiner Meinung nach das beste Tool - allerdings bedarf es etwas Einarbeitungszeit für wirklich aufwändige Grafiken. Mit extrem großen Datenmengen kommt man mit R zudem schneller ans Ziel. Python ist in meiner Wahrnehmung insgesamt aber universeller einsetzbar. Wenn du vor der Wahl zwischen python und JS stehst, würde ich zu Python tendieren, v.a. wegen der übersichtlicheren Syntax.
Vielen Dank, ich erhalte ständig diese Fehlermeldung hier: Fehler in mediate(pfad_a, pfad_b_c, treat = "X", mediator = "Y", : number of observations do not match between mediator and outcome models. Was kann man da machen, ich habe in meinen Varibalen eine unterschiedliche Anzahl von fehlenden Werten. Das sollte doch aber eigentlich kein Problem sein?
@@StatistikamPC_BjoernWalther Wow, vielen Dank für die schnelle Antwort. Ich habe noch eine weitere Frage: Kann man die Mediation auch nach mehreren Ebenen durchführen, d.h. z.B. einmal nach einzelnen Schülern und dann aufgeteilt nach Schulklassen. Ist das mit dem "mediation"-Package möglich, wenn eine Gruppierungsvariabale vorliegt?
Hallo Björn, wie teste ich die Residuen eines Mediatormodells auf Normalverteilung? Kann ich dann einfach davon ausgehen, dass ich eine multiple lineare Regression teste oder wird damit das Mediatormodell nicht abgedeckt?
Hallo, du musst für jedes gerechnete Teilmodell die Prüfung durchführen, also einmal für das Modell wo M die AV ist und einmal wo Y die AV ist. Viele Grüße, Björn.
Hey, ich habe eine Frage. Wenn Pfad b nicht signifikant ist aber Pfad c signifikant ist kann ich den Rest abbrechen und sagen es gibt keine Mediation und nur den direkten Effekt richtig?
Hallo Paul, es hat zumindest den Anschein. Laut Zaho, Lynch (2010) kann es auf einen anderen existierenden Mediator hindeuten und das theoretische Framework sollte hinterfragt werden. Viele Grüße, Björn.
📘Mein Buch "Statistik mit R - Schnelleinstieg": amzn.to/3OzeLJI [Affiliatelink]
Vielen, vielen Dank für dieses super Video! Es hat mir sehr geholfen!
Freut mich, wenn es dir geholfen hat!
Viele Grüße, Björn.
Grüß dich! Vielen Dank für das ausgesprochen hilfreiche Video.
Ich habe eine Frage. In meinem Datensatz habe ich als UV keine metrische sondern drei kategorische Variablen (Kontrollgruppe, Gruppe 1, Gruppe 2) die ich jeweils dummy-kodiert habe. Wie führe ich nun die Mediation durch? Muss ich drei separate Mediationen durchführen oder kann ich alle drei UVs gleichzeitig in die lm-Funktion aufnehmen?
Wenn ich alle drei UVs aufnehme, werden mir in allen summaries nur Gruppe 1 und 2 angezeigt, da die Kontrollgruppe als Referenz verwendet wird. Wie interpretiere ich dann die Ergebnisse bei Pfad a? Beide koeffizienten sind p < 0.05 und liegen bei b = -0.45 und b = -0,47. Ich kann ja jetzt schlecht sagen wenn Gruppe 1 um eine einheit steigt, dann fällt der mediator um 0.45 Einheiten.
Bei Pfad b ist der Mediator p < 0.05 und b = 0.94. Bei Pfad c ist nur Gruppe 2 p < 0.05 und die Koeffizienten sind beide knapp über 0.
Bei der Mediate Funktion ist nur ACME p < 0.05 und bei Prop. Mediated wird mir als Estimate ein Wert von 3.324 angezeigt (?) und der p wert ist 0.6.
Tut mir leid für die lange Frage aber ich hoffe Du kannst mir trotzdem antworten. Viel Dank!
Habe ein ähnliches Problem - Meine UV ist dichotom. Mich würde also die Antwort auch sehr interessieren! :)
Hallo, zunächst braucht man eine dummycodierte UV. Bei 3 Ausprägungen, werden nur 2 ins Modell aufgenommen, da man aus 2 Dummies per Linearkombination den 3. immer erschließen kann. Der ausgelassene Dummy ist die Referenzkategorie. Die Koeffizienten beziehen sich also immer auf den Vergleich zur Referenzkategorie. Bei b = -0.45 ist die AV der Gruppe 1 um 0,45 niedriger, verglichen mit der Referenzkategorie (Kontrollgruppe). Analog für Gruppe 2 ist die AV 0,47 niedriger im Vergleich zur KG. Der Vergleich zwischen Gruppe 1 und 2 ist nur durch herauslassen einer der beiden Gruppen und erneutes Rechnen möglich.
Für die Mediationsinterpretation muss mediate() 2 mal, jeweils mit der dummycodierten Variable gerechnet werden. In meinem Beispiel habe ich aus ses als kategorial aus hsb2 angesehen und dummycodiert in low, middle und high.
ses_d
@@StatistikamPC_BjoernWalther Super, vielen Dank für die ausführliche Antwort. Aber was bedeutet es jetzt, wenn Prop. Mediated bei beiden Gruppen nicht signifikant und einmal 3,3 und 46 beträgt? Das würde ja bedeuten da 330% des totalen Effekts durch die Mediation erklärt wird :/
Vielen Dank für das hilfreiche Video! :)
Mich würde noch interessieren, wie ich in R speziell die Voraussetzungen für die Mediation prüfe. Werden die einzelnen Pfade (Pfad_a und Pfad_b_c) dann separat auf die Voraussetzungen einer linearen Regression geprüft?
Danke schon mal im Voraus!
Hallo, danke für dein Lob!
Ja, jedes Teilmodell (a sowie b_c) wird als separates Modell gerechnet und auch als solches hinsichtlich der Voraussetzungen geprüft.
Viele Grüße, Björn.
Hi Björn, vielen Dank für das super Video. Kann man eine Mediation auch rechnen, wenn die unabhängige Variable nominalskaliert ist? Bei der Prüfung der Voraussetzung der Linearität zeigt sich ein eigenartiges Streudiagramm (Punkte ganz oben und ganz unten), daher bin ich etwas verunsichert. Ich habe jetzt einfach mal Pfad a +bc gerechnet und beide Ergebnisse werden nicht signifikant. So wie du im Video gesagt hast, bricht man in diesem Fall die Mediation ab, richtig? Hast du einen Vorschlag wie man von hier weitermachen könnte im Sinne der Hypothesenprüfung oder verwirft man entsprechend alle Hypothesen?
Wieder ein so super tolles Video! Vielen lieben Dank! Ich habe eine Frage: Wie gehe ich vor, wenn ich hier eine Variable (in meinem Fall Geschlecht) als Kontrollvariable berücksichtigen möchte? Liebe Grüße, Michelle :)
Hallo Michelle, danke für dein Lob!
Die Kontrollvariablen, z.B. "read" fügst du
1) einfach per + in das Modell zu Pfad a an
2) zusätzlich per + in das Modell zu Pfad b und c
3) schließlich noch in der mediate()-Funktion mit covariates=c("read")
und fährst dann wie gezeigt fort.
Bei 3) kannst du per Komma getrennt noch mehr Covariates eingeben, die müssen dann aber auch in 1) und 2) entsprechend angefügt sein.
Viele Grüße, Björn.
Hallo Björn,
ich habe dank deines Videos meine Mediation rechnen können - danke dir :) Ich habe lediglich einen Punkt deiner Erklärung nicht verstanden. Ab Minute 05:50 sprichst du von dem ACME der einen Wert von 0.1909 hat. Zur Visualisierung hast du das an die Pfade geschrieben. Aber vorher bekommt du die 0.62*** und 0.31***? Ich verstehe nicht woher diese Werte stammen - woher weißt du wie sich die 0.1909 aufteilen auf die beiden Pfade?
Liebe Grüße
Sarah
Hallo Sarah, die 0,6247 kommt vom direkten Effekt von math auf write (X auf M aus Modell M) und die 0,3055 von write auf science (M auf Y aus Modell B C). Deren Produkt ist 0,1908 und stellt den ACME dar.
Viele Grüße, Björn.
Kann man die Mediation auch nach mehreren Ebenen durchführen, d.h. z.B. einmal nach einzelnen Schülern und dann aufgeteilt nach Schulklassen. Ist das mit dem "mediation"-Package möglich, wenn eine Gruppierungsvariabale vorliegt?
Hallo, ich habe das noch nicht ausprobiert, laut Manual (Kapitel 4) funktioniert es auch mit multilevel data.
Viele Grüße, Björn
Hallo Björn, tolles Video. Ich habe nur leider das Problem, dass sich das Paket "Mediation" nicht laden lässt. Ich bekomme diese Fehlermeldung: Error: package or namespace load failed for ‘mediation’ in loadNamespace(j
Ich habe glaube ich dasselbe, oder ein ähnliches Problem. Wenn ich versuche das Paket "Mediation" zu installieren, kommt das:
installiere auch Abhängigkeiten ‘fs’, ‘sass’, ‘rlang’, ‘checkmate’, ‘htmlwidgets’, ‘bslib’, ‘fontawesome’, ‘xfun’, ‘data.table’, ‘htmlTable’, ‘htmltools’, ‘rmarkdown’, ‘mvtnorm’, ‘lpSolve’, ‘Hmisc’
Es gibt Binärversionen, jedoch sind die Quelltexte neuer:
binary source needs_compilation
fs 1.6.2 1.6.3 TRUE
sass 0.4.6 0.4.8 TRUE
rlang 1.1.1 1.1.2 TRUE
checkmate 2.2.0 2.3.1 TRUE
htmlwidgets 1.6.2 1.6.4 FALSE
bslib 0.4.2 0.6.1 FALSE
fontawesome 0.5.1 0.5.2 FALSE
xfun 0.39 0.41 TRUE
data.table 1.14.8 1.14.10 TRUE
htmlTable 2.4.1 2.4.2 FALSE
htmltools 0.5.5 0.5.7 TRUE
rmarkdown 2.21 2.25 FALSE
mvtnorm 1.1-3 1.2-4 TRUE
lpSolve 5.6.18 5.6.20 TRUE
Hmisc 5.1-0 5.1-1 TRUE
Möchten Sie versuchen, die Pakete, welche eine Kompilierung erfordern, aus den Quelltexten zu installieren? (Yes/no/abbrechen).
Wenn ich dann "Yes" eingebe, folgen zahlreiche Fehlermeldungen. Vielleicht kann Björn ja helfen.
Was mache ich denn wenn ein Pfad nicht normalverteilt ist und der andere Pfad schon? Kann ich das dann trotzdem weiterhin berechnen, weil bootstrapping aktiviert ist und dadurch ja eine robuste Methodik verwendet wurde oder muss ich jeden Pfad auch nochmal per bootstrapping behandeln?
LG und danke
WIe verhält es sich, wenn innerhalb eines Datensatzes unterschiedliche Anzahl von fehlenden Werten mithilfe der Mediation Analysiert werden soll?
Wie geht man damit um?
Cooles Video!
Könntest du bitte kurz sagen, warum du die force()funktion nutzt? Danke!
Hallo, danke! force() dient lediglich dazu sich die ersten paar Zeilen anzusehen, um den erfolgreichen Import zu prüfen. Ist nicht notwendig, hatte ich aber nach dem Import gemacht.
Viele Grüße, Björn.
@@StatistikamPC_BjoernWalther Danke für die schnelle Antwort!
Ich hätte eine Bitte, bezüglich dessen, wie du die zukünftige Entwicklung einschätzt: Denkst du, dass auch in der Zukunft R noch Verwendung finden wird? Ich frage, da auch Python vermehrt in der Datenanalyse und in der Wissenschaft Anwendung findet und mit Python zusätzlich noch andere Anwendungsgebiete erschlossen werden können abseits der Statistik.
Ich verwende R. Aber irgendwie möchte ich gerne noch mehr lernen und kann mich nicht zwischen Python und Javascript entscheiden.
Das schöne an Prognosen ist ja, dass sie unsicher sind. ;-)
Ehrlich gesagt, kann ich das schwer abschätzen. R wird genauso wenig wie Python auf mittlere Sicht NICHT an Relevanz verlieren. Gerade im akademischen Bereich ist R sehr beliebt und speziell in Deutschland wird zunehmend auf R (weg von SPSS) umgestellt. Von SPSS zu Python habe ich bisher eher wenige Umstellungen wahrgenommen.
Zum Erstellen von Grafiken ist R meiner Meinung nach das beste Tool - allerdings bedarf es etwas Einarbeitungszeit für wirklich aufwändige Grafiken. Mit extrem großen Datenmengen kommt man mit R zudem schneller ans Ziel. Python ist in meiner Wahrnehmung insgesamt aber universeller einsetzbar.
Wenn du vor der Wahl zwischen python und JS stehst, würde ich zu Python tendieren, v.a. wegen der übersichtlicheren Syntax.
Vielen Dank, ich erhalte ständig diese Fehlermeldung hier: Fehler in mediate(pfad_a, pfad_b_c, treat = "X", mediator = "Y", : number of observations do not match between mediator and outcome models. Was kann man da machen, ich habe in meinen Varibalen eine unterschiedliche Anzahl von fehlenden Werten. Das sollte doch aber eigentlich kein Problem sein?
Hallo, da musst du manuell listenweise fehlende Fälle löschen: ruclips.net/video/SXg-8DAB6gc/видео.html
Viele Grüße, Björn.
@@StatistikamPC_BjoernWalther Wow, vielen Dank für die schnelle Antwort. Ich habe noch eine weitere Frage: Kann man die Mediation auch nach mehreren Ebenen durchführen, d.h. z.B. einmal nach einzelnen Schülern und dann aufgeteilt nach Schulklassen. Ist das mit dem "mediation"-Package möglich, wenn eine Gruppierungsvariabale vorliegt?
Hallo Björn, wie teste ich die Residuen eines Mediatormodells auf Normalverteilung? Kann ich dann einfach davon ausgehen, dass ich eine multiple lineare Regression teste oder wird damit das Mediatormodell nicht abgedeckt?
Hallo, du musst für jedes gerechnete Teilmodell die Prüfung durchführen, also einmal für das Modell wo M die AV ist und einmal wo Y die AV ist.
Viele Grüße, Björn.
Hey, ich habe eine Frage. Wenn Pfad b nicht signifikant ist aber Pfad c signifikant ist kann ich den Rest abbrechen und sagen es gibt keine Mediation und nur den direkten Effekt richtig?
Hallo Paul, es hat zumindest den Anschein. Laut Zaho, Lynch (2010) kann es auf einen anderen existierenden Mediator hindeuten und das theoretische Framework sollte hinterfragt werden.
Viele Grüße, Björn.