Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Strukturgleichungsmodelle in R mit lavaanWorkshop der Giessen R Users Group<br />Stand: 23. Februar 2011<br />Geschäftslei...
Strukturgleichungsmodellierung in R (1)<br />Strukturgleichungsmodellierung in R sind aktuell (Stand Februar 2011) mit dre...
Strukturgleichungsmodellierung in R (2)<br />lavaan(latent variable analysis) von Yves Rosseel- http://lavaan.ugent.be/<br...
Vorteile von lavaan im Überblick<br />Kostenlose Verfügbarkeit<br />Einfache Nutzung<br />Viele Schätzer vorhanden, die in...
Möglichkeiten von lavaan<br />Konfirmatorische Faktorenanalyse (CFA)<br />Funktion cfa()<br />Strukturgleichungsmodellieru...
Syntax am Beispiel der Webseite<br />library(lavaan)model <- '   # latent variable definitions     ind60 =~ x1 + x2 + x3  ...
Syntax - Übersicht<br />In lavaanwird ein Modell als einfaches Set von Regressionsformeln umgesetzt<br />Regressiondmodell...
Syntax – FormulaTypes<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 2ff.<br />
Modellübergabe in R<br />Zwei Optionen<br />Modell kann in R direkt in ein Objekt geschrieben werden, z.B. myModel<br />Mo...
Beispiel Konfirmatorische Faktorenanalyse (CFA)<br />Beispiel von Holzinger & Swineford (1939)<br />Dokumentation in lavaa...
Drei Schritte, um ein Modell in lavaan zu schätzen<br />
Beispiel Konfirmatorische Faktorenanalyse (CFA)<br />Schritt 1: Modellspezifikation mittels Modell-Syntax<br />> # 1. Mode...
Ergebnisse – Schritt 3 – Auswahl (1)<br />Quelle: R Output des Beispielmodells<br />
Ergebnisse – Schritt 3 – Auswahl (2)<br />Quelle: R Output des Beispielmodells<br />
Ergebnisse – Schritt 3 – Auswahl (3)<br />Quelle: R Output des Beispielmodells<br />
Beispiel Strukturgleichungsmodell – sem()<br />Datensatz PoliticalDemocracy in lavaan<br />> ?PoliticalDemocracy<br />lava...
Fixing Parameters<br />Per default wird die erste Faktorladung auf 1 gesetzt.<br />Die anderen drei Faktorladungen werden ...
Orthogonalität zwischen den Faktoren<br />Per Default werden die Kovarianzen / Korrelationen zwischen den latenten Konstru...
Varianzen aller latenter Konstrukte gleichsetzen<br />Sollen die Varianzen aller latenter Konstrukte gleichgesetzt werden ...
Startwerte festlegen<br />Startwerte sind per default auf 1 gesetzt.<br />Diese können geändert werden, indem in Klammern ...
EqualityConstraints<br />Das Gleichsetzen von Parametern (EqualityConstraints) erfolgt durch folgenden Befehl:<br />visual...
Vielen Dank für Eure Aufmerksamkeit!<br />
Eindrücke vom 1. Workshop SEM mit lavaan<br />
Nächste SlideShare
Wird geladen in …5
×

Giessen R Users Group - 1. Workshop SEM mit lavaan

3.838 Aufrufe

Veröffentlicht am

