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.466 Aufrufe

Veröffentlicht am

Veröffentlicht in: Bildung, Technologie, Business
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

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

Keine Downloads
Aufrufe
Aufrufe insgesamt
3.466
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
105
Aktionen
Geteilt
0
Downloads
7
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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 />

×