Veröffentlicht in: Bildung, Technologie, Business
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Giessen R Users Group - 1. Workshop SEM mit lavaan

  1. 1. Strukturgleichungsmodelle in R mit lavaanWorkshop der Giessen R Users Group<br />Stand: 23. Februar 2011<br />Geschäftsleitung: Dr. Guido Möser<br />Wissenschaftlicher Beirat: Prof. Dr. Peter Schmidt, Vertretungsprofessor Dr. Gero Schwenk<br />
  2. 2. Strukturgleichungsmodellierung in R (1)<br />Strukturgleichungsmodellierung in R sind aktuell (Stand Februar 2011) mit drei Paketen möglich:<br />sem(StructuralEquation Modeling) von John Fox - http://cran.r-project.org/web/packages/sem/index.html<br />Literatur: Fox, J. (2006). StructuralEquation Modeling Withthesem Package in R. StructuralEquation Modeling, 13, 465 – 486.<br />Paketbeschreibung: http://cran.r-project.org/web/packages/sem/sem.pdf<br />OpenMx(AdvancedStructuralEquationModeling), entwickelt an der Universität Virginia, Department ofPsychology<br />Projektseite: http://openmx.psyc.virginia.edu/<br />Handbuch: http://openmx.psyc.virginia.edu/documentation<br />Paketbeschreibung: http://openmx.psyc.virginia.edu/documentation<br />Hinweis: aktuell noch nicht auf dem CRAN, Installation in R mittels:<br />source('http://openmx.psyc.virginia.edu/getOpenMx.R')<br />Mächtig, aber anspruchsvoll in der Programmierung<br />
  3. 3. Strukturgleichungsmodellierung in R (2)<br />lavaan(latent variable analysis) von Yves Rosseel- http://lavaan.ugent.be/<br />Projektseite: http://lavaan.ugent.be/<br />Paketbeschreibung: http://cran.r-project.org/web/packages/lavaan/lavaan.pdf<br />Handbuch / Dokumentation: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf<br />Vorteile: Syntax eng an R und Mplus® angelehnt<br />Zahlreiche Schätzer vorhanden:<br />ML – maximumlikelihood<br />GLS – generalized least squares<br />WLS – weighted least squares (aka ADF)<br />MLM – maximumlikelihoodestimationwith robust standarderrorsand a Santorra-Bentlerscaledchi-squareteststatistic<br />MLF – maximumlikelihoodestimationwithstandarderrorsbased on first-order-derivatives<br />MLR – maximumlikelihhodestimationwith robust ‚Huber-White‘ standarderrors, and a scaled Yuan-Bentlerstatistic<br />Fehlende Werte (bei MCAR / MAR): FIML-Prozedur vorhanden<br />
  4. 4. Vorteile von lavaan im Überblick<br />Kostenlose Verfügbarkeit<br />Einfache Nutzung<br />Viele Schätzer vorhanden, die in sem() und OpenMx noch nicht zur Verfügung stehen, teilweise in kommerziellen Paketen auch nicht vorhanden sind (MLM, MLF, MLR)<br />Adäquater Umgang mit fehlenden Werten (FIML)<br />Gruppenvergleiche<br />Meanstructures-Option: Zugriff auf Mittelwerte/Intercepts im Modell<br />Ausgabe der üblichen Parameter nach dem Modellfit (Fit Measures / Modification Indices (MI) + Expected Parameter Changes (EPC)<br />Zukünftig sind noch weitere Features geplant (z.B. WLSMV Approach, IRT Modelle, Multilevel etc.) <br />Quelle: http://lavaan.ugent.be/?q=node/6<br />
  5. 5. Möglichkeiten von lavaan<br />Konfirmatorische Faktorenanalyse (CFA)<br />Funktion cfa()<br />Strukturgleichungsmodellierung<br />Funktion sem()<br />Latente Wachstumskurven<br />Funktion growth()<br />Item Response Modelle <br />Aktuell noch nicht entwickelt<br />Latente Klassen und Mixture Modelle<br />Aktuell noch nicht entwickelt<br />Multilevel Modelle<br />Aktuell noch nicht entwickelt<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 2ff.<br />
  6. 6. Syntax am Beispiel der Webseite<br />library(lavaan)model <- '   # latent variable definitions     ind60 =~ x1 + x2 + x3     dem60 =~ y1 + y2 + y3 + y4     dem65 =~ y5 + y6 + y7 + y8   # regressions     dem60 ~ ind60     dem65 ~ ind60 + dem60   # residual covariances     y1 ~~ y5     y2 ~~ y4 + y6     y3 ~~ y7     y4 ~~ y8     y6 ~~ y8'fit <- sem(model, data=PoliticalDemocracy)summary(fit)<br />Quelle: http://lavaan.ugent.be/?q=node/6<br />
  7. 7. Syntax - Übersicht<br />In lavaanwird ein Modell als einfaches Set von Regressionsformeln umgesetzt<br />Regressiondmodelle / Manifeste Variablen / Strukturmodelle<br />y ~ x1 + x2 + f<br />Messmodelle (Latent Variablen)<br />f1 =~ y1 + y2 + y3<br />Varianzen und Kovarianzen<br />y1 ~~ y1<br />y1 ~~y2<br />Intercepts<br />y1 ~ 1<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 2ff.<br />
  8. 8. Syntax – FormulaTypes<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 2ff.<br />
  9. 9. Modellübergabe in R<br />Zwei Optionen<br />Modell kann in R direkt in ein Objekt geschrieben werden, z.B. myModel<br />Modell kann in eine Textdatei geschrieben und mit dem Befehl readLines eingelesen werden<br />Option 2: readLines()<br />> myModel <- readLines("/mydir/myModel.lav")<br />Option 1: Direkt in ein Objekt<br />> myModel <- ' #regressions<br /> y1 + y2 ~ f1 + f2 + x1<br /> # latent variable def‘s<br />f1 =~ y1 + y2 + y3<br /> # variancesandcov‘s<br />y1 ~~ y1<br />y1 ~~ y2 <br /># intercepts<br />y1 ~ 1 '<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 3ff.<br />
  10. 10. Beispiel Konfirmatorische Faktorenanalyse (CFA)<br />Beispiel von Holzinger & Swineford (1939)<br />Dokumentation in lavaan: > ?HolzingerSwineford1939<br />Ability Test Scores von Schülern der 7. und 8. Klasse (Details in Dokumentation)<br />lavaanModell-Syntax (Messmodelle:)<br />visual =~ x1 + x2 + x3<br />textual =~ x4 + x5 + x6<br />speed =~ x7 + x8 + x9<br />Hinweis:<br />Die Kovarianzen zwischen den latenten Konstrukten (visual, textual und speed) müssen nicht explizit freigesetzt werden, dies geschieht per default (äquivalent zu Mplus®)!<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 3ff.<br />
  11. 11. Drei Schritte, um ein Modell in lavaan zu schätzen<br />
  12. 12. Beispiel Konfirmatorische Faktorenanalyse (CFA)<br />Schritt 1: Modellspezifikation mittels Modell-Syntax<br />> # 1. Modellspezifikation<br />> HS.model <- ' visual =~ x1 + x2 + x3<br /> + textual =~ x4 + x5 + x6<br />+ speed =~ x7 + x8 + x9 '<br />Schritt 2: Fit des Modells<br /> > # 2. Fit des Modells<br />> fit <- cfa(HS.model, data=HolzingerSwineford1939)<br />Schritt 3: Ergebnisinspektion<br /> > # 3. Ergebnisinspektion<br />> summary(fit, fit.measures=TRUE, standardized = TRUE)<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 3ff.<br />
  13. 13. Ergebnisse – Schritt 3 – Auswahl (1)<br />Quelle: R Output des Beispielmodells<br />
  14. 14. Ergebnisse – Schritt 3 – Auswahl (2)<br />Quelle: R Output des Beispielmodells<br />
  15. 15. Ergebnisse – Schritt 3 – Auswahl (3)<br />Quelle: R Output des Beispielmodells<br />
  16. 16. Beispiel Strukturgleichungsmodell – sem()<br />Datensatz PoliticalDemocracy in lavaan<br />> ?PoliticalDemocracy<br />lavaan Syntax<br /># latent variable definitions<br />ind60 =~ x1 + x2 + x3<br />dem60 =~ y1 + y2 + y3 + y4<br />dem65 =~ y5 + y6 + y7 + y8<br /># regressions<br />dem60 ~ ind60<br />dem65 ~ ind60 + dem60<br /># residual covariances<br />y1 ~~ y5<br />y2 ~~ y4 + y6<br />y3 ~~ y7<br />y4 ~~ y8<br />y6 ~~ y8<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 3ff.<br />
  17. 17. Fixing Parameters<br />Per default wird die erste Faktorladung auf 1 gesetzt.<br />Die anderen drei Faktorladungen werden frei geschätzt<br />Sollen auch die drei verbleibenden Faktorladungen auf 1 gesetzt werden, so geschieht dies wie folgt:<br />> f =~ y1 + 1*y2 + 1*y3 + 1*y4<br />Faktorladungen können mittels NA freigesetzt werden<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 9ff.<br />
  18. 18. Orthogonalität zwischen den Faktoren<br />Per Default werden die Kovarianzen / Korrelationen zwischen den latenten Konstrukten frei geschätzt. <br />Möchte man Orthogonalität zwischen den Faktoren (überprüfen), so kann dies durch den speziellen Befehl orthogonal=TRUE erreicht werden <br />> fit.HS.ortho <- cfa(HS.model, data = HolzingerSwineford1939, orthogonal = TRUE)<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 9ff.<br />
  19. 19. Varianzen aller latenter Konstrukte gleichsetzen<br />Sollen die Varianzen aller latenter Konstrukte gleichgesetzt werden (in der Grafik alle mit a bezeichnet), so geschieht dies mit dem speziellen Befehl std.lev = TRUE<br />> fit.HS.ortho <- cfa(HS.model, data = HolzingerSwineford1939, std.lv = TRUE)<br />In diesem Fall werden die per default auf 1 fixierten Faktorenladungen frei geschätzt!<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 9ff.<br />
  20. 20. Startwerte festlegen<br />Startwerte sind per default auf 1 gesetzt.<br />Diese können geändert werden, indem in Klammern die Startwerte vor die manifesten Konstrukte gesetzt werden:<br />visual =~ x1 + start(0.8)*x2 + start(1.2)*x3<br />textual =~ x4 + start(0.5)*x5 + start(1.0)*x6<br />speed =~ x7 + start(0.7)*x8 + start(1.8)*x9<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 9ff.<br />
  21. 21. EqualityConstraints<br />Das Gleichsetzen von Parametern (EqualityConstraints) erfolgt durch folgenden Befehl:<br />visual =~ x1 + x2 + equal("visual=~x2")*x3 <br />textual =~ x4 + x5 + x6<br />speed =~ x7 + x8 + x9<br />Hier im Beispiel rechts sind die entsprechenden Parameter mit a gekennzeichnet<br />Quelle: http://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf, Seite 9ff.<br />
  22. 22. Vielen Dank für Eure Aufmerksamkeit!<br />
  23. 23. Eindrücke vom 1. Workshop SEM mit lavaan<br />

×